站內廣告

系統上路前的死亡準備

阿政

 http://www.yctseng.net/2010/08/blog-post_27.html

 

在這個台股剛剛可能從多頭走勢轉成空頭走勢的週末,寫一篇大家通常不喜歡的題目:交易系統的槍決日。因為這就好像是在觸眉頭:「我辛辛苦苦、費盡心力、殫精竭慮寫出來偉大交易系統,怎麼會『死』!」。好巧不巧,在我這幾年搞交易經驗中,該死的交易系統還真的是多不可數,特別是自己寫的策略,要槍斃它所需承受的心理壓力最大的是對於自己的否定。

前面幾篇:「固定金額停損當部位數量不固定」「依市場波動調整部位大小」「逆推資金準備 & R倍數表現」再加上這一篇,我想在這個範圍大約就算結束了。

在假設自己的交易策略不是"最佳化"來的、也『當你對自己的策略越了解,越不需要歷史回測』的前提下,從有了因應不同的市場狀況決定訊號進場的部位大小,也有了從該交易系統的表現去推算出所需要的資金準備量,而且也做好心理準備去承受未來這個交易系統所帶來對交易帳戶的滋補與傷害後,我們仍需要位這個交易系統做好"系統停損"的準備。

在上回提供下載的 Excel 檔案中有一個欄位是"平均 + 標準差x3",那是以交易系統在過去歷史上所得的交易資料去做隨機抽取 50 筆,做 30 次所得到的 MaxDrawDown 平均,以那 3 0次 各別的 MaxDrawDown 計算表準差,取標準差 3 倍加上平均值而成,除了用來作為一種"雪牆"大小的估計準備外,我想這可以用來作為交易系統的停損判斷。



我們可以讓他多 Run 幾回的"隨機抽取交易",然後記下那好多次隨機抽取交易所計算出的平均 + 標準差x3 ,取最大的那個數值,做為將來萬一交易到後來發生的 MaxDrawDown 發生到達這個數值的時候,必須要義無反顧、壯士斷腕地把系統停掉,不要讓它在繼續交易下去了。

姑且不論當初設計這個系統的時候是不是最佳化而來,我們都需面對市場生態變化造成自己的交易策略不再適用的風險。當令人既恨又怕的 MaxDrawDown 真的達到這個預先定下的界線時,希望那不是發生在本今虧損的狀況下,而是還有尚餘利潤的 XD

如果你無法對當這個殘酷的事實發生的時候,擔任那位重要卻顧人怨的劊子手,可以把這段程式碼加入你的交易系統中,讓它自己停止交易訊號...

if MaxIDDrawDown < -482516 then N=0 end if

N 是控制下單口數的變數,這一行必須放在計算下單口數與交易指令之前。

比如:

N = Round(MaxLoss/(AverageTrueRange(Length)*W), 0)

if MaxIDDrawDown < -482516 then N=0 end if

if Buy_Condition then
Buy N contracts next bar at Market
end if


不過,這有個缺點,要是你開啟的K棒數量不夠的話,這個 MaxIDDrawDown 函數所回報的 MaxDD會一直達不到你所設定的死亡界線,所以最好還是自己做交易記錄 XD

本文內容僅供參考,無任何買賣建議,投資人應謹慎評估,風險自負。

9 則留言

五六名

真是專業阿,感謝分享~

影雷者

真是利害,我完全看不懂..但還是要推一個...太利害啦...^^

童花舜

&lt;p&gt;複雜又難懂&amp;nbsp;&lt;/p&gt;
&lt;p&gt;股市專家不是說操作越簡單越好嗎!?&lt;/p&gt;

屁屁

看不懂!但是政大願意分享的心意值得大大大大推

謝謝 週末愉快順心

HPC

非常有深度的程式交易相關文章

little K

zzzz 專業阿,感謝分享~

呵呵..政大不用氣餒
「依市場波動調整部位大小」我有拜讀過
並藉此調整我自己程式的下單口數與獲利狀況
但願本篇文章我永遠用不到...XD

晴明

好複雜,但還是說謝啦

你可能感興趣

    精選文章

    更多
    邊緣運算市場今年衝300億美元,NPU需求居冠,英業達、智原成最大贏家!
    美伊永久和平協議將簽、利率不動?台股收漲1227點突破10均,端午變盤要向上了!
    MCU漲價潮+邊緣AI雙引擎啟動,新唐、盛群攻漲停,義隆卡位CPO添想像!
    每個月自動扣款的那些服務,有幾個你真的離不開?
    指數大震盪!聯電、日月光強彈,資金避風港營建興富發&電信遠傳強攻,下周盤勢重點。
    川普停火費半暴漲、台股跳空收漲1019點!下周升息、三巫日、富時全撞端午變盤?!