iT邦幫忙

2021 iThome 鐵人賽

DAY 28
1
永豐金融APIs

從零開始使用python打造簡易投資工具系列 第 28

[Day28] 一次跑n支策略最佳化

這邊實做一個函數,讓他能夠一次對好幾隻策略做最佳化,輸入的strategylist就是把好幾個策略包在一個list裡面餵進來,把所有的策略最佳化之後回傳結果。
https://ithelp.ithome.com.tw/upload/images/20210928/20141238egitbqdEHc.png

以下是main的內容,lambda:0這個指令可以創造一個空的物件,然後動態放一些資料進去,我從這邊看來的(https://stackoverflow.com/questions/1878710/struct-objects-in-python)。 裡面的name代表策略名稱,obj就是策略的class,range代表最佳化的範圍。如果要新增其他策略(像是MACD),只要用一樣的寫法新增資料再append就行了。
https://ithelp.ithome.com.tw/upload/images/20210928/20141238w3Uk5eBmbC.png

以下是最佳化的結果,可以看出來在同樣在這段時間布林通道的報酬比均線還要多,其他像買賣訊號和每日報酬率也是有的,就不再贅述。
https://ithelp.ithome.com.tw/upload/images/20210928/20141238i5WxhoOTKq.png

最後再看看MDD,BBAND的MDD雖然高一點點,但報酬比均線多好幾倍,其實是值回票價的。
https://ithelp.ithome.com.tw/upload/images/20210928/20141238gha3DM7kuG.png
https://ithelp.ithome.com.tw/upload/images/20210928/201412382FPu3HI1vp.png

其實不寫那個function好像也可以,只要把所有的策略通通都丟到main裡面然後一支一支跑最佳化就好。


上一篇
[Day27] 布林通道策略
下一篇
[Day29] RSI指標
系列文
從零開始使用python打造簡易投資工具42

尚未有邦友留言

立即登入留言