iT邦幫忙

2021 iThome 鐵人賽

DAY 9
1
永豐金融APIs

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

[Day9] 均線跨市交易實作

一般如果有在碰一些外匯交易或者加密貨幣交易的人就知道,這些商品在交易的時候,都是做相對價值的交易,像是EUR/USD,是交易歐元對美元的相對價值。然後BTC/ETH則是比特幣對乙太幣的相對價值交易。具體上來說,做多EUR/USD的效果就類似於賣出美元買進歐元,反過來說做空EUR/USD就是賣出歐元買進美元。

回到證券市場,我們買賣0050的時候的合約可以寫成0050/TWD,交易0051的時候合約可以寫成0051/TWD。如果把0050的價格除以0051的價格就組成一個新商品0050/0051,在做多0050/0051的時候就持有0050,在做空或賣出0050/0051的時候就會持有0051。

首先先把永豐金shioaji抓每日開盤收盤的部分打包
https://ithelp.ithome.com.tw/upload/images/20210909/20141238NkWzm5G4Bt.png

後面function以外的部分幾乎都要重打,首先這邊是使用打包後的函數抓取0050跟0051的資料,使用shioaji
https://ithelp.ithome.com.tw/upload/images/20210909/20141238HDK9xf9aeV.png

再來是使用yfinance製作0050/0051的歷史資料,由於他資料有些值是0,後面多一段程式碼在做特例處理,不然正常來說直接相除就好了
https://ithelp.ithome.com.tw/upload/images/20210909/20141238EhBwiMOPQB.png

最後就是用0050/0051的歷史資料做最佳化的部分,最佳化完用2019之後的資料作驗證
https://ithelp.ithome.com.tw/upload/images/20210909/20141238XSxIb4htii.png

最後的報酬率曲線還滿不錯的,報酬率有超過90%,但MDD也有31%,論報酬風險比的話比前一天好
https://ithelp.ithome.com.tw/upload/images/20210909/20141238VyRSVoEU3h.png
https://ithelp.ithome.com.tw/upload/images/20210909/20141238nc2DdCwtnb.png

要想一下接下來弄甚麼,想不到的話可能就再拿其他指標做策略發文,然後看有沒有什麼地方可以改進,讓整套程式更方便使用


上一篇
[Day8]訓練集與驗證集
下一篇
[Day10] 拋物線指標
系列文
從零開始使用python打造簡易投資工具43
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言