English Русский 中文 Español Deutsch 日本語 Português 한국어 Français Italiano
preview
Uzman Danışmanların Neden Başarısız Olduğunun Bir Analizi

Uzman Danışmanların Neden Başarısız Olduğunun Bir Analizi

MetaTrader 5Uzman Danışmanlar | 28 Temmuz 2022, 09:55
335 0
Richard Poster
Richard Poster

Giriş

Uzman Danışmanlar aylar, hatta birkaç yıl boyunca iyi performans gösterebilir, ancak her zaman performansın kötüleştiği dönemler vardır. Uzman Danışmanlar, nadiren on yıl gibi uzun bir süre boyunca istikrarlı kârlılık gösterir. Bir Uzman Danışmanın geçmişte kötü performans gösterdiği dönemleri varsa, gelecekte her zaman iyi performans göstereceği beklenebilir mi?

Analizde şu iki soru ortaya çıkıyor: Uzman Danışmanın kötü performans sergilediği bu zaman dilimlerinde, onun çalışmasını bu kadar etkileyen hangi değişiklikler meydana geliyor? Bir Uzman Danışmanın ne zaman kötü performans göstereceğini ve ne zaman iyi performans göstereceğini tahmin edebilecek bir teknik gösterge var mı? Böyle bir gösterge en değerli gösterge olurdu!


Moving Average çaprazlaması stratejisi

Analizimizde, Moving Average çaprazlaması stratejisini on altı yıl boyunca 15 dakikalık döviz çifti verileriyle test edeceğiz. Moving Average çaprazlamasına dayalı olarak: hızlı Simple Moving Average (SMA) yavaş SMA'yı yukarıya doğru çaprazladığında alış, aşağıya doğru çaprazladığındaysa satış sinyali oluşur. Moving Average çaprazlaması stratejisi, analizimiz için iyi bir test aracı olarak hizmet edecektir. Bu strateji için anahtar girdi parametreleri, hızlı ve yavaş SMA periyotlarıdır. Testlerde hızlı SMA periyodu 1’den 4’e, yavaş SMA periyodu ise 10’dan 150'ye kadar olacaktır ve her iki SMA için de bu değerler her bir test sırasında sabit olacaktır.

Şekil 1, Ocak 2006'dan Aralık 2021'e kadar EURUSD döviz çifti için SMA çaprazlaması stratejisinin getiri davranışını göstermektedir. Optimize edilmiş 2 (hızlı) ve 80 (yavaş) SMA periyot parametreleriyle Uzman Danışman, bazı dönemlerde pozitif getiriler ve bazı dönemlerde de negatif getiriler göstermiştir. 1/2008 – 6/2013 dönemi istikrarlı bir kârlılığa sahiptir. Şekil 2 ise, optimize edilmiş 1 (hızlı) ve 80 (yavaş) SMA periyotlarıyla aynı zaman dönemi için GBPUSD döviz çifti üzerinde SMA çaprazlaması stratejisinin getiri davranışını göstermektedir. GBPUSD grafiği, yalnızca kısa süreli olarak pozitif getiri performansı göstermiştir.

EURUSD için SMA çaprazlaması getirisi (0.1 lot)

Şekil 1.  EURUSD için SMA çaprazlaması getirisi (0.1 lot)


     

GBPUSD için SMA çaprazlaması getirisi (0.1 lot)

Şekil 2. GBPUSD için SMA çaprazlaması getirisi (0.1 lot)

Şekil 1 ve 2'de gösterilen davranışlar göz önüne alındığında, teknik göstergelerin davranışlarıyla Moving Average çaprazlaması stratejisi davranışı arasında herhangi bir ilişki olup olmadığını belirlemek adına yaygın teknik göstergelerin davranışlarını inceleyebiliriz. 


Yaygın teknik göstergelerin davranışları

Birkaç standart teknik göstergeyi inceleyebilir ve pozitif ve negatif getiri dönemlerinde farklı davranıp davranmadıklarını görebiliriz. Şekil 3, EURUSD için on altı yıllık süre boyuncaki aylık Average True Range (ATR) göstergesini göstermektedir. ATR göstergesi, bir döviz çiftinin volatilitesini ölçer. Belirli dönemlerde belirli yönlerde davranışlar sergilemiştir, ancak Şekil 1'deki kârlı dönem davranışıyla örtüşen hiçbir dönem göstermemiştir. İlginç bir şekilde, Şekil 3, 2008'in sonundaki ve yine 2020'nin başlarındaki ekonomik kriz dönemlerinde aşırı volatilite göstermiştir. Bundan, çaprazlama tetiklemesi mantığı için mutlak fiyat eşiklerinin kullanılmasının uygun olmadığı, yumuşatılmış ATR’ın kullanılması gerektiği sonucuna varabiliriz. Yaygın olarak kullanılan bir diğer teknik gösterge Bollinger Bands göstergesidir. Bu gösterge hem volatiliteden hem de trend gücünden etkilenir. Şaşırtıcı bir şekilde, göstergenin Şekil 4'te gösterilen aylık zaman dilimindeki uzun vadeli davranışı, ATR göstergesinin sonuçlarıyla neredeyse tamamen örtüşmektedir. ATR göstergesi gibi Şekil 1'deki EURUSD verilerindeki pozitif ve negatif getiri dönemlerine karşılık gelen bir davranışı yoktur. GBPUSD verileri için de benzer sonuçlar elde edilmiştir. Uzun vadeli volatilite, Şekil 1 ve 2'de görülen davranışı açıklamamaktadır.


EURUSD ATR, Aylık ortalama

Şekil 3. EURUSD ATR, Aylık ortalama

EURUSD Bollinger Bands, Aylık ortalama

Şekil 4. EURUSD Bollinger Bands, Aylık ortalama


Bir gösterge olarak Otokorelasyon Fonksiyonu

ATR ve Bollinger Bands göstergelerinden farklı olarak, Otokorelasyon Fonksiyonu (AutoCorrelation Function, ACF) volatiliteye bağlı değildir. ACF, zaman serilerinin verilerindeki kalıpları bulmak için kullanışlı bir araçtır. ACF, bir zaman serisindeki öğelerin, belirli bir gecikmeye uğramış aynı zaman serisinin öğeleriyle korelasyonunu ölçer. Verilerde bir eğilim mevcut olduğunda, küçük gecikmeler için ACF pozitif değerlere sahip olacaktır. Analizimizde, zaman serisindeki Yi öğesi, i’ninci çubuğun (kapanış fiyatı - açılış fiyatı) olarak tanımlanır.

Yi, i=1...N olmak üzere, N elemanlı bir zaman serisi için ACF şu şekilde tanımlanır:

ACF denklemi

Bir dizi fiyat verisi için otokorelasyon fonksiyonu, bir dizi çubuktan çubuğa fiyat değişim verisinin otokorelasyonundan çok farklıdır. Örneğin, {1,2,3..14} dizisi için ACF 0,786'dır. Bu dizinin ardışık öğeleri arasındaki bir dizi fark için, ACF sıfıra yakın olacaktır (sıfıra bölmeyi önlemek için değerlerde biraz gürültü olduğu varsayılarak).

Aşağıdaki kod ACF hesaplamasını göstermektedir:

 double GetAtCorrVal(double &ClsOpn[],int CorrPer, int LagPer,int joff ) {
   double corr;
   double AIn[],BIn[];
   double XMean,XNum,XDen;
   int jj;
   ArrayResize(AIn,CorrPer);
   ArrayResize(BIn,CorrPer);
   XMean = 0.;
   XNum = 0.;
   XDen = 0.;
   corr = 0.;
   if(CorrPer<2)
    {
     Print("No AutoCorr Processing Allowed ");
     return(corr);
    }
   // mean
   for(jj=0;jj<CorrPer;jj++)
    {
     XMean +=ClsOpn[jj+joff];
    }
   XMean = XMean/CorrPer;
  // variances
   for(jj=0;jj<CorrPer;jj++)
    {
     if(jj<(CorrPer-LagPer))
       XNum  += (ClsOpn[jj+joff]-XMean)*(ClsOpn[jj+LagPer+joff]-XMean);
     XDen += (ClsOpn[jj+joff]-XMean)*(ClsOpn[jj+joff]-XMean);
    }  
    if(XDen==0.)
     {
      corr = 0.;
     }
    else
    corr = XNum/XDen;
   return(corr);
  }
//----------------------------------------------------------------

  

Şekil 5, altı aylık yumuşatma periyoduyla EURUSD verileri için on altı yıllık süre boyuncaki ACF'in aylık ortalamasını göstermektedir. Şekil 1, 2008 ile 2012'nin sonu arasında kârlı bir performans göstermektedir, Şekil 5 de ayrıca bu zaman bölgesinde yükselen ACF değeri göstermektedir, bu, Moving Average çaprazlaması stratejisinin kâr performansı ile ACF değeri arasında olası bir ilişkiyi ortaya koymaktadır.


EURUSD ACF, Aylık ortalama

Şekil 5. EURUSD ACF, Aylık ortalama


GBUUSD verileri için konuşacak olursak, Şekil 2’deki kâr performansıyla, Şekil 6'daki ACF hareketi arasında zayıf bir ilişki olduğu söylenebilir.

GBPUSD AFC, Aylık ortalama


Şekil 6. GBPUSD AFC, Aylık ortalama

Otokorelasyon fonksiyonu bir gösterge (AutoCorr.mq5) olarak da kullanılabilir, ancak Şekil 7'de görüldüğü gibi, iyi bir trend tanımlama göstergesi değildir.


ACF göstergesi, Gecikme=1

Şekil 7. ACF göstergesi, Gecikme=1

ACF davranışı ve SMA çaprazlaması stratejisi

SMA çaprazlama noktasından hemen önceki ACF'in (Çaprazlama ACF) ve çaprazlama noktasından hemen sonraki, yani işlem açıkken ki, ACF'in (İşlem ACF) zaman boyuncaki davranışına bakılarak ek bilgi elde edilebilir. Bu iki ACF türü, İşlem ACF ve Çaprazlama ACF, farklı özelliklere sahiptir. Şekil 8 ve 9, EURUSD ve GBPUSD verileri için İşlem ACF'i göstermektedir. Strateji Sınayıcı kullanılarak, ACF değeri, kârla kapanan işlemler ve zararla kapanan işlemler için ayrı ayrı çizilebilir. Aşağıdaki her iki grafikten ACF'in zaman boyuncaki kârla kapanan ve zararla kapanan işlemleri arasındaki uzaklığı inceleyebiliriz. Şekil 1'deki (EURUSD) kârlı dönem (1/2008-6/2013), Şekil 8'deki, ACF uzaklığının fazla olduğu dönemle kabaca örtüşür. 1/2018 tarihinden itibaren, kârla kapanan ve zararla kapanan işlemler için ACF değerleri arasında çok az uzaklık vardır. Şekil 1'de bu, getirilerde düz bir döneme karşılık gelmektedir.


EURUSD’de SMA çaprazlaması stratejisi için İşlem AFC

Şekil 8.  EURUSD’de SMA çaprazlaması stratejisi için İşlem AFC


GBPUSD’de SMA çaprazlaması stratejisi için İşlem AFC

Şekil 9. GBPUSD’de SMA çaprazlaması stratejisi için İşlem AFC

Şekil 10 ve 11, EURUSD ve GBPUSD verileri için Çaprazlama ACF'i göstermektedir. Bu iki grafiğin amacı, SMA çaprazlaması stratejisinin kârlılığını artırmak adına Çaprazlama ACF değerinin bir Uzman Danışmanda filtre olarak kullanılıp kullanılamayacağını araştırmaktır. İşlem ACF verileriyle karşılaştırıldığında, Çaprazlama ACF verileri, pozitif ve negatif getiriler arasında daha az uzaklık göstermiştir. Bu, filtre olarak kullanımındaki değerini zayıflatır. Bununla birlikte, ACF değeri zaman içerisinde büyük ölçüde değişmemiştir, bu da sabit bir ACF eşiğinin filtre olarak kullanılabileceğini gösterir. Kâr/zarar eğrileri büyük ölçüde birbirleri arasında zıplamaktadır, bu da zaman boyuncaki ticarette kârlı olmayan bölgeler var olduğu anlamına gelir.


EURUSD’de SMA çaprazlaması stratejisi için Çaprazlama AFC

Şekil 10.  EURUSD’de SMA çaprazlaması stratejisi için Çaprazlama AFC


GBPUSD’de SMA çaprazlaması stratejisi için Çaprazlama AFC

Şekil 11. GBPUSD’de SMA çaprazlaması stratejisi için Çaprazlama AFC


SMA çaprazlaması stratejisi için ACF filtresi

Pozitif ve negatif getirisi olan işlemler arasındaki küçük ACF farklılıklarına rağmen (Şekil 10 ve 11), SMA çaprazlamalarına bir otokorelasyon eşiği gereksinimi eklenirse, kâr performansının kötü olduğu bölgelerde Uzman Danışmanın getiri performansı önemli ölçüde iyileşecektir. Şekil 12 ve 13, EURUSD ve GBPUSD verileri için ek bir ACF filtresiyle Uzman Danışmanın kârlılığını göstermektedir. 16 yıllık sürenin tamamı gösterilmektedir. Şekil 1 ve 2 ile şekil 12 ve 13 karşılaştırıldığında, hem EURUSD hem de GBPUSD verileri için getiri performansı, bir otokorelasyon eşiği gereksinimi uygulandığında büyük ölçüde iyileşmiştir.


EURUSD için ACF filtreli SMA çaprazlaması stratejisi

Şekil 12. EURUSD için ACF filtreli SMA çaprazlaması stratejisi

GBPUSD için ACF filtreli SMA çaprazlaması stratejisi

Şekil 13. GBPUSD için ACF filtreli SMA çaprazlaması stratejisi


Şekil 14, Strateji Sınayıcıdan alınan performans sonuçlarının tablosunu göstermektedir. Hem EURUSD hem de GBPUSD verilerinde önemli bir iyileşme görülmektedir. Her iki durumda da, ACF filtresi etkinleştirildiğinde toplam kâr yaklaşık %50 artmıştır ve işlem başına kâr da (PO) büyük ölçüde yükselmiştir.

Sinyal türü

İşlem sayısı

Kâr $

(0.1 lot)

Kâr/Zarar (PF)

Kâr/İşlem (PO)

EURUSD için SMA çaprazlaması stratejisi

3160

5830

1.10

1.85

EURUSD için SMA çaprazlaması stratejisi + ACF

1548

8511

1.33

5.50

GBPUSD için SMA çaprazlaması stratejisi

3672

5352

1.07

4

GBPUSD için SMA çaprazlaması stratejisi + ACF

3096

8317

1.13

2.69

Şekil 14. EURUSD ve GBPUSD verileriyle ilgili test sonuçları tablosu


ACF'in SMA’nın yavaş periyoduyla ilişkisi

Ortalama otokorelasyon fonksiyonunun, kârla kapanan ve zararla kapanan işlemler açısından SMA’nın yavaş periyoduyla ilişkisini incelemek de gerçekten ilginç olabilir. Bu, Şekil 15'te EURUSD M15 verileri için gösterilmektedir. İşlem açılış stratejisinin bir parçası olarak korelasyon eşiği kullanılmamıştır. ACF değerine bakılmaksızın, SMA çaprazlaması stratejisi için SMA’nın optimal yavaş periyodu 80 olarak belirlendi. Şekil 15, kârla kapanan ve zararla kapanan işlemlerin ortalama ACF değerinin arasındaki en büyük uzaklığın, SMA’nın 65 ile 80 arasındaki yavaş periyotlarında gerçekleştiğini göstermektedir. Ek olarak, işlemin açılış anında hesaplanan ACF değerine dayalı olarak da SMA’nın en uygun yavaş periyodunu araştırabilirsiniz. 


EURUSD için ortalama ACF ve SMA’nın yavaş periyodu karşılaştırması

Şekil 15. EURUSD için ortalama ACF ve SMA’nın yavaş periyodu karşılaştırması

Sonuç

Otokorelasyon fonksiyonu, Uzman Danışmanın performansını artıran değerli bir göstergedir. Performansın kötü olduğu bölgeleri filtreleyerek stratejinin performansını iyileştirir.

Genel olarak, otokorelasyon fonksiyonu da dahil olmak üzere korelasyon katsayıları, ticaret performansının iyileştirilmesi söz konusu olduğunda oldukça ilginç bir araştırma alanını temsil eder. Volatilitenin etkilerine karşı bağışıktırlar ve trend oluşumu ve terse dönüş dahil olmak üzere fiyat modellerine de hassastırlar.



MetaQuotes Ltd tarafından İngilizceden çevrilmiştir.
Orijinal makale: https://www.mql5.com/en/articles/3299

Ekli dosyalar |
AutoCorr.mq5 (4.12 KB)
CCI göstergesine dayalı bir ticaret sistemi nasıl geliştirilir? CCI göstergesine dayalı bir ticaret sistemi nasıl geliştirilir?
Ticaret sistemlerinin nasıl tasarlanacağını öğrenmeye yönelik makale serimizin bu yeni makalesinde, Commodities Channel Index’i (CCI) sunacak, özelliklerini açıklayacak ve bu göstergeye dayalı bir ticaret sisteminin nasıl oluşturulacağını sizlerle paylaşacağım.
RSI göstergesine dayalı bir ticaret sistemi nasıl geliştirilir? RSI göstergesine dayalı bir ticaret sistemi nasıl geliştirilir?
Bu makalede, ticaret dünyasının en popüler göstergelerden biri olan RSI'ı sizlerle paylaşacağım. Bu göstergeyi kullanarak bir ticaret sisteminin nasıl tasarlayacağını öğreneceğiz.
Bir grafikte birden fazla gösterge (Bölüm 06): MetaTrader 5'i bir RAD sistemine dönüştürme (II) Bir grafikte birden fazla gösterge (Bölüm 06): MetaTrader 5'i bir RAD sistemine dönüştürme (II)
Bir önceki makalemde size MetaTrader 5 nesnelerini kullanarak bir ticaret arayüzünün nasıl oluşturulacağını ve böylelikle platformun bir RAD sistemine nasıl dönüştürüleceğini göstermiştim. Sistem çok iyi çalışıyor, şüphesiz birçok okuyucu önerilen sistemde daha fazla işlevselliğe sahip olmak için bir kütüphane oluşturmayı düşünmüştür. Böylece, daha hoş ve kullanımı daha kolay bir arayüze sahip daha sezgisel bir Uzman Danışman geliştirmek mümkün olacaktır.
Bir grafikte birden fazla gösterge (Bölüm 05): MetaTrader 5'i bir RAD sistemine dönüştürme (I) Bir grafikte birden fazla gösterge (Bölüm 05): MetaTrader 5'i bir RAD sistemine dönüştürme (I)
Programlamayı bilmeyen ama oldukça yaratıcı ve harika fikirleri olan birçok insan vardır. Ancak, programlama bilgisinin eksikliği, bu fikirleri hayata geçirmelerini engellemektedir. Bu makalede, MetaTrader 5 platformunun kendisini bir IDE gibi kullanarak bir ticaret arayüzünün nasıl oluşturulacağını birlikte inceleyeceğiz.