放棄文華財經,自己編程實現期貨程序化交易


一、目前期貨程序化現狀:

 

由於有免費的CTP接口,期貨程序化交易目前比較普遍,很多人都嘗試過在文華財經、金字塔之類的軟件上回測和編寫實盤策略。

期貨程序化交易有很多優點:程序會按照設計自動執行,不受任何其它因素干擾,設計正確的請假下不會出錯。借助於程序,交易速度更快,遠遠超過人工下單的速度。節省人工成本,一個策略可以部署多個機器人,特別當前期貨存在夜盤的情況下,耗費非常大的人力成本。可以說,從事期貨交易,每個人都應該學習程序化。

本文將勸你自己實現量化交易,擺脫文華財經之類的軟件,看完不會后悔。

二、期貨程序化軟件會給你哪些限制?

首先是費用,文華財經的價格太貴,甚至手動下單也要收費,為0.2元/手,文華程序化交易軟件8C套餐基本配置7800元/年/賬號。TB交易開拓者交易費用太高,按成交量計費,每手交易都按交易所手續費的25%收取,對於成交頻率較高的策略十分不友好。

其次是編程限制:使用程序化軟件可以快速的寫一些簡單的趨勢策略,並進行回測。但由於其語言簡陋、語法支持不全 ,再會編程的人看來,反而造成了困難,無法自由實現自己的想法。以文華財經自帶的麥語言為例,甚至不支持掛單交易,也缺乏必要的控制語句和數據結構。用這些軟件完成入門后,反而限制了用戶更進一步的提升,很多人使用這些軟件很多年,居然沒有任何進步,不能不說是一種悲哀。如果你熟悉程序化軟件或者打算入門,現階段學習一門正規的編程語言才是最重要的。

三、編程語言以及CTP框架的選擇:

編程語言推薦Python和Java,主要原因是解釋性語言,方便新人上手。Python有很多完善的科學計算、深度學習、統計、金融的包,如果有這方面的需求,學習Python無疑最佳。Java性能強大,更容易學習,也值得推薦。其實,當你掌握一門語言后,學習另一門語言也不會花費太多時間,特別是對於編寫策略,使用不同語言並無太大的區別,也很容易在兩者語言之間轉換。

CTP的底層是C++,對於新手比較困難,可以選擇已經封裝好的框架直接使用,如很流行的VNPY已經FMZ量化框架等。這里推薦FMZ量化( www.fmz.com ),優點有:網頁控制(甚至能網頁下單),支持回測模擬以及實盤,用戶多社區活躍,入門教程和范例很多,方便自學入門,收費極低,約合1元/天。

四、使用編程語言的強大之處:

1.一個機器人多賬戶多合約交易

文華財經一個機器人只能控制一個合約,這無疑為賬戶管理和策略管理帶來了不必要的麻煩,FMZ框架可以在一個機器人內交易多個賬戶,同時操作多個合約,機器人頁面也可以有自己完全控制。圖是一個多品種海龜的例子。

2.突破交易所tick限制

在FMZ的策略模型下,你很容易就能操作N家不同期貨公司的賬戶,並把他們的行情融合處理,以最快的速度下單。一般情況下,最多可以從期貨公司服務器上得到兩個Tick/秒, 但通過把多個期貨公司的數據融合,以MA801為例,我們可以拿到最多一秒6次不重復的Tick,可以用來做高頻交易。這是目前任何交易軟件和其它框架都不能實現的功能。原帖地址:https://www.fmz.com/bbs-topic/1184

下圖為實現這一功能的源碼:

3.一切由自己操作的自由

自己掛單之類的只是基礎,你可以自由控制一切,如何開倉,如何平倉。有一部分期貨品種平今倉的手續費較貴,你可以選擇鎖倉。類似這樣的操作,使用編程語言易如反掌。那些為了方便的程序化軟件在實現這些特殊的需求時,反而變得笨重繁瑣。圖為Python平倉的定制代碼:

五、總結

引用我在”比特幣價格近期新高,該學習量化交易了"的一段話:

”重要的一點,要在實踐中學習。沒有必要所有的事情都搞明白才去寫自己的策略。大致看一下Python或者Java最基礎的語法,策略有一些思路,就可以動手寫量化策略程序。遇到的問題百度、看文檔,幾乎能找解答。從零開始程序化交易,最難的是行動的第一步。可能很多人考慮過開始學習量化交易,但90%的人都沒有寫出一行代碼,跑過一次程序。“

如果你想要學習商品期貨量化或者討厭軟件給你的限制,現在就開始學習吧。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM