程序化壹般分為兩類模型,壹類是趨勢模型,壹類是震蕩模型,如果妳想兩者結合起來就要看自己的本事了,我的建議是程序化需要不停的去完美,但千萬不能追求完美,以下所說模型都是趨勢模型;
程序化壹種工具,幫助妳積累財富的工具,卻不是壹種暴利的賺錢方式,程序化模型有好壞之分,程序化賺錢的前提是壹個好的模型,程序賺錢的關鍵是堅持的執行,程序賺錢的精髓就是在確定最終使用模型之後,徹底的放棄妳對金融市場的壹切理解和交易技能.就像武俠小說裏說的,想練成最上層的功夫,就應該先廢掉所有的武功.
二.程序化模型的選擇與辨別
如果有人告訴妳他的程序化能在不長的時間內,讓妳的資金翻幾番,那妳要為他的言語或者他的程序打個折扣,但是如果對方又能拿出不錯的圖形或者非常漂亮的收盤測試結果放在妳的面前,妳又當如何說服自己是相信還是不相信?以下內容就是幫助妳如何辨別好壞模型.
1. 測試時間:壹個好的程序化必須經得起時間周期的測試,如果壹個程序化,結果很漂亮,周期卻只有壹兩個月,不可信;
2 . 使用資金:很多人貼出來的漂亮測試結果,使用資金常常是80%或者其它百分比,但這些都是不合理的選擇,因為金融市場資金管理很重要,在行情好時候,資金使用越高,收益越大,行情不好時,資金使用越高虧損越大,但我們無法去判斷接下來的行情會如何,所以,歷史測試的結果使用百分比的開倉方式是不合理,這也就是為什麽,有時候會出現,資金使用率為80%是,測試結果是虧損的,而且使用率為40%時又是贏利的.總而言之,資金使用時應該選擇固定的手數進行測試,不管他的行情如何,永不加倉或減倉,來測試壹個模型更為合理;
3、測試方式:開盤價和收盤價測試均有其不合理性,趨勢模型壹般以趨勢逆轉點為開倉信號,故較為準確的是:出現指令價位。
測試結果的分析:
a.指令總數:也就是信號數,過高,說明震蕩行情過濾不好,過低,說明風險大;如何判斷信號數合理呢?那就只有不同的模型在同樣的周期下的壹個對比了.還有壹個最簡單的方式就是將 指令總數/有效交易天數 以日內短線為例,壹般壹個有效交易日的平均信號數在2-5之間(此數據僅供參考);
b.利潤率:總利潤不用看,只看扣出最大利潤的結果,必須為正,而且測試周期越長利潤率應該越大,很多模型,測近期不錯,測遠期就不行,所以測試時應該盡量的去測能測到的最長周期.(當然因為行情關系也可能出現,長期比短期利潤率低,但總體而言,周期越長利潤率越高,才是好的模型的測試結果)
c.正確率:其它條件都完全壹樣的情況下,正確率越高自然越好,但也不用為了看到壹個高正確率的模型而心動,也不用因為妳自己模型的正確率低而擔心,壹般的正確率能在45%左右,就不錯了,因為程序化的本來意義就是賺大虧小,在震蕩的時候正確率自然會低;
d.最大虧損率:如果妳是選擇的固定手數,比如10手進行測試,妳的最大虧損率最大應該不能超過10%,當然,如果妳選擇的測試手數多,最大虧損率可能有所提高.如果妳選擇的80%的資金使用率,可能虧損會更大,當然也會有虧損的不大的測試結果,這往往和妳的測試周期中的行情的壹定關系,所以不值得過於依賴;
e.空倉時間:以日短線為例,空倉時間不能太高,太高,必然會錯過大行情,當然,這壹項不是最重要的,如果妳空倉時間長,利潤也高,錯過就錯過吧,錯過不是過錯,沒賺到也不存在虧損的風險;小結:測試結果分析不能只看某壹個數據,因為結合起來壹起分析:指令總數不能多也不能少,周期越長利潤率應該越高,正確率45%以上就可以接受,最大虧損不能過大,空倉時間可以自行把握;
如果壹個模型做到了以上幾點是不是就算壹個好的模型了呢,基本上可以算了,但最重要的是我們還需要結合信號圖形(此點需要壹定的程序化經驗,並不壹定看上去好的模型就是好,當然看上去好是前提,如果看上去都覺得壹般了,那肯定是不行)來分析,此外,還要看到模型裏是否有未來函數,如果是日內短線,信號就壹定不能消失,每天的跳空缺口需要技術性的回補等等其它問題都是分析壹個模型好壞的理由,但是,壹個好的模型是不怕任何測試與分析的.
三.程序化交易的執行
這壹點沒什麽好講卻又不得不講,很多有多年經驗的操盤手,甚至壹些國內的金融公司,常常會對程序化交易提出壹定的質疑,我就遇到壹個期貨公司的老總,因為覺得程序化好,準備的資金,進行了程序化交易,首先我不知道他選擇模型的依據是什麽,號稱只是因為人家是大公司,測試結果不錯,(如果是我聽到這樣的話,肯定不會很快的就認定他們的模型,因為我也見過某些(不方便透露)所謂大公司的程序化交易模型的原碼,說實在的,確實是**,理論基礎都無法說服我,但做出來的圖形要去迷惑壹些想使用程序化的入門者是綽綽有余)結果這個老總使用該模型交易時,正好遇到壹段時間的震蕩行情,可能是虧了不少吧,然後決定放棄程序化交易.
這就是壹個典型的程序化執行的例子,程序沒有人性,我們在使用時就更不應該加入人性,如果妳決定使用程序化就給自己壹個時間期限(不管是真錢也好,模擬也好),時間不能太短,如果短也可以,必須在這段時間中,妳要自己能分析出,是不是都能遇上基本上所有的行情,比如,測試三十天,遇到過十天的震蕩,也遇到了好幾天的大行情,以此來分析程序的好壞;絕不能因為幾次的使用結果不好而去否認程序化,也不能因為幾次的使用成功而完全信任,必須要有壹定時間的觀察與模擬,然後再到真錢的嘗試,時間長短是小事,關鍵是是否經歷過大部分的行情,從而選擇壹個最適合而不是最完美的模型進行自己的程序化交易;
壹旦執行,妳就應該忘記所有的金融市場的條條框框,妳就是壹個傻瓜執行者,聰明人在金融市場上不壹定能生存,傻子在金融市場也不壹定被淘汰.