原創程序化交易整合方案作法—「文字檔下單機」與「整合式下單系統」的比較[程序化老手]
程式交易分析階段包括交易策略設計、策略績效測試、策略最佳調整、策略實測模擬等不同階段;
至于程式交易執行階段,除了使用券商提供的下單機執行交易外,亦可客製下單環境(此即所謂下單機)。
?
透過券商或期貨商的看盤軟體,取得報價、人工判斷策略觸發,手動下單,取得委託回報、成交回報的每一階段的耗時大約都是以秒計,因此完成整個成交週期再快也要幾秒鐘的時間。但若藉由客製下單系統(俗稱下單機)來執行交易流程,可以把交易時間大幅降低,甚至降到毫秒(0.001秒)的數量級。客製下單系統依據執行效率與技術應用層次,可以分為兩種,以下分別介紹并比較之--
?
1. 文字檔下單機(可讀取文字檔的交易系統)--
最早期的下單機稱為「文字檔下單機」,其作法為藉由如TradeStation(或HTS, Home Trade System)
的軟體,讀入市場即時資料,測試交易策略是否觸發買賣行動;若是,則將買賣行動的交易訊息,
包括商品類別、下單方式(市價或限價交易)、價格(如果是限價交易)、買買單位數等訊息,寫出到外部文字檔中(使用文字檔作為訊息傳遞媒介,係因為任何應用程式都可方便讀寫文字檔),再由下單程式定頻讀取文字檔中的交易訊息,解析后,送入文字檔交易系統內含的下單元件(可能為應用程式介面(API)或軟體元(如OCX)的函數呼叫)執行交易,藉此達成「讀取即時訊息、觸發策略、立即下單」的即時交易功能。有些下單元件可以回傳委託回報與成交回報,有些不可,但下單功能是一定需要的。(在目前法規限制下,不能直接丟單,因此在讀取到文字訊息后,合法的作法為Pop出建議下單訊息再由投資人驅動下單)。文字檔下單機可能的限制包括:( 來源:www.tumamayizhan.com )
?
(1)利用TS或HTS驅動策略在讀取訊號時可能造成延遲,以TS為例必須透過MetaServer讀取券商提供的DDE資料,但券商的DDE資料本身的報價品質就不夠好;
?
(2)由于TS系統本身佔用系統資源大,以之驅動策略可能會造成時間延遲;
?
(3)由于TS系統係以K線驅動(而非逐筆交易資料)驅動交易策略,必須在該K線(不管是5分或1分線)結束后,才能驅動策略,因此造成延遲,此缺點,可透過讀取TS系統中內部資料庫的方式稍微舒緩,但技術要求較高,由于接下來我們會提及另外的兩全其美的解決方式,因此就不介紹解法,有興趣的讀者可以參考程式交易論壇上的文章;{ www.tumamayizhan.com }
?
(4)在策略觸發后再透過TS寫出文字檔也會延遲;
?
(5)最后,下單系統讀取文字檔,不管在取樣時間或讀檔時間上也會造成延遲。
?
綜合以上所論,文字檔下單機雖然是一
種方便的解法,但并非是有效率的解法,若投資人可以忍受上述延遲,那麼使用在Excel導入券商DDE資料進行交易的作法,甚至更直接、延遲更低。基于文字檔下單機的以上限制,有資訊廠商提出改進解法并提供下單機產品,其作法雖然仍然使用TS作為交易策略的觸發平臺,但改進了報價頻率(使用真正的Tick報價工具連接到TS中),而由TS驅動交易行動后,直接把交易訊號送到下單機中的券商下單元件下單,換言之,不再丟出文字檔,也不需再由下單機撈取下單資訊。此作法,解決了以上傳統文字檔下單機第(1)、(4)、(5)的限制,但仍未解決(2)、(3)的限制,且此作法繞過文字檔的媒介在適法性上也有疑慮。
?
2. 整合式下單系統--
以上文字檔下單機的缺點,可以藉由整合式下單機來解決。整合式下單機的作法希望把讀取即時報價資訊、交易策略觸發、交易行動執行,甚至于委託回報取得、成交回報取得等全部一氣呵成的在系統中完成,因此可以把延遲降至最低。系統開發者可以選取任何一般性程式環境開發完成,例如Excel上的VBA(Visual BASIC for Application)、Visual BASIC 6.0、Visual Studio中的Visual BASIC、Visual C++、Visual C#等。選取一般式程式語言開發的目的是可以不需忍受TradeStation或HTS的限制,也可以把系統規模控制到最適中,當然也因此必須學會另一種語言的編碼。在即時訊息輸入時,整合式下單機可以讀取免費的DDE即時資料(但必須忍受大約1秒的延遲,對于非Tick交易的交易者而言,或許已經足夠),或者購買能讀取逐筆交易資料的軟體元件,至于下單、委託回報與成交回報等與逐筆交易資料源的軟體元件同樣都是使用直接嵌入(Embedded)在整合式下單機中的元件,如此一來,交易者可以追求毫秒等級速度的交易快感,此整合式下單系統對于進行價差、套利與逐筆交易的交易者而言是必要的配備;此作法最大的好處是,交易者可以在程式碼間自訂交易策略。甚至個人認為,與其要學習諸如TradeStation中的EasyLanguage語言,還不如把精力放在無所不能的一般程式語言的學習,如果不想要學太難的C語言,那麼VB家族語言的簡易性可以考慮,假若不想另外花錢購買VB語言的開發環境,那麼內附在Office Excel中的VBA語言是一種簡單又廉價的選擇。( 來源:www.tumamayizhan.com )
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 511411198 或微信:cxhjy888 進行 有償 編寫!(不貴!點擊查看價格!)
- 上一篇:Python量化交易線性回歸擬合股價沉浮
- 下一篇:沒有了!
相關文章
-
沒有相關內容