A. 高頻交易系統怎樣在多線程和埠通訊之間取捨
首先, 系統各業務功能的模塊化與主程序採用什麼樣的部署運行狀態(多線程或多進程)是不矛盾的,在各部分系統用同一種編程語言的前提下,兩者可以輕松地同時得到。這也是大家在答案中都提到過的解耦,但如果是多語言開發的系統,彼此之間還是需要數據通訊,或者是多個策略需要共用一個前端數據源,比如交易所只允許接一個連接,多個策略系統要用,可能沒辦法部署在一台機器上,這樣的情況下網路通訊都不可避免,可以升級通過內部網路和機器硬體來處理,換句話說,得具體問題具體分析和優化。
最後,一點建議,跟我們最近的一個R語言的策略開發SDK實例相關,R語言層面寫的策略只能是單線程的,而後端需要支持多個交易所的行情數據採集源、交易通道介面,必須是多線程,前後之間通過用C++開發R語言擴展包來銜接,中間就是採用的共享內存數據來通訊的,供借鑒參考。
B. 什麼是高頻交易系統
1、高頻交易系統概述
高頻交易是指從那些人們無法利用的極為短暫的市場變化中尋求獲利的計算機化交易。
比如,某種證券買入價和賣出價差價的微小變化,或者某隻股票在不同交易所之間的微小價差。
這種交易的速度如此之快,以至於有些交易機構將自己的「伺服器群組」(server farms) 安置到了離交易所的計算機很近的地方,以縮短交易指令到達交易所的距離。
2、高頻交易系統特點
(1)交易指令完全由電腦發送,對市場數據的響應延時在微秒級,有的甚至是納秒級;
(2)系統由專用的軟、硬體組成;
(3)系統的硬體需要放在離交易所主機很近的位置上,所謂 co-location。
3、高頻交易的兩大核心要素
(1)一是產生高頻交易信號的交易策略;
(2)二是優化交易執行過程的演算法。
1、高頻交易系統的特點
高頻系統是一種非常有特點的計算機應用。在輸入和輸出層面,數據比較簡單。
輸入用的都是市場行情數據,用的是Tick級別,甚至是更細顆粒度,比如用order book上數據。
輸出就是報單到交易所,執行層面上頻率會比較高,有可能會大量、頻繁地向交易所報單。系統運行時處理的信號源是交易所播報的實時行情,要求用最快的速度對信號進行拆解、計算和輸出,對於系統的實時計算能力的要求也比較高。
同時,一般高頻交易系統從邏輯的層面上來說是比較簡單的。
2、編程語言的選擇
目前,高頻交易系統最主流的是C/C++語言。
這是一種優點及其很顯著的語言。相比依賴虛擬機的JAVA和Python而言,C/C++是一種非常接近底層硬體的開發語言,對硬體操控的控制度、靈活度都超過其他語言,在性能上的把控力會更強。
但是,其語法相當復雜,比較難學,沒有受過系統編程訓練的開發者,掌握起來比較困難。
同時,使用C/C++編程也可以獲得及其優越的性能,這對於高頻交易系統來說,就非常重要了!並且,國內大多數的交易所提供的都是C++級別的類庫,只有用C++進行開發,才能方便進行系統對接。
C. 設計開發一個高頻交易系統,有哪些地方需要注意的
高頻交易,就是短暫的市場變化中尋求獲利,不理會大趨勢,(平衡市裡比較適合)定好止損止盈位,得要有精確的計算能力,制定自己的一套理念,不理會別人會影響自己的任何觀點。你認為可以進就進,想出就出。10次交易6次獲利,你就是贏家。沒有固定的演算法,只有單間的加減乘除。
D. 什麼是高頻交易系統
「高頻交易」是一個挺差勁的名字。按照字面意思,任何能夠以較高頻率進行交易的系統都可以叫「高頻交易系統」。比如說你用VBA寫個小程序,連上券商給你的介面,也完全可以按毫秒級進行交易,你也可以說自己開發了一個「高頻交易系統」。
不過,按照現在市面上的主流認知,我想大多數人概念里的高頻交易系統是這樣的:
交易指令完全由電腦發送,對市場數據的響應延時在微秒級(VBA退散)。
系統由專用的軟硬體組成,研發時需要大量計算機專家級的工作(散戶隨便編個小程序退散)。
系統的硬體需要放在離交易所主機很近的位置上,所謂 co-location。並且得到專門的准入許可證,交易指令直接發送至交易所(而不是通過券商中轉)。
符合這三點的,就可以叫做高頻交易系統。有人說你這三條沒有一條在說頻率,只能叫低延遲系統不叫高頻交易。的確,我再一次深切贊同「高頻交易」是一個很差勁的名字。但現在市面上的主流媒體,包括大部分新聞和暢銷書在談到這個話題時,說的就是這種系統,所以我在這里就不糾結字面意思了。
如果對我上面給出的描述仍有疑問,那麼事實上還有一個非常官方的定義,來自美國證券交易委員會(SEC)。SEC 也很難給出明確的定義,最終的描述是基於5個特性:
使用超高速的復雜計算機系統下單
使用 co-location 和直連交易所的數據通道
平均每次持倉時間極短
大量發送和取消委託訂單
收盤時基本保持平倉(不持倉過夜)
E. 高頻交易系統怎樣在多線程和埠通訊之間取捨
要了解高頻交易系統怎樣在多線程和埠通訊之間取捨,首先要了解什麼叫「高頻交易系統」。
另外:
一半以上的流量都是很多做市商,他們有收費回扣,所以他們交易很多,交易不賺錢,依靠費用和回扣最新的是knight capital,它在短時間內損失了4億美元。
F. 以C++為核心語言的高頻交易系統是如何做到低延遲的
我認為並不是c++的效率是決定因素。
首先你要考慮的是,你的速度要求有多高,或者你的交易策略真的需要這么高的速度嗎?第二個是輸入輸出比率,不管你的演算法是否真的能賺到足夠的錢來支持你做所有層次的優化。
G. 期貨中說的高頻交易 高頻對沖是怎麼樣的他們都沒有手續費嗎利用微小的利潤能賺錢怎麼做的
符合以下三點的,就可以叫做高頻交易(或高頻對沖):
1、交易指令完全由電腦發送,對市場數據的響應延時在微秒級(VBA退散)。
2、系統由專用的軟硬體組成,研發時需要大量計算機專家級的工作。
3、系統的硬體需要放在離交易所主機很近的位置上,所謂co-location。並且得到專門的准入許可證,交易指令直接發送至交易所(而不是通過券商中轉)。
高頻交易照樣要交手續費,每次交易收益雖低,但由於交易頻率高,收益也很可觀,但是實際上高頻交易不一定能賺錢。
1、高頻交易賺錢的的確有,賠錢的也大把存在。因為高頻交易系統對低延遲的敏感性,研發時需要投入大量的人力物力,要高薪聘專業的計算機專家,花錢買昂貴的硬體,租用專門的微波通信線路。但這一切也不能保證你得到一個預想中的「低延遲」系統。整個系統的設計和開發是一個非常復雜的工程。而且交易系統對於准確性和穩定性要求極高,不夠精密的話上線後會出現各種問題,根本無法使用。如此大規模的投入,很多時候換來的是一個殘次品系統,非常非常多的公司因為搞不定技術問題而賠錢關門。
2、這里有一個深遠的問題是,高頻交易是一個金融和計算機結合的產業,但同時精通這兩者的人才是非常稀少的。金融人士主導的項目會缺乏對技術的判斷能力,IT人士主導又會對需求把握不清。在對性能不敏感的行業這可能不是太大問題,可以按照傳統的甲方乙方方式解決,有問題慢慢扯皮。但在這個高競爭行業,沒有太多時間可以用來浪費在扯皮上。投產的系統可能慢上幾微秒就是廢物,而那時往往會發現基本的設計就有問題,根本無力回天。這種超高難度的研發壓力,其實才是高回報的來源。
注意:高頻交易並不適合普通投資者。
H. 股票中的「高頻交易」是怎麼操作的
按照字面意思,任何能夠以較高頻率進行交易的系統都可以叫「高頻交易系統」。內比如說你容用VBA寫個小程序,連上券商給你的介面,也完全可以按毫秒級進行交易,你也可以說自己開發了一個「高頻交易系統」。
交易指令:交易指令完全由電腦發送,對市場數據的響應延時在微秒級(VBA退散)。
系統:系統由專用的軟硬體組成,研發時需要大量計算機專家級的工作(散戶隨便編個小程序退散)。
位置:系統的硬體需要放在離交易所主機很近的位置上,所謂 co-location。並且得到門的准入許可證,交易指令直接發送至交易所(而不是通過券商中轉)。
符合這三點的,就可以叫做高頻交易系統。有人說你這三條沒有一條在說頻率,只能叫低延遲系統不叫高頻交易。的確,我再一次深切贊同「高頻交易」是一個很差勁的名字。但現在市面上的主流媒體,包括大部分新聞和暢銷書在談到這個話題時,說的就是這種系統,所以我在這里就不糾結字面意思了。
I. 什麼是高頻交易系統
其實這個東西要理解也不難,高頻交易最簡單的定義就是當日開的倉當日平掉,持倉時間按秒算。例如在家庭聚餐的時候吃最後的甜點,媽媽把蛋糕從廚房拿出來遞給了老大,你從老大手裡接過蛋糕,自己切一塊,然後遞給下面的人。在這每次傳遞的過程中,總有一些麵包屑掉了下來。高頻就是在收集這些麵包屑啊,和別的交易方法大同小異,就是速度快了點。一般來說是1秒以下吧,基本上是按幾到幾百毫秒計算吧。當然,現在也有人搞微秒級別的,那是超高頻,拼的完全是硬體和網路。也就說在高頻交易里,你買賣的時間很短,量很小,頻率很高,所以叫高頻。技術上面,概率統計和隨機過程很重要。機器學習,模式識別,信號處理的武器也經常要用到。數據和軟硬體也很重要。當然,做高頻交易大都是機構搞,最著名的就是那個Simons的Renaissance Fund。老James可是高微分幾何出身的,呵呵。自己也可以玩玩,但是對技術要求比較高的哦。總的來說,這個是市場的發展方向,但是在高頻交易硬體環節中另一個容易被人忽視的細節是網路,低延遲的專屬網路是高頻交易基本配備,一個不起眼的丟包,往往就是幾個億資金的損失。我覺得吧,真人的交易員和計算機結合應該是最好的,就跟我現在有在做的「交易家」平台那裡用全自動跟單模式差不多,有不錯的策略師,這個全自動系統也不用太過操心,具體你可以去搜索了解一下。
J. 目前國內的高頻交易系統的延遲做到了什麼水平
按照字面意思,任何能夠以較高頻率進行交易的系統都可以叫「高頻交易系統」。比如說你用VBA寫個小程序,連上券商給你的介面,也完全可以按毫秒級進行交易,你也可以說自己開發了一個「高頻交易系統」。