Datakapital’in Backtest yaklaşımındaki temel hedef alım-satım kararlarında kullanılan indikatörler, rasyolar, sentiment analiz ve haberler gibi verilerin tamamını standardize ederek birbiriyle mukayese edilebilir hale getirmektir. Elde edilen çıktılar getiri ve stres olmak üzere iki ana başlık altında toplanmıştır.
Metodoloji ve Varsayımlar;
- Her işlemde test bakiyesinin tamamının alınıp satıldığı varsayılmıştır yani, getiriler ve kayıplar birleşiktir. 10.000 T.L başlangıç bakiyesi ile yapılan bir işlemin ardından pozisyon karla kapanıp bakiye 10.500 T.L olduysa bir sonraki işlem 10.500 T.L ile yapılmıştır.
- Stop loss veya take profit seçim menüsünde aksi belirtilmedikçe yoktur, pozisyon kapatma için karşı sinyal beklenir.
- Açığa satışlar ya da kredili satışlar yoktur. Tüm pozisyonlar al-sat şeklindedir.
- 60 Dk’lık verilerle yapılan testlerde, 2 yıllık.
- 1 Günlük verilerle yapılan testlerde, 5 yıllık.
- 1 Haftalık verilerle yapılan testlerde, 5 yıllık bir zaman periyodu için test yapılmıştır.
- İstenen zaman periyodları için yeterince ve sağlıklı veri elde edilemeyen enstrümanlarda, test edilebilir periyod yukarıda bahsi geçen periyodlara göre regresyonla genellenmiştir. Örneğin 60 Dk’lık veriler için sadece 1,5 yıllık veri elde edilebildiyse, buradan çıkan sonuçlar sanki 2 yıl boyunca benzer stokastik süreçle test edilmiş gibi genellenmiştir.
- Sonuçların homojenize edilmesi ve standartlaştırılması, hangi datanın karar sürecinde daha verimli olduğunu anlamak için kritiktir. Bu yüzden mukayeseli analize odaklanılmıştır.
Çıktılar ve Temel Kavramlar
Getiri Veri Grubu
- Getiri% : Kullanılan göstergenin test edilen zaman periyodu için kümülatif ve bileşik getirisidir. Örn: 60 Dk’lık verilerle yapılan testler için 2 yıllık kümülatif ve bileşik getiri bu başlıkta yayınlanırken, diğer zaman periyodları için 5 yıllık kümülatif ve bileşik getiri yayınlanmaktadır. Değerler yüzde cinsindendir.
- Yıllık Ortalama%: Bileşik getirinin yıllara göre düzeltilerek yıllık basit getiriye dönüştürülmüş halidir Getiri% değeri üzerinden aşağıdaki formülle hesaplanır:
- Tam Getiri%: Bütün sinyal yaklaşımları test edilen zaman periyodu boyunca alım-satım yapmaz. Çoğu belli aralıklarla piyasa girerler ve çıkarlar. Böylece test edilen zaman periyodu ile toplam trading süresi arasında bir fark oluşur. Örneğin 2 yıl boyunca, 60Dk’lık bir zaman dilimi için toplamda 4400 civarı bar/veri test edilirken bunun sadece 2000’inde pozisyonda olunabilir. Bu durumda 2000 bar boyunca, pozisyonda olunan sürede elde edilen getirinin 4400 bar boyunca elde edilmesi durumunda ne gelir elde edileceğinin bilinmesi gerekir. Çünkü bütün gösterge ve sinyal biçimleri farklı sürelerde pozisyonda kalacaktır. Bunların tüm zaman periyoduna göre düzeltilmesi hem getirilerin mukayeseli olarak ölçülebilmesini sağlar hem de gerçek getiriyi miktarını ortaya çıkarır.Bir teknik gösterge ile 30 gün %x para kazandığımızı varsayalım, bu gösterge diğer 30 gün boyunca hiç sinyal üretmiyorsa bile 60 günde kazandığınız para %x değildir. Çünkü göstergenin sinyal üretmediği diğer 30 gün boyunca beklemek zorunda değiliz. Bu yüzden doğru ölçüm 30 güne elde edilen getiriyi bileşik olarak 60 güne uyarlamaktır. Bu aynı zamanda hisse senetleri için referans getiri değeri olan, hiçbir işlem yapılmadığı durumda (yani vade başında enstrümanı alıp sadece tutarak) elde edilen gelirle de mukayese imkanı sağlar.Tam Getiri aşağıdaki formüle göre hesaplanır:a= Test süresince yapılan toplam İşlem miktarıb= İşlemde olunan süre
c= Toplam süre
n =c/(b/a)
Hesaplamadaki mantıksal sıralama şu şekildedir;
- Toplam bileşik getiri ve işlem yapılan toplam süre üzerinden tek bir işlemin basit getirisi hesaplanır.
- Bütün veri kümesi üzerinden (hesaplanan hissenin değil) ortalama işlem süresi hesaplanır
- Ortalama işlem süresi üzerinden tüm test periyodu için işlemde olunması durumunda kaç işlem yapılacağı hesaplanır.
- Birinci maddedeki basit getirinin üçüncü madde de elde edilen toplam işlem miktarı ile bileşik getirisi hesaplanır.
Araştırmacılar için not : Birleşik getiri zaman üzerinden hesaplanamaz, işlem miktarı üzerinden hesaplanmalıdır.
- Al-tut% : Hiçbir teknik gösterge ya da parametreye göre işlem yapılmaması durumunda ilgili dönemdeki toplam sürede ne gelir elde edeceğimizi gösterir. Analiz edilen zaman periyodunun başlangıcında alım, bitişinde satış yapılmıştır.
- Net Performans% : Sinyal aracının gerçekten işe yarayıp yaramadığını ölçebilmek için ilgili dönemde elde edilen getiri ile yine aynı dönemde hiç işlem yapılmadan hissenin elde tutulması neticesinde elde edilen getirinin göreli olarak kıyaslanması gerekir. Bu mukayese zaman periyodlarının standartlaştırılması için tam getiri% değeri üzerinden hesaplanmıştır. Çünkü kullanılan sinyal aracı sürekli işlemde olmasa bile hissenin işlem yapmadan elde tutulması tüm süre boyunca pozisyonda olmak anlamına gelir. Böylece önce sinyal aracının tüm dönemde pozisyonda olması durumunda elde edileceği getiri hesaplanmalı ve bu değer formüle alınmalıdır. (bknz : tamgetiri%)
Net performans aşağıdaki formülle hesaplanır:
Net Performans%= [(1+Tam Getiri%) / (1+Al-Tut%)]-1
- Endekse Göre Getiri%: Tam getiri üzerinden elde edilen gelirin aynı dönemde endekse göre getirisini hesaplar. Aşağıdaki formüle göre hesaplanmaktadır. Hisseler Bist-30 hisseleri olduğu için hesaplamada Bist-30 endeksi kullanılmıştır. Aşağıdaki formüle göre hesaplanır.
Endekse Göre Getiri%= [(1+Tam Getiri%) / (1+Bist30)]-1
- Toplam Kar%: Sadece karla sonuçlanmış işlemlerden elde edilen kazançların kümülatif toplamıdır.
- Toplam Zarar%: Sadece zararla sonuçlanmış işlemlerden elde edilen zararların kümülatif toplamıdır.
Stres Veri Grubu
- İşlemsiz Süre% : Test edilen zaman periyodunun, yüzde cinsinden ne kadarlık bir bölümünde pozisyonda olunmadığını gösterir. Örneğin, ilgili veri için 2 yıllık bir periyod test edilmişse ve %50 gibi bir işlemsiz süre değeri görünüyorsa toplamda 1 yıllık bir süre işlem yapılmamıştır.
- Kar Faktörü : Backtestlerde çıktı verimliliğini ölçmek için en çok kullanılan göstergedir. Kar faktörü trading ya da backtest süreci boyunca elde edilen toplam karların, toplam zararlara bölünmesi ile hesaplanır.
- Kar% : Ortalama kar toplam karların, toplam karlı işlem sayısına bölünmesiyle elde edilen rakamdır. Karlı işlemlerde, işlem başına ne kadar kar edildiğini gösterir.
- Zarar% : Ortalama zarar toplam zararların, toplam zararlı işlem sayısına bölünmesiyle elde edilen rakamdır. Zararlı işlemlerde, işlem başına ne kadar zarar edildiğini gösterir.
- Karlı İşlemler : Adet bazında kaç işlemin karla kapandığını gösteren veridir.
- Zararlı İşlemler : Adet bazında kaç işlemin zararla kapandığını gösteren veridir.
- En Uzun Pozisyon : Test edilen süre boyunca taşınan pozisyonlar arasında en uzun süre taşınan pozisyonun, ilgili veri tipi için bar cinsinden değeridir. Örneğin 60Dk’lık periyodda test yapılmışsa 250 değeri, 250 bara yani 250 saate eşit olacaktır. (Hisse senetleri için 8 bar, 1 güne tekabül eder). Aynı 250 değeri 1Günlük periyodlarda test edilmişse 250 güne işaret eder (5 gün bir haftaya tekabül eder.)
- En Kısa Pozisyon : Test edilen süre boyunca taşınan pozisyonlar arasında en kısa süre taşınan pozisyonun, ilgili veri tipi için bar cinsinden değeridir. Örneğin 60Dk’lık periyodda test yapılmışsa 250 değeri, 250 bara yani 250 saate eşit olacaktır. (Hisse senetleri için 8 bar, 1 güne tekabül eder). Aynı 250 değeri 1Günlük periyodlarda test edilmişse 250 güne işaret eder (5 gün bir haftaya tekabül eder.)