哪里可以下載程序化交易和量化交易策略的源代碼?
網(wǎng)友解答: 策略代碼現(xiàn)在一般大家都用來出售,即使免費(fèi)下載了下來也沒有意義,因?yàn)椴桓矣?。真正要想是要能用的策略,最好是用研究功能牛逼的軟件,自己后?yàn)、回測一下這個(gè)策略,才能知道適合何種品種
策略代碼現(xiàn)在一般大家都用來出售,即使免費(fèi)下載了下來也沒有意義,因?yàn)椴桓矣谩?/p>
真正要想是要能用的策略,最好是用研究功能牛逼的軟件,自己后驗(yàn)、回測一下這個(gè)策略,才能知道適合何種品種,適合何種行情。而且在后驗(yàn)的過程中,興許還會(huì)有優(yōu)化的靈感出來。
所以回到樓主的問題上來,推薦量邦天語軟件,自帶經(jīng)典策略,源碼可查,可用,通過經(jīng)典策略的編寫,回測,還可以算連自己的寫策略能力。量邦天語3.0已經(jīng)發(fā)布,親測研究功能非常強(qiáng)大,解決了行業(yè)之前沒解決的很多問題,例如:自定義合約、股票CTA,模擬遷倉超級(jí)后驗(yàn),遺傳算法組合優(yōu)化,帶tick數(shù)據(jù)。
其實(shí)主要是看樓主的目的?是想學(xué)習(xí)編寫策略呢,還是想使用策略,現(xiàn)在策略租用的市場已經(jīng)很成熟,很網(wǎng)站、平臺(tái)都提供策略模型租用使用。樓主大可以在用心篩選靠譜的平臺(tái),租用模型,畢竟一些老司機(jī),寫好的策略,平臺(tái)審核之后,再用,也是策略小白的福利。這個(gè)呢,舉個(gè)栗子,推薦微量網(wǎng),原因很簡單,不僅可以租用模型,還直接可以交易,一步到位。
網(wǎng)友解答:我覺得這個(gè)問題樓主有廣告嫌疑,但是還是會(huì)有不少新手會(huì)看到這個(gè)問題,那么我就詳細(xì)說一下吧。其實(shí)這個(gè)問題可以這么問更好,拿到免費(fèi)分享的程序化源碼真的可以進(jìn)行程序化實(shí)戰(zhàn)么?怎樣利用這些免費(fèi)的資源可以進(jìn)行程序化快速的入門以及實(shí)戰(zhàn)?其實(shí)這個(gè)對(duì)于新手來說更有借鑒意義。
第一,拿到的源碼真的可以進(jìn)行實(shí)戰(zhàn)么?我覺得肯定是不可以的,雖然源碼給你看,但是對(duì)于新手來說是無法知道寫出源碼的人的水平的,也許也是一個(gè)菜鳥隨便寫一下,就發(fā)上來給大家看,那么對(duì)于自己或者對(duì)于自己的金錢來說也是來說,是不負(fù)責(zé)任的行為。所以我們要先了解程序化交易寫代碼的幾個(gè)比較大的坑。
1,未來函數(shù),因?yàn)槌绦蚧灰椎慕R约安呗缘幕販y都是基于歷史數(shù)據(jù),那么站在歷史的某一天你是可以向“后”看的,因此其實(shí)做這么個(gè)策略就可以在測試環(huán)境中所向無敵:“如果明天的 收盤價(jià)大于今天的收盤價(jià),那么我就以今天的收盤價(jià)買入,明天的收盤價(jià)買出?!边@個(gè)寫成交易開拓者 這個(gè)平臺(tái)的偽代碼就是IF(CLOSE[-1]CLOSE){BUY(1,CLOSE )} IF(MARKETPOSITION=1){SELL(0,CLOSE)}。這樣回測的曲線就如下圖一樣,是沒有意義的。
2,偷價(jià),這個(gè)因?yàn)榛販y價(jià)格你可以隨便要,例如,你做一個(gè)趨勢策略的模型,如果是突破類型的,那么突破了你設(shè)定的一個(gè)閾值,例如是昨天的最高價(jià),但是你的買入記錄寫的買入記錄價(jià)格并非是最高價(jià)而是今天的收盤價(jià),現(xiàn)實(shí)生活中價(jià)格漲上去,你在低位掛單,那么是要運(yùn)氣很好價(jià)格回下來才能成交的,但是在回測系統(tǒng)中只是發(fā)現(xiàn)今天到達(dá)過這個(gè)價(jià)位就算你成交,會(huì)記錄下來。那么也是隨便寫隨便賺的策略。例如IF(HIGHHIGH[1]){BUY(1,OPEN)},那么回測下來也是非常好如下圖,但是這個(gè)錢你賺不到。
拿到有這樣問題的策略那么就完全不能用的,所以一定要自己檢查,并且也要學(xué)習(xí)怎樣使用。
第二,怎樣利用這些資源更好的入門,如果確定沒有以上提到的源碼問題之后,假如我們拿到一個(gè)沒有問題的源碼,我們要怎樣進(jìn)行學(xué)習(xí),很簡單,做好任何一個(gè)事情都不容易何況門檻比較高的量化投資。拿到一個(gè)好的源碼之后,我們要完全讀懂源碼的意思。我們可以根據(jù)該源碼所使用的語言,讀明白每一句表達(dá)的意思,最后串起來,明白策略研發(fā)者他的核心思路是什么。然后明白這個(gè)策略是什么風(fēng)格的策略,趨勢還是震蕩?做的是突破還是指標(biāo)類的策略等等,等明白這個(gè)之后我們?cè)谟懻摬呗浴?/p>
第三。怎樣用拿到的策略進(jìn)行實(shí)戰(zhàn),我認(rèn)為既然源碼已經(jīng)開源,起碼許多人都有這樣的策略,那么你在直接進(jìn)行實(shí)戰(zhàn)我認(rèn)為不是明智之舉。一定要進(jìn)行一定的改造,根據(jù)第二部你已經(jīng)對(duì)這個(gè)策略的大體邏輯有一定的了解了,所以可以根據(jù)自己對(duì)市場的理解進(jìn)行改造來使得這個(gè)策略起碼在下單的時(shí)間點(diǎn)和價(jià)位上面和大家不一樣這樣來規(guī)避實(shí)戰(zhàn)的一些風(fēng)險(xiǎn)。但是有人會(huì)問“我是剛?cè)腴T的新手 如果上來就讓我改策略我怎么會(huì)?”,那么量化俠教大家最簡單的一招,就是和別人用不一樣的參數(shù),那么久對(duì)策略的參數(shù)進(jìn)行一些 調(diào)整,這樣在實(shí)戰(zhàn)中也能和大家用到不一樣的入場點(diǎn)。具體參數(shù)怎樣優(yōu)化,怎樣得到可以實(shí)戰(zhàn)的參數(shù),量化俠可能考慮在自己的平臺(tái)出一期專欄來講這個(gè)問題,這里就不多說了。
第四,來正式回答一些樓主的問題吧,其實(shí)程序化平臺(tái)那么多,平臺(tái)間的策略源碼又不通用,那么怎么樣去找不同平臺(tái)的源碼進(jìn)行入門學(xué)習(xí)呢。其實(shí)這里有個(gè)小技巧,就是去各個(gè)程序化交易的平臺(tái)的官方論壇上面,搜策略 或者 源碼等關(guān)鍵字,就有許多愿意交流和分享的人進(jìn)行分享。我以交易開拓者為例。
別的例如Multicharts,Tradestation也是一樣的。
最后在強(qiáng)調(diào)一句,投資沒有捷徑,如果只是要找到一個(gè)好的策略,那么付出是必不可少的,加油!