一般如果有在碰一些外匯交易或者加密貨幣交易的人就知道,這些商品在交易的時候,都是做相對價值的交易,像是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抓每日開盤收盤的部分打包
後面function以外的部分幾乎都要重打,首先這邊是使用打包後的函數抓取0050跟0051的資料,使用shioaji
再來是使用yfinance製作0050/0051的歷史資料,由於他資料有些值是0,後面多一段程式碼在做特例處理,不然正常來說直接相除就好了
最後就是用0050/0051的歷史資料做最佳化的部分,最佳化完用2019之後的資料作驗證
最後的報酬率曲線還滿不錯的,報酬率有超過90%,但MDD也有31%,論報酬風險比的話比前一天好
要想一下接下來弄甚麼,想不到的話可能就再拿其他指標做策略發文,然後看有沒有什麼地方可以改進,讓整套程式更方便使用