如何選擇程式化交易模型

2022-09-14 19:00:16 字數 2614 閱讀 7672

一、程式化的理解

如何認識程式化?

不管是匯市還是**,市場**的波動都可以分為兩種,一種是大環境下的大趨勢發展,另一種則是大趨勢下短時間段的**。

而正是基於這種市場的**變化延伸出兩種不同的基礎交易模型:以研究趨勢為主的趨勢模型和以研究**的**模型。

當然一般的程式化模型都是將兩者結合起來的,就像廣播體操,學習的時候會分:有上肢運動的學習和下肢運動學習,但真正操作的時候必然是相結合的。程式化模型將趨勢模型和**模型的結合程度是考驗乙個開發團體的基礎要求,但是連廣播體操都第一代、第二代、第三代,所以程式化也是需要我們不斷去完善的,不可能有完美的存在。

我們可以從變化中尋求某些不變的規律,但是企圖用不變去推導出變化的東西,顯然是無稽之談。

程式化重點在於程式化模型,程式化模型有好壞之分,程式化賺錢的前提是有好的模型,不好的程式可能讓你虧得血本無歸。而程式賺錢的關鍵是堅持的執行,個人在執行上可能會受到情緒影響,而程式賺錢的精髓就是在確定最終使用模型之後,徹底的放棄你對金融市場的一切理解和交易技能。就像武俠**裡說的,想練成最上層的功夫,就應該先廢掉所有的武功。

二、程式化模型辨別

如何去選擇乙個程式化模型

程式化模型是從變化的市場中發現某些不變的因素,所以時間就顯得特別重要,因為在某個點,基於這個點上所有的東西都是不變的。而時間越長,這種不變的東西就越少,存在著獲利的機會也就越低。

如果某個ea公司找你說,他的ea能夠讓你在短時間內獲利,那麼你要仔細考慮了,短時間獲利的說明其本身就是不穩定的,可能這一秒在獲取鉅額利益,下一秒就虧空。如果對方又能拿出不錯的圖形或者非常漂亮的**測試結果放在你的面前,你又當如何說服自己是相信還是不相信?我們要從下面的幾個方面去考慮。

2.使用資金:很多人貼出來的漂亮測試結果,使用資金常常是80%或者其它百分比,但這些都是不合理的選擇,因為金融市場資金管理很重要,在**好時候,資金使用越高,收益越大,**不好時,資金使用越高虧損越大,但我們無法去判斷接下來的**會如何,所以,歷史測試的結果使用百分比的開倉方式是不合理,這也就是為什麼,有時候會出現,資金使用率為80%時,測試結果是虧損的,而使用率為40%時又是贏利的。總而言之,資金使用時應該選擇固定的手數進行測試,不管他的**如何,永不加倉或減倉,來測試乙個模型更為合理;

3.測試方式:開盤價和**價測試均有其不合理性,趨勢模型一般以趨勢逆轉點為開倉訊號,故較為準確的是:出現指令的價位。

測試結果的分析:

a.指令總數:也就是訊號數,過高,說明****過濾不好,過低,說明風險大;如何判斷訊號數是否合理呢?那就只有不同的模型在同樣的週期下的乙個對比了;還有乙個最簡單的方式就是將指令總數/有效交易天數,以日內**為例,一般乙個有效交易日的平均訊號數在2-5之間(此資料僅供參考);

b.利潤率:總利潤不用看,只看扣出最大利潤的結果,必須為正,而且測試週期越長利潤率應該越大,很多模型,測近期不錯,測遠期就不行,所以測試時應該盡量的去測能測到的最長週期。(當然因為**關係也可能出現,長期比短期利潤率低,但總體而言,週期越長利潤率越高,才是好的模型的測試結果)

c.正確率:其它條件都完全一樣的情況下,正確率越高自然越好,但也不用為了看到乙個高正確率的模型而心動,也不用因為你自己模型的正確率低而擔心,一般的正確率能在45%左右就不錯了,因為程式化的本來意義就是賺大虧小,例如,趨勢模型在**的時候正確率自然會低;

d.最大虧損率:如果你是選擇的固定手數,比如10手進行測試,你的最大虧損率最大應該不能超過10%,當然,如果你選擇的測試手數多,最大虧損率可能有所提高。如果你選擇80%的資金使用率,可能虧損會更大,當然也會有虧損的不大的測試結果,這往往和你的測試週期中的**的一定關係,所以不值得過於依賴;

小結:測試結果分析不能只看某乙個資料,需要結合起來一起分析:指令總數不能多也不能少,週期越長利潤率應該越高,正確率45%以上就可以接受,最大虧損不能過大,空倉時間可以自行把握。

如果乙個模型做到了以上幾點是不是就算乙個好的模型了呢,基本上可以算了,但最重要的是我們還需要結合訊號圖形(此點需要一定的程式化經驗,並不一定看上去好的模型就是好,當然看上去好是前提,如果看上去都覺得一般了,那肯定是不行)來分析,此外,還要看到模型裡是否有未來函式,如果是日內**,訊號就一定不能消失,每天的跳空缺口需要技術性的回補等等其它問題都是分析乙個模型好壞的理由,但是,乙個好的模型是不怕任何測試與分析的。

三、程式化交易的執行

這一點沒什麼好講卻又不得不講,很多有多年經驗的**手,甚至一些機構,常常會對程式化交易提出一定的質疑。比如有人認為程式化交易好,就準備了資金進行了程式化交易,結果使用該模型交易時,正好碰上持續虧損,結果很可能就是決定放棄程式化交易。

這就是乙個典型的程式化執行的例子,程式沒有人性,我們在使用時就更不應該加入人性,如果你決定使用程式化就給自己乙個時間期限(不管是真錢也好,模擬也好),時間不能太短,如果短也可以,必須在這段時間中,你要自己能分析出,是不是都能遇上基本上所有可能的**,比如,測試三十天,遇到過十天的**,也遇到了好幾天的大**,以此來分析程式的好壞;絕不能因為幾次的使用結果不好而去否認程式化,也不能因為幾次的使用成功而完全信任,必須要有一定時間的觀察與模擬,然後再到真錢的嘗試,時間長短是小事,關鍵是是否經歷過大部分的**,從而選擇乙個最適合而不是最完美的模型進行自己的程式化交易。

一旦執行,你就應該忘記所有的金融市場的條條框框,你就是乙個傻瓜執行者,聰明人在金融市場上不一定能生存,傻子在金融市場也不一定被淘汰。總之,沒有完美的程式化,不要懷有追求暴利的心態去使用程式化,做乙個合理的模型,成為乙個傻瓜執行者,你就能變成乙個輕鬆的富翁。

程式化交易(前奏)

作為業餘專案,為了做程式化交易,首先的前提是 1 拿到資料 2 登陸賬號交易 1 這個有一些開源的 資料專案可以部分滿足,部分滿足。在實時性方面和資料準備度上都不足。想想這些爬蟲式的資料專案能夠提供五檔 level 1 麼?2 目前已知的商業公司我都不滿意。在我做這件事的時候,行業現狀是在大券商的介...

程式化交易高手的交易心得 分享

總體來說,程式化交易 系統應該由 資金管理模組 交易策略模組和 研判模組三部分組成。這三部分是乙個整體,如果單獨拿出哪一部分來講都是沒有意義的。一 研判模組 研判模組是主要為資金管理和交易策略服務的。如果除去這一點,所有的 研判就都失去了目標也就沒有辦法設立標準,當然也就沒有了實際的意義。是研判的一...

國內外程式化交易軟體簡介

軟體官方 openquant是國外公司開發的一款比較高階的程式化交易平台,適合中小機構和個人投資者,可以做國內外各類資產的交易,引數優化 歷史回測都很完善。策略開發使用的事件機制可以很好地支援高頻交易。openquant一直被模仿,從未被超越。程式化交易培訓1 國內常用軟體介紹對比 程式化交易培訓2...