更新於 2022/01/22閱讀時間約 2 分鐘

MC模組開發.11

模組的優劣比較有諸多方法,這裡介紹過度加碼的概念。直覺的,過度加碼並不能用在實際交易,因為交易者無法承擔破產風險,不過當模組在回測時,利用當前累積獲利金額的某一個比例來進行加碼,而且是過度加碼的方式來進行實驗,此時可以直覺地猜想,績效差的模組會因為沒有累積獲利而無法加碼。因此同樣的回測期間,績效差的模組永遠只能進行1口單的基本買賣;同理,績效好的模組可以透過加碼方式讓獲利呈現幾何級數方式大爆增。也就是說透過過度加碼的極端壓力測驗方式,可以讓好的模組與壞的模組績效差距拉得更開,透過最後一次下單的口數大小,來比較模組之間的優劣。 那甚麼是過度加碼 ? 依據凱利公式的敘述,最適的加碼比例與平均贏輸金額的比例和勝率有關,只要加碼方式跟這兩個數據無關,就不是最適加碼的方法,這邊我簡單列舉幾個回測用的加碼方式,用來評鑑模組間的優劣 1. 當前累積獲利的金額/2倍的保證金金額,這個意思大約就是台指期這個商品每每累積獲利一個40萬,就加碼一口 ! 2. 當前累積獲利的金額/當前最大一筆損失金額的3倍 3. 當前累積獲利的金額/當前價格變動2%的虧損金額 4. 當前累積獲利的金額/當前最大的淨值回落金額 ... 其他的加碼方式,就靠讀者的想像力,最終目的是鑑別模組的優劣,利用過度加碼的概念拉開優勝劣敗者的距離。也就是說,單一一口單的模組,透過過度加碼方式,比較其最後下單的口數,就能輕易比較兩者間的優劣。
例如,A模組、B模組下單商品都是台指期、一口單的情況下,都有同樣的NetProfit/MDD的比例,但是A模組的MDD發生位置在比較早期,B模組的MDD發生在比較在近期,明顯的,B模組的評鑑理應輸給A模組,但是Multicharts的績效報表無法提供這個比較,需要自行仔細目測績效走勢圖,所以一個過度加碼的概念可以輔助你做模組評鑑的決策,以下提供簡單的過度加碼的參考程式碼
Vars:xQuota(0),NP(0),MDD(0),LongPrice(0),ShortPrice(0);
If TotalTrades=30 then xQuota=1;
If TotalTrades30 then begin MDD=MaxIDDrawDown; NP=NetProfit; If MDD0 then xQuota=IntPortion(-1*(NP/MDD)); If MDD=0 then xQuota=1; If NP0 then xQuota=1; End;
Buy xQuota contracts next bar at LongPrice stop; SellShort xQuota contracts next bar at ShortPrice stop;
分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.