curve fitting gibi duruyor sınyallerı gorebılırmıyız bı yakın bırde hafıf uzak trendlı bolge ve trendsız bolge olarak bır kaç resım at
Printable View
selamlar tekrar,
Belki bir çoğunuz bu sistem işinden bıktınız, veya herkes sistemini oturttu artık çok ilgilenmiyor.
Bu işe yeni başlayanlar için en büyük zorluk istatiksel veri temini bence.
ben sistemimi oluşturuyorum fakat başka sistem oluşturanların sistemleri ile kazanç,işlem, maxdd gibi verileri karşılaştıramadığım için sistemimin diğer sistemlerle istatiksel olarak nasıl olduğunu ölçemiyorum.
bu kişisel gelişim ve sistem gelişimi için büyük sorun bence.
sizden ricam sistem çalıştıran kişilerin mümkünse kazanç,işlem, maxdd, analiz süresi gibi bilgileri paylaşması, eğer paylaşmakta bir sakınca varsa söyleyin bende paylaşmayayım.
twiter a böyle bir paylaşımda bulundum, bu konu hakkında erhan hoca fikrni beyan etti. banada mantıklı geldi;
"Bence 3clu guzel ilk etapta para kazanmak onemli" diye bir fikir beyan etti.
max dd yüksek ama getiride yüksek, sizce var olan iki sistemin arasına ekliyeyim mı bunu, fotolarda açıklamaları yaptım.
yeni yazdığım sistem bu,
https://pbs.twimg.com/media/EYUIMrHW...ng&name=medium
https://pbs.twimg.com/media/EYUJf17W...ng&name=medium
şuan halihazırda çalışan ikili sistemim,
https://pbs.twimg.com/media/EYULWnPX...ng&name=medium
Bu sistem eklendikten sonra oluşan 3 lü sistem,
https://pbs.twimg.com/media/EYUO019X...ng&name=medium
beni çelişkide bırakan noktayı ise bu resimde anlatıyorum,
https://pbs.twimg.com/media/EYUQCKnW...ng&name=medium
tekrar yazayım, bu veriler belki başkasının ufkunu acacak, kendi sistemlerinin iyi olduğunu veya biraz daha geliştirmesine ihtiyaç olduğunu ortaya çıkaracak. benim de kendimi geliştirmek için bu tip verilere ihtiyacım var.
Mümkünse bu tip verilerinizi paylaşmanızı istiyorum, yok bu sakıncalı derseniz sakıncasını yazarsanız bende yanlış yapmamış olurum.
çok teşekkürler.
sn mossin
ben 4-5 yıldır sistem/robot kullanıyorum. bu işten kendimce tatminkar kazançlarda sağladım. sistem/robot konusunda çok fazla alternatif ve uygulama farklılığı mevcut. kendi yöntemimi paylaşamam ama şu kadarını söyleyeyim max dd konusunda kabaca fiyatın %25 i BENCE normal. yani viop30 için 25bin puan dd normal. daha düşük maxddler günün birinde %25 e yaklaşıcaktır iddasındayım. burda şu noktaya dikkat edin-> maxdd yi yüzdesel hesaplayın. atıyorum x yılında fiyat 50bin iken oluşan 15bin max dd bugün oluşan 25bin max dd den daha kötüdür aslında. bu bakımdan yüzdesel hesaba odaklanın. bir şey daha diyeyim paranız milyonları bulmadıysa viop yerine hisse (hacimli olanlardan) robotlarına odaklanın. daha iyi getiriler olduğunu göreceksinizdir. birde optimize konusuna dikkat edin. insan beyni hep en iyiye odaklanıyor. bu yüzden optimizenin sonu sürekli hard optimize oluyor. böyle oluşan sistemlerde reelde çuvallıyor. optimize değerlerinde en iyi değilde ortalarda değerleri tercih edin. bununla ilgili erhanın önemli bi çalışması vardı. eski gönderilerde bulabilirsiniz belki. optimizasyonu tüm seri üzerinde değilde örneğin 5 yıllık bir dönemde yapın. başka bir 5 yıllık dönemdeki durumuna bakın. bunları sizin özelinizde değilde yeni başlayanlar için yazayım dedim.
son olarak tüm dataları sn. tiberius 17 mayısda paylaşmış. https://twitter.com/__Tiberius
ilave: sn. mossin karşılaştırma yapmanız için şöyle bir bilgi vereyim. bendeki sistemlerin aylık ortalama getirisi NET de %2-8 arasında değişiyor. yani viop için anlık fiyatlara göre ortalama aylık 2-3 bin net puan gibi.
İlginize çok teşekkür ederim. Tam olarak istediğim aslında buydu.
yani benim oranlarım, getirilerim,kayıplarım bunlar acaba diğerleri nasıl konusunda merakım vardı kendimi kontrol etmek için.
sistemlere hisse bazında baktığımda örnek aselsan hisse de çalışan sistemi vadelisine de bağladım kazanç iyi ama hisse hareketi olduğu için iyi.
siz hissselerin vadelilerinde robota bağlarken önce hisseyi analiz edip ona göre sistemimi bağlıyorsunuz, yoksa garan,thy,asels gibi hisselerde sabit çalışan ve her durumda çalışan robotlara mı bağlıyorsunuz. yani thy yataya bağlayacağını düşündüğünüzde thy robotunu kapatıyor musunuz, yoksa sürekli çalışıyor mu?
sizce hisse bazlı hangi vadelilerde çalışmak mantıklı olur?
@ Mossin hocam bence -13,000 puan maxdd oldukca iyi. Genelde getiriyi artirmaya calistikca maxDD da artar. Getiriyi artimanin bir yolu asimetrik yaklasim olabilir diye dusunuyorum. Dususler genelde kisa surede uzun barlarla oluyor. Yukselisler ise baslarda yukselen testere gibi uzun surede az yol katederek basliyor. Sistemler acisindan yukselen testerelerin yatay piyasadan pek bir farki yok. Getiriyi artirken maxdd dusuk tutabilmek ayri bir zorluk, bikmadan usanmadan her olasiligi denemek vazgecemek lazim.
@Matador hocam MaxDD olcumu konusunda hakli. Puansal bakmak aslinda yaniltici olabiliyor. Kullandigim sistemin maxdd degeri 13,750 tarihsel maxdd_puan ve maxdd_yuzdesel grafigi:
https://i.hizliresim.com/2lVfq4.png
2008 dususunde -10,000 puanla %23 luk bir maxdd sozkonusu. Onun disinda %15'i asma olmamis. Yani bugunun fiyatiyla 13,750 puandan cok uzak degil.
Sistemimim drawdown'i gectigimiz mart ayinda 1 hafta arayla anlik olarak 2 kez maxdd'ye yaklasip hizla geri dondu. Oncesinde getiri egrimde artis oldugu icin rahattim. Ilginc bir bicimde mart ayi en yuksek getiriye ulasilan aylardan biri olmus. Dinamik kaldirac kullaniyor olsam etkisi buyuk olabilirdi. Genelde maxdd yenilemesinden once guzel bir getiri artisi oluyor yani tampon olacak en azindan bir 10bin puan. Sistemimim %sel maxdd degerinin gelecekte %15'i kolay kolay asacagini zannetmiyorum. Belki en extreme durumda %20 lere ulasir ama oncesindeki getiri artisinin bunun cok uzerinde olmasini beklerim.
Kaldirac artirilacaksa drawdown maxdd ye yaklasirken yapilmali. Ayrica bir sistemi devreye almak icin en iyi zamanlama da yine maxdd yenilendigi veya drawdown'in maxdd ye cok yaklastigi donemlerdir.
hocam verdiğiniz bilgiler için çok teşekkür ederim. bu tarz bilgilere açım ben.
genel olarak bilgiye açım :)
dd nın yüzdesel olarak görüntülediniz sistemin kodu özel değilse atma imkanınız varmı?
yüzdesel düşüşlerime bakayım dediğiniz gibi.
aradığım veri analiz sistemi buydu :)
pazartesi 2 sistemin yanına 3. sistemide ekleyeceğim eşit kontrat miktarıyla,
getirisi çok cezbetti, 2016-2018 arasında 18 aylık bir sabit dönemi olmasına rağmen öncesi ve sonrası getiri oranı çok yüksek.
2li sistemle beraber bekleme zamanları çok sorun olmaz diye düşünüyorum.
sistemlerim 5dk lıkta çalışıyor, 1 dk lık hızlı bir sistem tasarım aşamasındayım ama tam anlamıyla başarılı olamadım.
siz 5 dk mı yoksa 1 dk lıkta mı çalıştırıyorsunuz?
Ek 25071
18 ay yatay kisa bir sure degil; o donemi yasayip sonuna kadar sistemi kapatmadan acik tutubilmek algo trader'in ustesinden gelmesi gereken en buyuk zorluk. Sistemi devreye almadan davranisini detayli analiz edip psikolojinize uygunlugunu tartip her turlu olasiliga bastan hazir olmak onemli.
Sistemim 5dk likta calisiyor. 1dk likta calistirdigim cok islem acan sistem uzun suredir devre disi.
5dk lik veri ile stratejinin son 13 yilda ne yaptigini gormek mumkunken 1dk likta cok daha az, 8 yil. Period dustukce gurultu orani artiyor. 5dk tam denge noktasi gibi, uzeri periodlarda bu sefer de hareket gec dahil olma sorunu basgosteriyor. 1dk likta hatta Birim verilerle de islem yapilabilir veya 5dk likta canli barda anlik repaintsiz islem de mumkun. Ancak bu artilarin performansa katkilari olculup faydalari teyit edilmedikce bir anlami yok.
Yuzdesel DrawDown kodu:
PHP Code:
var V = Sistem.GrafikVerileri ;
var C = Sistem.GrafikFiyatOku(V, "Kapanis");
var Gmax=Sistem.Liste("0");
var DD=Sistem.Liste("0");
var DDyz=Sistem.Liste("0");
var MySistem = Sistem.SistemGetir("test", "VIP'VIP-X030", "5");
var G=MySistem.GetiriKZ;
float DDbazFiyat=0.0f;
for (int i = 1; i < MySistem.Yon.Count; i++)
{
Gmax[i]=Math.Max(G[i],Gmax[i-1]);
DD[i]=Gmax[i] - G[i];
if (Gmax[i] == G[i]) DDbazFiyat=C[i];
DDyz[i]=(Gmax[i] - G[i])/DDbazFiyat*100;
}
Sistem.Cizgiler[0].Deger=G;
Sistem.Cizgiler[1].Deger=Gmax;
Sistem.Cizgiler[2].Deger=DD;
Sistem.Cizgiler[3].Deger=DDyz;
hocam bişey daha sorayım,
hisse üzerinde çalıştırdığım robotları vadeliye geçireceğim, aselsanda yaptım, şimdi thy roborunuda vadeliye bağlayacağım fakat bu sistemlerin getirilerini ve kayma payı hesabını birleşik sistem getirisinden nasıl bakacağız?
endeks vadelide kayma payı 0.035 giriyorum, hisselerde bu oran kaç? siz kaç hesaplıyorsunuz?
Merhaba,
Aslında 2007 duhülüm var ama server göçtükten sonra yeniden üye olmamıştım. Bu konuda yeniyim acemilik edersem kusura bakmayın. Benim son çalışmam da aşağıdaki gibi. Erhan ve mossin hocama teşekkür ederim buradan da yönlendirmeleri için Twitter da kafalarını şişiriyorum bir kaç gündür:) Yorumlarınızı bekliyorum, performansa vade sonu nakit eklendi ama kayma yok hesapta. Ek 25079Ek 25078
hocam vade sonu nakite geç i işaretlediğinde ne kadarlık bir kayıp oldu?
sistem getiri iyi gözüküyor tabi bunu kayma ve komisyon orani ile bakmak lazım.
120 bin puan civarı düşüş olur sanrım kayma ve komisyon eklendiğinde ama sanki performans testi çok olumlu verilerle dolu.
Komisyon oranınızın 10binde 1 olduğunu varsayıyorum. Bu komisyon oranını VIP-X030'da 100.000 puanı, THY'de de 10.00 puanı baz alarak oranlarsanız;
Endeksde 1 kademe kayma 0.025 + 0.010 komisyon = 0.035 puan
THYde 1 kademe kayma 0.01 + 0.001 komisyon = 0.011 puan
Eğer endeksde 13 yıllık datada aylık 25+ işlemli hızlı sistemlerle çalışıyorsanız daha gerçekçi sonuçlar alabilmek adına sabit 0.010 rakamı yerine komisyon oranını dinamik olarak hesaplatmanızı tavsiye ederim. Çünkü 2008 civarı endeks 50 binlerdeyken ödediğiniz komisyon 0.005 puan iken, 120 binde ödediğiniz komisyon 0.012 puan ile 2.5 katıdır.
Yavaş sisteme etkinin büyük olmasının sebebi, yeni vadede oluşacak ilk işleme kadar sistemin flatte beklemesinden kaynaklanıyor aslında.
Örneğin longdasınız , vade sonu flat oldu sistem, yeni vade açılış gapi 2 bin puan yukardan oldu ve güçlü yükseliş trendi var, endeks 10 bin puan yükseldi sonra düşüşe geçti, idealgo sistemi bu düşüşteki short işleminden itibaren hesaplıyor. Yani +2 bin puanlık gapi dahil etmemek için +10 bin puanlık karı yok saymış oluyor bu da negatif yönde büyük oranda gerçekten uzaklaşmak demek.
Bu sapmayı vade başlangıcında eğer sistem yön değiştirmiyorsa açılış fiyatından aynı yönde pozisyonlanarak aşabiliyoruz ama sistem vade gapı yüzünden yön değiştiriyorsa bunu kodla aşmanın bir yolu yok benim bulabildiğim.
idealin güncelleştirmelerde ivme kazandığı şu dönemde, VIP kümülatif grafiklerine "Vade Geçişi Ayarla" gibi bir seçenek getirilerek son vade fiyatları sabit tutularak önceki vadelerin vade gapleri son vade başlangıç fiyatına uyacak şekilde kapatılarak yeni ayarlanmış grafik oluşturulabilir, böylece %100 realite datada analiz etme olanağı doğar. Yabancı uygulamalarda bu şekilde.
18875 gorunen maxDD degerinin kayma sonrasi ne olacagi getiri kadar onemli. Uzun suren yatay bir bolgedeyse islem sayisinin fazlaligina paralel buyuk bir artis gosterebilir.
"Birlesik Sistem Getiri Egrisi" nde 0.035 kayma uygulanmis halini paylasabilirseniz daha iyi yorumlayabiliriz.
Bende telefonla aradiniz saniyorum. Simdi oldu
bence en büyük risk 15 dk olması, büyük kayıp düşüşleri gözüküyor.
21,000 puan maxDD 2.5 yili bulan yatay bir getiri bolgesinde olusmus. Olustugu fiyat bolgesindeki %sel karsiligi ~%30. Boyle bir bolgede dogru kaldirac kullanilmis olsa bile sistemin fisini cekmeden sabredebilmek cok cok zordur. 2012 sonrasi dusuk bir maxDD varmis gibi duruyor ve getiri egrisisi daha lineer.
15dk yerine 5dk ile islem sayisi 1600-1800 olan benzer bir sistemle daha iyi performans alinabilir mi?
Cok sistem testetdim . Cok yuksek overallerde buldum ama dediginiz gibi 1-1,5 sene cok zararli bi sekilde arka arkaya islemler vari bu surede sabredip beklemek coook zor insan psikolojisi dayanmaz buna ,bu evrede insan yeni sistem arayisinia girer ve eminim fisini ceker. Benim sahsi fikrim overal az olsun ama her sene artik kapatsin gerekirse ayda 1-1,5 k arti yapsin seni devamli oyunda tutsun... mantigiyla bakiyorum artik
15 dakika olması periyod uzunluğu açısından bence sorun değil. Hatta kararında olduğunu düşünüyorum ne çok hızı ne çok yavaş. Ama değindiğiniz konuya katılıyorum kesinlikle haklısınız. Can sıkıcı bir görünüm de 1 yılı zararla kapamış olması. Testlere devam yanına yine de 5 dakikalık bir sistem eklemek istiyorum.
İdealde 2 robotu birleştirip voltran yapmak mümkün mü:) Sadece aynı yönde işlem yapılacak diğer durumda flat gibi?
"Birlesik Sistem Getiri Egrisi" nde 1er lot bagladiginiz 2 sistemi esit sayida lotla islem yapacak bicimde ayri ayri robotlara baglarsaniz portfoyunuze yansimasi ayni dusundugunuz gibi olur.
Alternatif olarak eski forumdan arsivime aldigim asagidaki yontemler uygulanabilir:
Birden fazla sistemin ürettiği sinyalleri birleştirip, hepsi aynı yönde ise yön değiştiren sistem birleştirme fonksiyonu eklendi.
Versiyon 4.34 yüklemesini, ana menüdeki Versiyonu Yenile satırına basarak şu an temin edebilirsiniz.
Boş formül penceresine aşağıdaki gibi bir satırı yazıp kaydetmeniz ve grafiğe uygulamanız yeterli.
Örneğin iki sisteminiz varsa, ikisi de long iken long sinyali verir, ikisi de short iken shor sinyali verir. İki sistemin yönleri ters ise, yön değiştirmez. (İkiden fazla sistem olmasında değişen bir durum yok, hepsi aynı yönde iken sinyal üretir)
Kod:
Sistem.SistemBirlestirAyniYon("Sistem1","Sistem2")
SistemBirlestirAyniYon
aşağıdaki kodu sistem olarak kullanabilirsiniz.
kod tüm sistemler aynı yönde ise sinyal üretir.
mavi renkli bölgede değişiklik yaparak,
örneğin dört sistemin üçü aynı yönde ise sinyal üret gibi değişiklikler yapabilirsiniz.
yani bir nevi ihtimal hesabı olarak kullanabilirsiniz.
yeşil renkli bölgede ise istediğiniz kadar sistem ekleyebilirsiniz.
kolaylıklar dileriz
Kod:var sistemler = new List<string>();
sistemler.Add("Sistem1");
sistemler.Add("Sistem2");
int[,] pozlist = new int[sistemler.Count, Sistem.GrafikVerileri.Count];
int[] totallist = new int[Sistem.GrafikVerileri.Count];
string sonyon = "";
for (int i = 0; i < sistemler.Count; i++)
{
var sistemitem = Sistem.SistemGetir(sistemler[i], Sistem.Sembol, Sistem.Periyot);
sonyon = "";
for (int j = 0; j < sistemitem.Yon.Count; j++)
{
if (sistemitem.Yon[j] != "")
sonyon = sistemitem.Yon[j];
if (sonyon == "A")
pozlist[i, j] = 1;
else if (sonyon == "S")
pozlist[i, j] = -1;
else if (sonyon == "F")
pozlist[i, j] = 0;
}
}
for (int j = 0; j < Sistem.Yon.Count; j++)
{
for (int i = 0; i < sistemler.Count; i++)
totallist[j] += pozlist[i, j];
}
for (int j = 0; j < Sistem.Yon.Count; j++)
Sistem.Yon[j] = "";
sonyon = "";
for (int j = 1; j < Sistem.Yon.Count; j++)
{
if (totallist[j] == sistemler.Count && sonyon != "A")
{
sonyon = "A";
Sistem.Yon[j] = "A";
}
if (totallist[j] == -sistemler.Count && sonyon != "S")
{
sonyon = "S";
Sistem.Yon[j] = "S";
}
}
15 dakika yanına bir de 5 dk ekledim. Birleşik getiri daha anlamlı oldu sanırım.
Eklenen 5 dakika solo performans.
https://i.hizliresim.com/EJH6as.png
Birleşik getiri grafik
https://i.hizliresim.com/3xtBcn.png
Birleşik getiri tablo
https://i.hizliresim.com/tuo8OU.png
İdealci arkadaslar bu idealin içindeki sistemleri kullananlar varmı reelde
Acik koda bakarsak tek bir period icin birlestirme yapiliyor olmali, DonemCevir ile asilabilir belki. "Sistem.SistemBirlestirAyniYon("Sistem1","Sistem2") " bu yontemin tek artisi sistemlerin bar kapanislari olur da denk gelir de; birisi "SAT" digeri "AL" uretirse robotun biri alis yaparken digeride ayni anda satis emri gondererek en iyi ihtimalle 1 kademe gereksiz islem yapilmamis olur. Gecmiste ayni seans saatinde zit sinyal uretilmismi bir inceleyin. Her ikisi de trend takibi yapan sistemlerse zit sinyal cakismasi pek mumkun degil.
Zit sinyal cakismasi yoksa sistemleri esit lotla islem yapacak bicimde ayri ayri robotlara baglarsaniz "birlesik sistem getiri egirisi" nde gordugunuz bileske portfoyunuze yansiyacaktir.