iT邦幫忙

2021 iThome 鐵人賽

DAY 13
1
永豐金融APIs

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

[Day13] 策略最佳化模組改造(3)

前面Day11和Day12的文章看到一些錯誤,已經修正了,之後這系列寫完再把完整一點的.py檔放到google drive或是github。
回到正題,今天用均線策略作範例處理最佳化的function,首先最佳化的部分做成一個strategy_optimize函數。前一篇文章參數裡面func的地方,後面會做一個bodyfor_optimize函數給他用,然後前一篇args的地方,除了做為參數傳入的kbars_daily之外,最佳化過程中產生的bestret之類的資料也一併放在這邊傳到recursive_loop函數裡面。
https://ithelp.ithome.com.tw/upload/images/20210913/20141238o0iwHdPuD7.png

這邊是bodyfor_optimize函數,就是本來optimizeMA當中for loop最裡面的地方,這邊跟策略的相依性會比較大,所以先設計成每個class strategy_XX都要獨立寫一份,哪天有靈感再來簡化這一塊,不過應該多少會剩下一些需要case by case的東西。
https://ithelp.ithome.com.tw/upload/images/20210913/20141238A04mR3iZ8j.png

最後是執行的部分。用新做出來的strategy_optimize來跑一次最佳化,然後搭配原來的optimizeMA做驗證,兩邊結果一樣今天時做的東西應該就可以用了。
https://ithelp.ithome.com.tw/upload/images/20210913/20141238SkQxQiFs35.png

以下是ret和ret2的內容,兩者一致,代表今天的內容應該沒問題。
https://ithelp.ithome.com.tw/upload/images/20210913/201412383ygZoYGSTF.png
https://ithelp.ithome.com.tw/upload/images/20210913/201412383x974jCreI.png

接下來如果有靈感可能會再打磨一下bodyfor_optimize的部分,如果沒靈感的話會試試看拿1分k寫策略做期貨交易,畢竟期貨市場有日夜盤,1分K會比現貨還要連續,在這情況下用1分k寫策略比較有意義。


上一篇
[Day12] 策略最佳化模組改造(2)
下一篇
[Day14] 永豐shioaji API,期貨篇
系列文
從零開始使用python打造簡易投資工具42

1 則留言

0

我要留言

立即登入留言