本帖最後由 萬年船 於 21-10-30 14:37 編輯
一直以來我都是以當沖交易為主,所以沒在使用Back-Adjusted連續月
但國外很多市場的日內波動相對小,買賣點差相對大,對當沖交易者很不友善
近期準備切入留倉的市場策略,所以開始研究了一下Back-Adjusted連續月
Back-Adjusted連續月優點:
如大家所知的,就是解決合約到期轉倉的遠近月缺口問題
這樣才不會在回測時,賺到不存在的缺口或賠到不存在的缺口(虛賺、虛賠)
Back-Adjusted連續月缺點:
1.依回測結束時間不同,每年的回測的結果也會不同(請參考下圖)
2.實際交易遇到轉倉時,要手動配合Back-Adjusted連續月調整上次留倉或訊號跑掉的價位(或程式化自動調整價位)
註:difference為業界主流的方式,但資料經過數年後的修正可能會導致價位變零或負值,ratio可避免此問題
價位為零會有數學上除以零的問題,負值有些指標或函數可能沒考慮到此情況可能也會出問題
(但仍應以difference為優先,只要回測期間不要太長的話,difference應不致於修正到零或負值的價位
因為每年的回測結果會不同,太早期的資料修正太多次了,訊號不一致的情況容易變多
所以Back-Adjusted的資料回測期間太長,意義也就不大了)
所以Back-Adjusted連續月不是只有優點,其實它也有它的缺點與麻煩
上圖的X軸為資料年度,Y軸為回測區間的結束年度
綠色框框為最接近真實交易的損益績效
隨著回測區間的結束年度不同,回測的損益績效也會飄來飄去
一般來說,較近期年度的資料飄的比較少,因為修正的次數比較少(如果每次修正的缺口都一樣大的話)
手動配合Back-Adjusted連續月調整上次留倉或訊號跑掉的價位,可用此SynchronizeMarketPosition訊號來達成
SynchronizeMarketPosition.zip
(1.51 KB, 下載次數: 22, 售價: 1 金錢)
何時該用Back-Adjusted連續月:
1.當沖交易,可直接用未修正連續月即可,無須忍受Back-Adjusted的缺點與麻煩
2.留倉交易,如果交易次數不夠多,每年獲利不夠大,遠近月價差缺口幅度太大,則必須用Back-Adjusted連續月
第一點比較沒問題,第二點問題就大了,因為很抽象,量化交易還要靠感覺就不叫程式交易了
以下提供一個CalculateAnnualRolloverGapValueCI的指標以輔助第二點的判斷
CalculateAnnualRolloverGapValueCI.zip
(2.56 KB, 下載次數: 19, 售價: 1 金錢)
此訊號前面的註解區塊是R程式原始碼,用來計算Binomial分布的信賴區間
在Multicharts圖裡使用此訊號時
data1請設定為該商品N年未修正連續月
data2請設定為該商品N年difference的Back-Adjusted連續月
此訊號會算出四個值
1.CI 100%:每年轉倉遠近月價差虛賺的金額
(真實的最大金額)
2.CI 95%:每年轉倉遠近月價差虛賺的金額的95%信賴區間
(理論上每20年有19年虛賺的金額會小於此值)
3.CI 75%:每年轉倉遠近月價差虛賺的金額的75%信賴區間
(理論上每4年有3年虛賺的金額會小於此值)
4.Rollover Gap %:每次轉倉遠近月價差幅度百分比
以ZS(黃豆)為例,此訊號跑出來結果如下圖所示
Rollover Gap %為1.82%,每次轉倉遠近月缺口竟高達1.82%,其實還蠻大的,但重點不是此值
主要是要看【CI 95%】這個值,此值為$4,936.53
如果每年一口單的平均獲利金額大於$4,936.53,表示轉倉的虛缺口有95%信心水準下影響不了你
此時用未修正的連續月應該已經可以了,但如果能遠大於此值,會更好
相反如果每年一口單的平均獲利金額小於$4,936.53,表示該採用Back-Adjusted連續月
以這個策略績效來看
每年一口單的平均獲利為 7,976.94 (= 110,879.5 / 13.9)
大於【CI 95%】的$4,936.53,理當可以直接用未修正的連續月
但如果再細看近年的表現,會發現近期好幾年獲利都小於此值
表示近期幾年仍容易受轉倉的虛缺口影響
所以此策略仍用Back-Adjusted連續月會比較妥當
|