Basit Sistemler & Basit İyileştirmeler
Sıkça konuşulan ve/veya kullanılan ve/veya veri platformlarınca hazır sunulan bazı sistemlerden bunların olumlu/olumsuz yanlarından ve varsa performans iyileştirme olanaklarından bahsedelim. Bir sistemi değerlendirirken her ne kadar öncelikle, karlı işlem sayısı/zararlı işlem sayısı, getiri, tek işlemde en büyük zarar(kar) gibi kriterlere/sonuçlara bakmak gerekirse de bu performans kriterlerinin iyi veya kötü çıkmasının arkasındaki iki sistem özelliğine ad koymak gerekir.
1) Zararlı işlemi erken kesme yeteneği yani sistemin fiyatı takip yeteneği
2) Karı sürdürme yani sistemin trendi takip yeteneği.
Zararlı işlemi erken kesme yeteneğinin yüksek olması, sistemin fiyatı takip yeteneğine bağlıdır ve çokça kullanılan basit sistemlerde zararı erken kesmenin yolu genelde artan işlem sayısı ve artan zararlı işlem sayısı olarak ortaya çıkar. Karı sürdürme yani trend takip yeteneği ise azalan işlem sayısı olarak ortaya çıkar ve hatta bunu gerektirir. Yani bu iki olumlu özellik, biribirine zıt olan iyiştirme koşullarına bağlıdır. Demek ki bir "ortayol" bulma sorunu vardır. Çokca kullanılan "Karı sürdür, zararı erken kes" sloganı ise içi objektif ve kesin bir disiplinle doldurulmadığı sürece sadece bir laftır. Öyle ya, siz alır almaz fiyat yükselmeye, siz satar satmaz da düşmeye başlamadığı sürece oluşan durumun "zararı kesmek gereken" durum olup olmadığı nerden bilinebilir? Karı sürdürüyor olmak büyük ölçüde sisteminize bağlıdır.
Zararı kesmek ise, daha çok "stop-loss" disiplinine bağlıdır. Her sistem hatalı sinyal üretebilir. Kar üreten ve taşınmakta olan pozisyonlar genelde yatırımcının kafasını çok fazla meşgul etmez ve durumun üreteceği tek sorun, karı maksimize etmek için sistem al veya sat vermeden önce (pozisyon almadan önce) pozisyonları kapama (flat) olanağını araştırmaktır. Ancak zarara geçmiş pozisyonlar için "stop-loss" disiplinini tarif etmek (formüle etmek ve uygulayabilmek) öncelikli sorundur çünkü para kaybetmekten daha büyük bir sorun yoktur. Kimi yatırımcı, bundan daha büyük sorunun, stop-loss çalıştırıldıktan sonra fiyatın tekrar aksi yöne (zararına kapatılan pozisyonun, kapatılmasaydı kar edeceği yöne) hareket etmesi olduğunu iddia edebilir ancak bu görüş bizce doğru değildir. Her pozisyon ayrı bir oyun olarak değerlendirilmeli ve daha önemlisi bu değerlendirmeyi savunacak psikolojiye sahip olunmalıdır.
Al ve SAT sinyalinden bağımsız olarak stop-loss ve izleyen stop-loss kullanıldığında ise, önümüze çıkacak bir diğer çözülmesi gereken problem ise, yeniden pozisyon almanın tarifini yapıyor olmaktır (Örnek; Al sinyali ile 50000 fiyattan alış yaptınız. S/L'niz %2 olarak kullanıyorsunuz. Sisteminiz sat vermediği halde 49000 kırıldı ve pozisyonunuzu zararına kapattınız. Sonra fiyat yukarı döndü ve gidiyor. Ne yapılmalı?). Diğer yandan, AL ile AÇIK POZİSYONI KAPA ve SAT ile AÇIĞA SAT sinyallerini farklılaştırmak da yukarıda anlatılanlara paralel bir çeşit risk yönetimi silahı olarak kullanılabilir. SAT'ın AL'ı, AÇIK POZİSYON KAPAT'ın ise AÇIĞA SAT'ı kapattığını hatırlayalım. Analistlerin sıkça yaptığı hata ise, başka analistlerce "stop-loss" veya "izleyen stop-loss" olarak tasarlanmış formülasyonları sistem olarak kullanmaktır.
-------------------------------------------------------------------
1) Basit Hareketli Ortalama Sistemi
AL : Cross(Mov(c,5,s),Mov(c,20,s))
SAT : Cross(Mov(c,20,s),Mov(c,5,s))
Bu sistem düşük periyottaki basit hareketli ortalamanın yüksek periyottakini yukarı kesmesi ile al veren, tersi durumda da sat veren bir sistemdir. Ortalamaların periyodu büyüdükçe fiyatı takip kabiliyeti azalır, trend tutar ancak uzun süreli yatay piyasalarda, fiyatı geç takip etme kusurundan dolayı ciddi zararlar yazabilir. SL, izleyen SL'si ayrıca tanımlı değildir, filtresi yoktur. Yatay piyasadaki handikaplarını azaltmak için indikatörler kullanılarak bir ek koşul - yarı filtre eklenebilir. Örneğin al koşulu sadece 5'lik HO'nun 20'liği yukarı kesmesine bakmasın, aynı anda RSI(6)'nın RSI(12)'den büyük olduğuna baksın. Yani al koşuluna "and" operastörünü kullanarak RSI(6)>RSI(12) eklemiş oluruz. Tabi koşulun tersini simetrik olarak SAT koşuluna da eklemek gerekir ( and RSI(6)<RSI(12). Burada kullanacağınız ek koşulların geçmiş verilerle de kanıtlanmış olması gerektiğini hatırlatalım. CCI()>x, MFI()>y v.b. gibi koşulların kombinasyonu ile düşünmeye başlayabilirsiniz.
2) Matriks POSC Sistemi;
AL : Cross(OSCP(opt1,opt2,s),0)
SAT : Cross(0,OSCP(opt1,opt2,s))
SL, izleyen SL'si ayrıca tanımlı değildir, filtresi yoktur. Büyük yüzdeli değişimlere duyarsız kalmaktadır.
3) Matriks MACD Sistemi ;
AL : Cross(MACD(opt1,opt2,opt3),MACDTrigger(opt1,opt2,opt3))
SAT : Cross(MACDTrigger(opt1,opt2,opt3),MACD(opt1,opt2,opt3))
İndikatör tabanlı bir sistem olduğundan, fiyatla indikatör arasında uyumsuzluklar oluştuğunda ciddi kayıplar yazar. Fiyat (H,L,C) veya fiyatın ortalamaları ile elde edilecek bir yarı-filtre, and operatörü ile koşullara eklenmelidir. Çok basit bir örnek verelim; MACD sisteminiz satta ama fiyat yükselmeye devam edebilir. Negatif uyumsuzluk diye adalandırılan bu durum, indikatörlerde sıkça yaşanan bir durumdur. Bizim öyle bir koşul eklememiz gerekir ki, MACD sat bile verse fiyat gevşemedikçe/trend kırılmadıkça sistemimiz sat vermesin. Burada gevşeme veya trendin kırılması durumunu tarif etmek analistin işidir. Örnek : Al Koşuluna Mov(c,3,s)<Mov(c,6,s) gibi bir koşulu and ile eklediğinizde, MACD sat bile verse 3 barlık HO, 6 barlık HO'nun altına düşmedikçe sistem sat vermez. Söylemeye gerek yok ama simetrik koşulu SAT koşuluna da eklemek gerekir (Mov(c,3,s)<Mov(c,6,s).
4) SAR Sistemi;
AL : Cross(c,SAR(0.02,1))
SAT : Cross(SAR(0.02,1),c)
SAR'ı tasarlayan kişinin amacının bunu SL olarak kullanmak olduğunu hatırlayalım. Bu yapı sistem olarak kullanılırsa kayıplara yol açar. Bunun yerine parametreleri, kullanıcının risk algılamasına bağlı olarak ayarlanarak, SL tespiti için kullanılabilir.
5) MOST Sistemi :
AL : Cross(MOV(C,opt3,e),MOST(C,opt2,opt1))
SAT : Cross(MOST(C,opt2,opt1),MOV(C,opt3,e))
MOST, Matriks tarafından geliştirilmiş temel olarak SL belirlemek için tasarlanmış bir indikatördür. Parametreleri ile oynanarak SL olarak kullanılabilir. Trendde iyi pozisyon tuttuğu görülmekle beraber, özellikle geniş bantlı yatay hareketlerde çok başarısız sonuçlar ürettiği görülmektedir.
-------------------------------------------------------------------
Sitemizdeki Sistem Geliştirme Akış Diyagramı'na (
Çalışma S2) baktığınızda bir "sinyal üreteci" bir de "filtre" kavramı göreceksiniz. Filtre ve üreteç ilişkisi açısından bakıldığında; üreteçinizde indikatörler kullanıyorsanız, filtrede indikatör değil sadece fiyat bilgisi kullanmanız, aynı şekilde sinyal üreteçinizde fiyat bilgisi kullanıyorsanız, filtrede indikatör kullanmanız verimli sonuçlar üretecektir. Aksi durumda; yani hem filtrede hem üreteçde sadece fiyat veya sadece indikatör kullanırsanız yaklaşımınızdaki hatalar karesel olarak artabilir. Diğer yandan indikatör kullanan üreteç-indikatör kullanan filtre en tehlikeli kombinasyondur. (Yukarıda 3 nolu sistemde anlatılan sakıncaları hatırlayınız). Fiyat kullanan üreteç-fiyat kullanan filtre ise analistin yeteneğine bağlı olarak başarılı-başarısız kategorisine girecektir. Nihayetinde tüm indikatörler fiyat, vol v.b. bakar ama esas olan fiyattır ve kar zarar fiyatla olur. Diğer yandan indikatörler de fiyat hakkında kanıtlanmış önemli genel istatistiki sonuçlar üreten matematiksel ilişkilerdir. Bizce iyi bir sistem gerek indikatörlerden gerekse ham fiyattan faydalanmalıdır.
Formüllerde sadece C'yi değil, (2*C+L+H)/4 gibi daha durağan ve güvenilir veriler kullanmak üzerinde düşünmek verimli olabilir. Ortalamalarda basit (s) yerine üssel (e) ortalamalar kullanılması önerilir. Optimizasyon yaparken, en iyi getiriyi sağlayan değerlere "atlamamak" gerekir. Örneğin 15 değeri ile %40, 14 değeri ile %20, 4-5-6-7 değerleri içinse %30-31-34-29 getiri değerleri çıkıyorsa, 15 yerine 4-5-6-7 değerlerinden birinin kullanımı daha doğrudur. Matriks System Tester simülasyonunda en iyi x değerini göster seçeneğinde olabildiğince yüksek bir değer seçip, Opt değerleri-getiri değişiminin olabildiğince geniş bir alanda gözlenmesi önemlidir. Getirilerin Opt sonuçları ile ilişkisinde çok geniş dalgalanmalar gözleniyorsa şüphe ile bakmak gerekir.
Sisteminizi kullanacağınız periyot, doğal olarak sisteminizin başarılı olduğu periyodun ne olduğuna, risk algılamanıza, trade sayısı dolayımıyla psikolojinize v.b. bağlıdır. ATS'lerle işlem yapanlar için en büyük handikap, fiyat verilerinin sürekli olması ancak ATS sinyallerinin belirlenen periyotta bir kez pozisyon değiştirme olasaılığının olmasıdır. Başka bir deyişle, fiyat verilerini izliyorsanız, psikolojinizi-doğanızı kontrol etmeniz daha zor olacaktır. Bunun için en basit çözüm, örneğin 60 dakikalık bir ATS kullanıyorsanız, verilere sadece saat başı bakmak olabilir ancak bu tek başına sağlıklı bir çözüm değildir. Bunun yanına stop/izleyen stop değerleri de sisteme eklenmelidir. Brakın 60 dakikayı, 1 dakikada bile %10 luk hareketlerin olabildiği bir piyasamız olduğu unutulmamalı.
SONUÇ OLARAK: Bu yazının amacı, yukarıdaki formüllerin sistem olduğunu değil, olmadığını iddia etmek için yazılmıştır. Ancak yine de, bunlar üzerinde ne şekilde iyileştirmeler yapılabileceği konusunda öncü fikirler verilmiştir.
Kaynak: Vobmatriks 20.12.2009