筆者曾有幸學習了幾個月的程序化交易,對于程序化交易有了一些自己比較淺顯的看法,希望大家批評指正。
程序化交易就是投資者希望可以實現復雜的交易思路并且能簡單操作的智能交易系統,因此電子化交易系統很快就從交易功能的自動化向交易思路和交易策略的自動化轉變。現在國外的理財型投資公司和對沖基金大多都采用計算機程序交易,可以預見,未來市場中程序化交易將被廣泛使用,尤其是將來股指期貨推出以后。
一.程序化交易的優點
1.計算機能夠持續穩定、精確嚴格的按原則工作,能夠大規模的進行數據處理,而人靈活有余,原則不足且不能長時間地機械操作。
2.犯了錯誤不愿意糾正,抱著僥幸的觀點。貪婪、恐懼等是人的天性,而計算機會按照既定的規則去處理錯誤信號發出的指令和生成的持倉。
3.期貨市場有著無可比擬的高效率和豐富的市場機會(短線,中線,長線甚至T+0),由于對行業和品種認識的局限性,不能精通每一個期貨品種,每個品種都有活躍期和萎靡期,只有選擇在活躍期跟蹤交易這個品種,我們才能取得良好收益,有了捕捉市場趨勢的程序就能很好的解決這一問題。
二.程序化交易的缺點
1.大部分程序化交易系統都是為了追隨趨勢而編寫的,比較注重技術分析,但技術分析一般是滯后于價格變化的。依靠技術指標編寫的模型發出的交易信號也滯后于趨勢的起點,大多數在區間震蕩行情中遇到頻繁交易并可能連續虧損。
解決方法:編寫輔助指標來過濾假信號,避免頻繁交易,或者選擇當K線走完以后再發出交易指令。在不同的條件范圍內使用不同的交易模型,比如趨勢模型和震蕩模型交替使用。
2.難以確定頭寸規模的大小也就是科學的資金管理。
解決方法:分散品種風險,不要把所有的雞蛋放在同一個籃子里。多品種趨于同向時的最高持倉比例限制。頭寸規模的確定:行情級別判定,波動幅度N值的計算,單位頭寸U值計算。
丹尼斯方法:TR=MAX(H-L,H-PDC,PDC-L) 實際波動范圍
N=(19×PDN+TR)/20 價值波動范圍 PDC昨日收盤價 PDN昨天的N值
價值量波動性=N×每手數量
交易單位 U=(1%權益)/價值量波動性
最大頭寸限制:單一市場 4U 高度相關市場 6U 低度相關市場 10U 同向市場12U 順勢時,每間隔0.5N,就加碼1U,加到4U為止。
三、編制適合自己的程序化交易模型
從實際出發,自己每天有多少固定的盯盤時間。資金規模如何,風險承受能力怎么樣,自身能夠接受的資金波動是多少?盈利與虧損期望值是多少?根據自身資金波動承受力編制適合的交易系統。我比較喜歡長期交易系統,下面是長期交易系統的優點和缺點。
長期交易系統的優點和缺點
優點
每天只需要花費很少的時間
行情變化對投資者的心理壓力比較小
操作次數少
一年的盈利往往是通過幾筆大的交易獲得
用簡單的方法可以獲得極大利潤
缺點
操作的輕微變形可能會引起權益的巨大波動
需要恒心和耐心
交易成本很低 勝率不會很高
錯失一個好的交易機會有可能把一個盈利年度變為虧損年度
操作過程枯燥無味,沒有成就感。
每個人可以根據個人的喜好選擇,在交易程序的編制中,保持指標的簡單性、實用性 (不超過三個指標的組合),很多指標各有各的原理和依據,把他們都揉在一起往往彼此沖突、相互矛盾。復雜并不等于高盈利,盈利的模型很可能很簡單,高勝率也不見得是好系統。長期穩定的盈利模型往往是趨勢跟蹤系統。趨勢跟蹤模型:價格突破某一區間后,形成了正反饋效應后,追隨價格快速上漲和下跌的一種模型。(中散戶、穩健的投資者) 特點:回報率高,利潤可觀。準確率低。成功的投資不但需要正確的市場分析,而且需要正確的風險管理,正確的心理控制。分析方面,判斷買點的重要性如果說占 10%,那么判斷賣點則占90%。而分析在整個系統的重要性也可以說占10%,所以判斷買點在整個系統中重要性不過1%。程序化交易是靠對以往行情盈利模式的統計,在達到符合要求的條件出現時發出交易信號,我們無法靠預測盈利。
四.程序化模型的檢測
一個正確的交易系統策略思想,必須能夠經受歷史數據的檢驗,模擬實戰的檢驗,初期實戰的檢驗以及長期實戰的檢驗。經過充分測試的模型才能進入實戰、測試得越充分可靠性越高、在測試過程中對模型進行優化、不要用真金白銀去測試。要進行分品種差異測試,檢測模型的普遍適應性,規避單一品種測試的不穩定。當初老師讓我編一個總利潤率到達30%以上,盈利系數大于60%,分析周期自行選擇的模型,實驗了很多模型始終沒找到。在我看來沒有一個模型可以滿足所有品種,但可以找到一個適應品種較多的模型。單一品種也要進行分時段測設。對于投資者來說,每一次符合其交易規則的失敗的(賠錢的)投資都是對的,每一次偏離其交易規則的成功的(掙錢的)投資都是錯的。
對系統穩健性影響最大的指標:1.總的凈盈利。2.交易數量不影響盈利的情況下越小越好。3.持倉天數一次交易平均持倉時間越少越好。4.最大回調值整個測試時間內權益可能從波峰到波谷最大值。首先從心理上,它預期了可能遭遇的最嚴重的情況,往往我們一進場就有可能遭遇險情。其次,最大資金回調決定了資金管理中的開倉手數,最大資金回調也提供了介入系統的良好時機。通過負相關或不相關品種組合,減少風險。5.最大回調時間前一個波峰與后一個波峰最長持續時間。6.最大連續虧損次數。7.盈利與最大回調之比最重要的指標。8.盈利虧損比 平均盈利平均虧損比值越大越好。9.勝率 趨勢跟隨系統勝率低,均值回歸高。10.時間百分比系統中有頭寸時間占所有時間比例。
趨勢性盈利模型的特點:(1)勝率不是很高,一般不超過60%,因為盈利靠的是單邊勢,但在任何一個行情運行過程中,往往震蕩勢的比率要大于單邊勢,因此靠趨勢盈利的程序勝率不會很高,但反而是一個健康的系統。(2)一次盈利彌補若干次虧損。(3)盈利單的持倉時間往往是虧損單持倉時間的數倍。
一個好的交易系統,應該有能力捕捉到突發事件的影響。系統仿真結果的標準離差越小,系統穩定性越高。系統穩定性越高,系統在實際使用中的可靠性越高。穩定贏利首先必須要有時間的概念,最少也要三年以上,站高點,看的遠點,沒有完美的以直線形式上升的資金曲線。穩定贏利的背后,總有暗流,有回撤和盤整的資金曲線才是穩定的;如果是陡峭的,要么是不穩定的, 要么是穩定贏利的漫長過程的一個微小部分 。
五.程序化交易模型的執行
執行來自對系統的信賴,信賴來自對系統的深刻了解。系統是我們的朋友,是我們在期貨中生存并成功的武器,信賴它并容忍系統的缺點,才能執行并取得成功。
1、盈利的模型有很多,關鍵還是看能否嚴格的執行,要對自己的嚴格測試通過的程序有信心。
2、勇于承認錯誤。很多投資者找了別人代為下單,可以避免因為虧損影響自己的心情,影響接下來的交易。太多的虧損是因為賺錢時盡早的落袋為安,賠錢時不甘心抱著賭一把的思想,即使偶爾一兩次成功反彈但一直這樣肯定會遭到市場的報復的。
3、切忌貪婪、忘卻恐懼,不要在不知不覺中掉入爆倉的陷阱。
4、要有從一而終的美德,程序化交易只有長期、嚴謹、精確地進行才能發揮它的威力。
5、不要離行情太近,把自己當成旁觀者。我很喜歡的一句話:老人總是這樣,看云很近,看市場很遠。把云看清了,市場就裝在你的心里了。
6、執行程序一定要斬釘截鐵,毫不猶疑,堅決以市價開倉,不要為了幾個點的小利而承擔巨大虧損。
華爾街流行這句話,市場一定會用一切方法來證明大多數人是錯的。期貨市場是“零和博弈”,永遠只是少數人掙錢。只有不斷堅持學習,才能找到屬于自己的“圣杯”。再次感激文華的周輝老師把我帶入程序化交易的大門,希望人人找到屬于自己的圣杯。