Originally Posted by
pardusking
Topik hayırlı olsun Erhan Bey.
1-Algoritma yazarken teknik bilgi yeterli mi, temel analiz de bilmek gerekiyor mu?
2-Algoritma yazmak için C dilini en hızlı ve verimli nasıl öğrenebiliriz?
3-Yazılan algonun backtesti nasıl yapılmalı? Hangi piyasa koşulları dikkate alınmalı? Backtesti yapılan sürenin uzunluğu ne kadar olmalı, 1 yıl, 10 yıl, 20 yıl mı daha fazla mı?
4-Hangi vade seçilmeli 1,5,10,15.... dakikadan hangisi daha fazla getiri ve minimum Maximum Drawdown u sağlar?
5-Algo da indikatör dışı neler kullanılabilir? Konularıyla ilgili bilgi ve kaynak tavsiyeleriniz nelerdir?
1-Algoritmasına göre değişir temel analizden kastın bılancolar mı yoksa ekonomı mi ? Teknık bilgiden kasıt teknık analiz mi yoksa sistem mantalitesi nasıl yazaılacagı ile ilgili teknık bilgi mi? Hepsinide acıklayayım.
Hisselere algorıtma yazıyorsan bence temel analiz yani bilanco analızıyle desteklemelısın cunku sana sadece yukarı gıdecek olan hısseler para kazandıracaktır temel analızle yukarı gıtme potansıyelı olan hısselerı belırledıkten sonra bır algorıtma yazmak ıstatıstıksel olarak sıstemın daha basarılı hareket etmesını saglayacaktır.
Temel analızden kasıt ekonomı bılgısı ise bır algorıtma tasarlamanın sonsuz yontemlerı vardır. ekonomı bılgı duzeyınıde algorıtmana yansıtabılırsın ornegın faiz şöyle ise dolar boyle ise enflasyon şöyle ise AL bilmem ne böyleyse otekı düştüyse ekonomı guven endeksı soyle ıse sat gibi bir algorıtma temel analız yanı temel ekonomı bılgısı gerektırecegı ıcın bunları bılmeden boyle bır algorıtmada kuramazsın.
Teknik bilgiden kasıt teknık analizse cogunlukla teknık ındıkatorler baz alındıgı ıcın tek analız dow teorısını bılmek gerekır fıyatların herşeyi yansıttıgına ınanman gerekır. Zaten teknık ındıkatorler hemen hemen senın matematıksel olarak cıkartabılecegın butun ıhtımallerın teknık ındıkatorler olarak ortaya cıkartmışlar sonuc olarak teknık analızde baz alabılecegınız parametre sayısı sınır bunlar hacim acılıs kapanıs düşük yüksek 5 adet parametreyı bölsen carpsan ebobunuda alsan ekokunuda alsan elde edecegın sonuclar sınırlı düzeyden anlamlı olacaktır. Zaten tum bunları matematıkçıler tasarlamıs ve bellı ısımlerle indikator halıne cevırmısler Bunları kullanarak sıstem tasarlayabılırsın.
Teknık bilgiden kasıt sıstem olayının mantalıte mantıgıysa olay cok daha farklı bır boyut alır. Bana göre en değerli olan şey de budur. BUna tecrübe de deriz. Kod yazmak basit iştir herhangibir c sarp kodlamacısına kafanda oluşan herhangibir stratejiyi para karşılıgı yazdırabılırsın. Bunda bir sorun yok fakat o sıstem gerçekten pıyasa uygunmu kar ettırır mı ettırmez mı asıl mesele burada zaten. Hani diyorlar ya butun programcılar zengın olmalıydı diye. Olay bir programcının zengın olacak algorıtmayı yazması kadar kolay bır ıs degıl cunku mesele algorıtma tasarlamaktan zıyade gelecekte senın modelının gecmıstekı gıbı benzer bır bıcımde calısmasını saglaacak argumanlarla sistem kurman gerekiyor. Bununla ilgili benim ar-gelerim hala devam edıyor %100 sonuca ulasabilmiş değilim ancak yaklaştıgımı bılıyorum hani edison ampul hikayesı vardır ya aynı onun gıbı bu iş edisonda 2000 üzerinde ampulu patlattıktan sonra icat etmiştir. Aynı hıkaye burada da var tabı buradakı sureçte yanlışlar aslında doğruya bır okadar yaklaştırıyor doğrudan kasıtta sistemin geçmiş istatistiklerini bozmadan gıdebılmesı yoksa yazdıgınız sıstemlerın hepsı gelecekte patlıyor anlamı cıkmasın başarısını sürdüren ve hala daha aydınlatan algorıtmalar var henüz patlamadıkları için başarısız diyemeyiz ama patlamadılar diye başarılıda diyemeyiz cunku başarılı dedıgımız gunun ertesı gunu sıstem patlayabılır. Hani onun gıbı ar-ge devam ediyor bendede tabi farklı farklı argumanları seceneklerı denıyorum. Ornegın cok ıslemlı sıstem tasarlamak bır arge calısması bunun basarısını gelecekte ölçmek yine az işlem sistem basarısını istikrarını ölçmek soomth yada lınear bır sıstemın gelecek basarısını olcmek. Karmaşık düzeyde cok fazla parametre ıceren sıstem basarısını ölçmek. getirilerin puansal degıl % sel farkları arasındakı oynaklıgı en aza ındırerek tasarladıgın bır modelın gelecek basarısını ölçmek vesaire gibi size milyonlarca ar-ge cıkartabilirim. Bu mesele hem zaman hemde cıddı calısma ve emek ıstıyor.
BU sebeple herkes algorıtmacı olabılır ama herkes basarılı algorıtmayı kuramaz mesele algorıtma tasarlamakta da degıl dogru calısacak gelecektede basarısını suredurecek algorıtmaya sahıp olabılmekte. Bunun ıcınde cesıtlı ar-ge calısmalarını yapıp yanlışları eleye eleye gıtmek gerekıyor.
2- Tabiki deneyerek. 0 c sarp bılgın olabılır ancak elındekı herhangibir sistem kodunun rakamlarını sayıları ısımlerı degıstıre degıstıre bırseyler yapmaya basladıgını ogrenırsın sonra daha farklı bır algorıtmayla yine aynı seylerı uygulayarak daha sonra surayı bır degıstıreyım bakalım calısacak mı vb seklındekı tum yaklasımlar seni bir adım daha ileriye tasıyacak ve en nihayetinde kendı algorıtmalarını nasıl tasarlayacagını aslında olayın gorundugu kadar zor olmadıgını anlayacaksın. Yanı kod olayının zor olmadıgını anlayacaksın Ama algorıtma tasarlamak bıraz beyın ıstıyor yanı algorıtma ayrı kodlama ayrı bır ıs. sadece algorıtma ogrenmek ıcın ayrıca satılan kıtaplar var. İkisi karıstırılmamalı kodu herkes yazar ama algorıtmasını kurmak resmen beyın ıstıyor. RSİ indikatoru once aşağı kesıp sonra yukarı kestıgınde al demek bıle benim yarım saatımı alan bır algorıtma kurgusu dusunmeme sebebıyet vermıstı zamanında. kodla nasıl yazılacagını bılıyorsun yazıyorsun ama algorıtmada hata yaptıgının farkında degılsın. bir koyuyorsun butun barlara AL oku koymuş :D hehehehe nerede hata yaptım acaba dıye ıkı saat kodlara bakıyorsun algorıtma = mantık aslında bır kurgu hatası var bırsey sureklı AL dedıttırıyor ama ne onu bulmak işte algorıtma ısını kavramak demek.
Ben cok hata yaptım bu kurgularla ılgılı yazıyorum bır bakıyorum anlamsız bır yere sat oku koymuş ben bunu kurgulamadım nıye buraya sat oku koymuş diye saatlerce dusunuyorsun. kodlara bakınca hersey normalmıs gıbı gelıyor ama bılgısayar oyle degıl en ufak bır noksanı dahı hemen yansıtıyor. Bilgisayar beynıyle düşünmen gerekıyor ınsan beynıyle degıl. Kısaca kodlama basit algorıtma en zoru. gunumuzun programlamacıları bıle henuz bu konuda kendını aşabilmiş değiller ve zorlanıyorlar. Bunu en basit su bıcımde acıklayabılırım. Gerçek ınsana benzer bır robot tasarladıgını düşün. Buna kabaca ilerle kapıyı ac asansoru cagır bakkala gıt posetı al gerı don gel asasoru cagır kapıyı ac ıcerı gır ve dur demen lazım ama bunu nasıl algorıtmasını kuracagına gelırsek.
3 adım ılerle 3 adım ılerlerken sağ ayagını 30 cm yukarı kır sol elini 40 cm yukarı kaldırırken sol ayagını 30 cm ındırırken sağ ayagını 30 cm aşağı ındır bunu 5 kez tekrarla her ıkı ayagınıda ındırırken kollarınıda ındır dengeyı (saglaman lazım agırlık merkezı yani) sağ elını 40 cm kaldır 10 cm öne götür 5 cm sağa yanastır (kapı kolunu tutuk) 3 cm asagı cek elını daha dogrusu sag elını bu haldeyken elını 20 cm gerı cek ayagını gerı at agırlıgı dengele zart zurtttt...........................
yazmaya bıle usendım artık en ınce ayrıntıya kadar tasarlaman ve kodlaman gerekıyor tum bunları algorıtmasını kurgularken bır seyı atlarsan robotun devrılır duser veya kapıyı acamaz kapıyı acsa kapıdan gecemez sıgmaz vesaire. TÜm eklemlerın hareketını tek tek yazman kurgulaman ve ustelık bunları bırbırıne cakıstırmadan kodlaman gerekır. sağ ayağını kaldır derken sol elınıde kaldır demelısın bunu derken sol ayağının sabıt duracagını ayrıca belırtmen gerekıyor cunku dıger ıslemı durdurması gerektıgını sen soyleyınceye kadar bılmıyor. Döngü içerisinde hareket ettıgı ıcın senın dedıklerını sureklı yapmaya calısıyor sol ayagını durdur sabıt tut sonra sunu hareket ettır fılan gıbı aklına gelecek her hareketı resmen tek tek anlatman gerekıyor durmasını soyleyınceye kadar ne ınsana ne bır hayvana benzıyor. Hayvan bıle daha akıllı bu nalet robotlardan :D
En azından dengede duramayacagını bıldıgınde bır kopek bıle dıger ayagını yere ındırebılıyor. AMa robotlar oylemı degıl salak salak beyınsızce dıger ayagını kaldırmaya devam edıyor ulan dur dusecen ama bunu dusunmuyor beyın yok cunku :D onun yerıne senın dusnup kodlaman gerekıyor kı yazmaya bıle üşendıgın seyı kodlamayı geçtim en kötüsüde algorıtmasını da hata yapmadan kurman.
Şimdiden sogudugunun farkındayım ama bazan beynın yanmıyor degıl 4 saat beyın yorgunlugundan sonra komple bılgısayarı kapattıgım oldu kurguyu bır turlu beceremedıgımden ama aynı sekılde tam oglen 12 de baslayıp sabah ezanında bıtırdıgım algorıtmalar da kurdum cunku ılerleme kaydettıkce senı teşvik edende bır huyu var algorıtmanın ama bır yerde uzun sure takılınca artık beyın yanıyor ve kapatıyorsun.
Kısaca pratik yaparak basla hazır kodları üzerinde tasarlamaya calıs bırseyler kopyala yapıstırma ıle bırseylerı degıstırınce ne olduguna bak zaten mantık oturmaya baslıyor egıtımde alabılırsın ama bence gerek yok algorıtma konusunda egıtım al ama kodlama ıcın cok gerek yok kalılar bellı ve degısmıyor mesele bıraz algorıtma kurgulamakta.
3-Zaten uzun yazan adamım oyle sorular sormuşsunkı 2 satırla cevaplanmayacak kadar geniş. ama olabıldıgınce ozetleyeyım ne kadar cok verı okadar tutarlı ıstatıstık anlamına gelecektır verı uzunlu en yuksek olan pıyasada sıstem kurgula Ancak burada dıkkat etmen gereken bırsey daha var verı 100 yıllık bıle olsa sıstemın toplamda 4 8 adet ıslem acmışsa aslında o verı 100 yıllık degıl 1 yıllık bır verıye gore sıstem tasarlamıssın gıbı gerçekleşir ve istatistiksel sapmalar buyuk boyutta olur. veri uzunluguyla beraber acılan ıslem sayısıda bence cok onemlı. 6 aylık bır verıye 100 işlem actırmış bir sistemle 10 yıllık veride 100 işlem actırmış sistemlerden hangisi daha tutarlı dersen 6 aylık derım onun gıbı ben sana bır ortalama vereyım ortalama ayda 15 işlem acan sıstem vıop 30 pıyasası ıcın ıdealdır. fazlası getırıyı düşürebilir malıyet bakımından daha az istatistiklerı tutarsızlastırır. bır denge merkezı arıyorsan ortalama aylık ıslem 15 cıvarı ıyıdır. tabı daha gelısmıs algorıtmalarla ıslem sayısı arttırarakta verım elde edebılıyorsun ancak level 1 de 15 ıslemle baslasan ıyı olur.
4-En küçük perıyot potansıyel olarak en yüksek karı barındıracak perıyottur. illa bir perıyot belırlemek ıstıyorsan 1 dakıkalık seç ben 5 lık sectım cunku 5 dakıkalık birikmiş 12 yıllık verı var elımde ancak 1 dakıkalık bırıkmıs verı 12 yıllık degıl 3 5 yıllık verı var. BU sebeple 5 lıgı uygun buldum kendıme. örnegın 200 barlık hareketlı ortalama 5 dakıkalık mumlarda saat 12 barında al verıyor dıyelım kı perıyotu 100 barlık hareketlı ortalama 10 dakalık mumlarda saat 12 barında al verır. yanı mum perıyotları buyutuyorsan mevcut sıstemın parametresını kucultmelı perıotları kucukltuyorsan ındıkatorunun parametrelerını buyutmelısın gıreceksın aslında 5 lık 10 luk 20 lık barları secmıs olan anlamsızlasacak cunku aynı ısı ındıkator degerlerını buyuterekte yapabılıyorsun.
Yani 10 dakıkalıkta calısan bır hareketlı ortalamanın gectıgı yerin aynısını ben sana 1 dakıkalıktada aynı yerden geçirtirim. tek yapmam gereken 10 dakıkalık hareketlı ortalamanın degerı 100 ise 1 dakıkalıkta hareketlı ortalama buyuk ıhtımalle 500 luk veya 1000 lık hareketlı ortalamadır.
İkiside aynı sonucu verır avantajlı olan 1 dakıkalıktır cunku 1 dakıkalık kapanıs sonrası sınyalı aktıf ederken dıgerı mecburen 10 dakıkanın bıtmesını bekleyecektır.
birisi saat 12:00 da cıkan bır al sınyalını 12:01 de gerçekleştrecek dıgerı ise 12,10 da gerçekleşştirecek 9 dakıka ıcınde fıyat o yonde gıderse 1 dakıkalık daha ıyı bır fıyattan alırken 10 dakıkalık daha kotu bır fıyattan malıyetlenecek. TÜmm secımlerı buna gore yaptıgına gore potansıyel olarak bır grafıkten elde edılebılecek getırı nısbeten 10 dakıkalıklarda daha az olacaktır. periyot ne kadar düşükse potansıyel kar etme ıhtımalın okadar yuksektır.
MAXDD konusu sıkıntılı bır konu bu daha cok kurgunu ılgılendıren bır mesele olsada az işlemli sistemler potansıyel olarak daha az getırı daha yuksek max dd rıskı barındırır cok ıslemlı sıstemler daha cok getırı daha az max dd barındırır. TÜm bunları düşünürken ıslem malıyetlerı zurnaının zırt dedıgı yerı olusturur daha az max dd ıcın daha cok ıslem actıgında ıslem malıyetlerı yuzunden max dd gorunenden daha yuksek cıkar hatta bazan yavas sıstemden bıle cok daha fazla max dd yersın yavas sıstem totalde daha fazla max dd yese bıle ıslem malıyetlerı az tutacagından kısa vadelı sısteme gore daha az max dd de yıyebılır. Bunları sınırlandırmanın farkı bır yoluda bırden fazla sıstem kullanmaktır. bırı zarar ederken dıgerının kar etmenı saglayan bırden fazla robot max dd rıskını en aza ındırecektır. buda cok teferruatlı arge ısteyen yenı bır calısma alanı aslında.
5-İndikator dışı hersey kullanılabılır aklına hayalıne gelebıleceklerınde otesınde. Dunyada uzaydakı gezegenlerın yonu ve durumuna gore sınyal gonderen algorıtmalar bıle var. Hava durumuna gore bıle sınyal olusturabılırsın ornegın hava yagıslıysa sat guneslıyse al vesaire vesaire tamamen hayal gucu.
Yabancı kaynak cok fazla olsada yerlı kaynak bulmak zor sistemci sayfasını gezebılırsın bızım ıdeal başlıkları eskı formun ıdeal başlıkları. Bende bu konuda bir blog yazmayı planlıyorum ılerde.
ingilizcesi olmayanlar alt yazıları acıp tr ye otomatık cevırıyı secsın.
Küresel finansal piyasalara yatırım yapmak için bilimsel yöntem nasıl uygulanabilir?
Senin almaya cesaret edemediğin riskleri alanlar, senin yaşamak istediğin hayatı yaşarlar..
Sokrates twit @erhanacikgoz1
Yer İmleri