如何做選擇權程式交易-回測篇

by Jimmy
1.6K views
如何回測選擇權封面

🍬回測選擇權策略的作法

這邊要介紹使用選擇權超人的回測工具進行選擇權的回測

選擇權超人是一個結合multicharts的工具,整合了選擇權的多商品,以及複雜的資料處理跟整併,

包含多檔位,計算價平,還有常常深價內外沒有資料,連續月選,連續周選整合……等

如果你本身有用過multicharts做過程式交易,那用法會跟你之前使用上一樣,絕對可以快速上手

如果你沒有用過multicharts,我們會有簡單的基礎教學課程,讓你也可以自己回測你的選擇權交易想法。

❤️‍🔥如何程式交易選擇權 ? 就用 Powerlanguage 以及 Multicharts。❤️‍🔥

回測流程

  • 下載安裝選擇權超人回測程式
  • 用powerlanguage寫策略
  • 寫完後,掛上輸出訊號的pla檔
  • 打開選擇權超人回測機
  • 選取要回測的對應檔位與腳位
  • 按下回測
  • 觀看報告
  • 策略疊加
  • 觀看投組疊加報告

如果你已經有台指期的策略,你甚至連任何一行程式都不需要寫 ,只需選取你要甚麼動作,比如是要 Sell Call 還是 Buy Call 做價差甚麼…然後是價內還是價外哪一檔,接著按個按鈕就可以看到選擇權的回測結果數據。

這個工具讓你用原本就非常熟悉的Multicharts 以及powerlanguage,

不用再去管選擇權的資料的處理,用原本的寫法寫好進出場,

一鍵直接回測選擇權策略。

💈實際案例示範

0.下載與安裝回測主程式

如果還沒有下載回測程式,請依照安裝教學完成主程式安裝

1.準備好你的策略

首先寫好你的策略,比如我拿一隻過高就進場,破低就出場的簡單策略,powerlanguage語法如下 :

powerlanguage示範策略程式
inputs:len(?),len2(?);
buy("Buy Call")  next bar at highest(H,len1) stop;
if mp<>0 then sell("Sell Call") ALL contractS next bar at lowest(L,len2) stop;

if  _settlement then setexitonclose;

我們先套在原始台指期貨上,看看績效曲線。

原始台指期回測績效曲線

2.加上powerlanguage的輸出訊號

掛上選擇權超人專屬的輸出交易明細訊號,input參數填入要輸出的資料夾跟策略名稱,以及要週選還是月選,記得回測要開啟細部回測(使用1分K)

選擇權超人輸出訊號

對應的參數有如下圖

isWeeklyContract : 輸出月選或是周選 0為月選 1 為周選 (填入數字)

output_trade_file_path: 指定文字檔要輸出到哪個資料(之後再回測機那邊要選從這個資料夾讀進來,記得最後要有 \ 結尾喔 “C:\aaaaa\bbbbb\tradeoutput\”)

除了isWeeklyContract 是填入數字以外,其他要填入的都是字串,所以記得要用 ” ” 包住要填入的東西

3.開啟選擇權超人回測平台,選擇模式跟對應的檔位

打開選擇權超人回測平台,右上角點選新增,找到剛剛策略輸出的文字檔資料夾,選擇對應的資料夾,如下圖紅框處

就會顯示出下面對應的策略名稱跟參數可以去做設定

選擇權超人回測機主要介面

接下來就是你可以簡單的把原始策略的進出場當作一個訊號,假設我們用剛剛的簡單策略當例子。

剛剛的策略沒有空單,所以就勾選不動作。

而每次多單進場我就buy call 價平,出場就把選擇權的call平倉。
新增剛剛輸出的檔案後,這邊可以自由設定交易成本,並且下拉選單選擇好對應的訊號然後輸入0也就是價平的位置,如下圖這樣選單選好

單一策略回測設定

接著按下回測,稍等一下就可以看到回測結果以及各種交易數據了

回測曲線

你可以用自己寫的Multicharts策略訊號自由的切換不同選擇權策略,腳位,檔位….

腳位設計

腳位設計上,有單腳到四腳,選擇權每次訊號是要甚麼方式,

比如每次都只要一個buy call ,也就是每次都只有一個腳位,那就選單腳,

如果每次都要做價差 要一個buy call 配一個 sell call 或是每次進場都跨(勒)式,比如雙買或雙賣…. 只要進場要兩個腳位的就選雙腳

如果每次進場都要三個腳位就選三腳

如果每次進場都要四個腳位就選四腳 以此類推

如果多於四腳的組合就要用後面疊加的功能

檔位設計

在擋位設計上,不用管什麼價內價外或是你是call還是put,我們用更值觀的方法,價平就是0,指數價格越大的擋位,就從1一路往上加

價格越小的檔位就從-1往下減,這樣你就不用還要換算或思考現在是什麼價內還價外,檔位直接對應價格大小就好

檔位設計

比如某一隻的Multicharts策略,想要他空單訊號時先不動作。

而多單訊號時,原本很複雜的去buy call價外2檔,sell call價外5檔,buy put價外3檔,sell put價內2檔,

只要想我要做價格大一點還是小一點,我要做比較上面還是比較下面

用剛剛更直觀的設計,就是去buy call上面2檔,sell call上面5檔,buy put下面3檔,sell put上面2檔,

這樣很容易更直接想到做的檔位在哪。

設定會這樣,假設手續費先單邊設定2.5點,那我就是一樣透過下拉選單選擇對應的動作,對應的檔位如下圖設定

四腳設定

接著一樣按下回測,就可以去看回測結果的數據了

複雜多口數策略做法也一樣

下圖是一隻的卡了不同濾網,不同進出口數,也有各自停損方法的網格策略。

多單初始單為1口,接下來用3口3口的方式加碼,空單初始單5口,接下來用1口1口的方式加碼,如圖所示

mc多口數進出策略

如果我又想要多空用不同的選擇權價差進場,我想要用周選

當MC訊號是多單時,buy call 上面1檔 並且 sell put上面3檔

當MC訊號是空單時,buy put 價平 並且 sell put下面4檔

做法也會先掛好選擇權超人的powerlanguage輸出訊號在圖表上,
然後去到回測平台上,下拉選單選對應的檔位如圖

一樣按下回測等他回測完後,就會有結果可以從瀏覽看了

進場價格回測功能

除了用檔位進行回測,也可以選擇權用價格來進場,比如我想要multicharts多單訊號時都去買10塊的call,

或是我賣方要賣都去賣30塊,舉下圖為例子,就是每次多方訊號發生時,我要賣30塊的call以及賣20塊的put

這個價格進場模式,都是由價平去往離開價平的方向找的第一個大於等於的那個位置,比如我多方訊號出來時,要買20塊的周選樂透,我就是由價平往外找最靠近20塊並且大於等於20塊的地方的價格去進場。

回測報告介紹

當回測完成後,瀏覽按鈕按下去就會呈現回測的報告了,
以下介紹主要的資訊區域

績效概要

績效概要,主要是可以查看交易常見的基本的績效數據

績效概要圖

績效圖

績效圖是可以點按是否同時或獨立顯示multicharts多單訊號或是空單訊號的部分,並且可以跟原始的MC直接輸出的期貨訊號去做績效的比較

績效曲線圖

年/月/日(單筆) 損益

整理成對應周期的交易資料跟損益,例如年損益如圖

年損益圖

成交明細

這邊有細部的價格可以讓你去做mc訊號對應選擇權訊號進出場的核對

成交明細圖

回測投資組合,與觀看多策略疊加報告

交易常常會需要知道多策略的回測結果,利用回測報告區塊,過去的回測結果都有自動存下來,可以隨時查看

這邊還可以利用獨特的投組功能,讓不同腳位,不管是周選還月選,多還空訊號,
都只要勾選要疊加的策略按右上角的疊加按鈕後都可以自由疊加策略組合來看績效。

我們隨便勾選一些策略,如下圖把左邊的框框勾選起來:

回測報告區塊勾選疊加

稍微等待後,就會產生疊加起來的績效報告了

多策略合成績效曲線

一樣的,疊加出來的績效報告曲線,也是可以自由切換顯示Multicharts多空的訊號的。

以上就是利用multicharts搭配選擇權超人回測平台來回測選擇權的方法簡介

🔨設計自己的策略

接下來就是自己的道路了,發揮創意跟想像力吧

你可能可以…

1.針對選擇權開發專屬選擇權策略

比如專找一些高勝率的點去做買方,或是在時間價值流失比較快的地方比如快要結算去做賣方策略,或根據波動度,最大化的利用買賣方的優勢去做交易,想專作價差或是做跨式勒式….等都可以自由的設計。

2.讓交易的商品更多元化

如果只有交易台指,多了一個選擇權,是個可以針對盤勢有不一樣應對的工具,讓交易不再單一化。

3.讓原本的台指期策略直接優化提升🚀

用選擇權把你的原本台指策略風暴比拉高,或是某些策略改用選擇權打,這都是很值得花時間去研究的地方,也可以讓原本低勝率的台指期策略,利用選擇權特性,讓整體交易部位交易起來在被巴的時候的舒服程度做提升。

4.自動化的避險你需要的部位

周末有時候留倉,或是有股票部位,都可以自動化的寫策略去用選擇權回測工具去分析如何避險。

想像力力就是你的超能力,動手回測來挖掘更多可行性吧


資料來源:期交所公開資料
免責申明:投資有賺有賠,僅分享量化研究與過去歷史統計數據,不保證資料或結果之正確性,量化策略也都很容易有時效性,內容和意見僅供參考,並不構成投資建議或勸誘,請勿直接串接下單。讀者應當自行進行完整的研究,並在做出任何投資決策前,理性評估,為自己負責。


你可能也喜歡

Leave a Comment