演算法交易 (Algorithm trading) 與程序交易 (Program trading) 有什麼區別?
還是只是不同的翻譯?
謝邀。首先肯定一點,絕對不是翻譯的不同。
相信題主已經google了眾多眾說紛紜的定義,可以發現,最近兩年,關於演算法交易、程序化交易、自動化交易、高頻交易這些名詞在網上出現的越來越多,題主所問的演算法交易和程序交易的定義界限也越來越不明顯,因為本來就有重疊的定義成分在裡面。
所以,我只能說說在我最早關注這些的時候,他們的定義劃分:」從近十多年的市場實踐看,自動交易大致分為決策型交易和執行型交易。前者強調基於計算機的幫助,通過尋找市場上的各種交易機會,做出買賣什麼的交易決策。後者強調交易訂單的執行,即負責快速、低成本地實現相關訂單執行和成交。「
先說演算法交易,algorithm trading的「演算法」二字最早被提出確實是真正的演算法,而且是狹義的演算法,比如TWAP,VWAP,POV,IS,AS,MC,PI,GWAP(這些演算法的介紹都可以在《algorithm trading DMA》一書中找到,鏈接Algorithmic Trading and DMA: An introduction to direct access trading strategies: Barry Johnson: 9780956399205: Amazon.com: Books ),他們都是與DMA,「交易市場直連」這一概念同時出現的。因為,在大額訂單提交到交易所,衝擊成本impact cost會使得你的交易成本迅速提高,這時候利用演算法分割訂單就是一種簡單方便的方法,國內券商也較早實現了這種交易方式。注意,由於金融機構的交易決策(投資組合經理等)和交易執行(交易室)是分開的,顯然,這裡所說的演算法交易,並沒有交易決策邏輯在裡面。為什麼現在的」演算法交易「概念外延更廣,且看下面。
再說程序化交易,是由交易決策導致的,也即交易決策的產生是由「程序」產生。那麼,意味著從EXCEL VBA matlab R 到文華財經、TB、金字塔、multichart,再到天軟、龍軟DTS、飛創STP、Progress Apama等等,只要利用這些工具完成了「拿到市場數據market data」----「處理數據」----「自己構建交易模型」-----「交易決策邏輯觸發並創建訂單到訂單池「-----」風險控制」----「提交訂單到交易所或者券商」整套邏輯的,便都可以稱上程序化交易。同時,由於交易模型的構建務必會包含演算法,而且訂單池的提交會設計到減少交易成本問題,這裡與演算法交易的概念便模糊了。這也回答了上個自然段最後的問題。
至於高頻交易,並不在題主問題範圍之內,我就不拋磚引玉了。
其實,不必糾結與這些概念並不會對你有多大幫助,關鍵在於熟悉整套市場交易的流程。如果對自動化交易等方面感興趣,以下書單會給你一定的幫助。- Algorithmic Trading and DMA: An introduction to direct access trading strategies: Barry Johnson: 9780956399205: Amazon.com: Books
- High-Frequency Trading: A Practical Guide to Algorithmic Strategies and Trading Systems (Wiley Trading): Irene Aldridge: 9780470563762: Amazon.com: Books
- Statistical Arbitrage: Algorithmic Trading Insights and Techniques (Wiley Finance): Andrew Pole: 9780470138441: Amazon.com: Books
- Optimal Trading Strategies: Quantitative Approaches for Managing Market Impact and Trading Risk: Robert Kissell, Morton Glantz: 9780814407240: Amazon.com: Books
- 市場微觀結構與交易機制設計:高級指南/劉逖
1樓說的挺對的。當然更常見的是分1. Quantitative Trading (Trade what, size, when to trade)和 2. Algorithmic Trading(How to trade by given the order from 1). 另:Program Trading有時候是一個更general的term,有時候其實是特指Portfolio Trading。
補充一下中國的官方定義通過既定程序或特定軟體,自動生成或執行交易指令的交易行為。———————————————————————————————————— 目前關於自動交易的規範僅有中國證監會發布的《程序化交易管理辦法》的意見徵求稿。
意見稿的第二條如是定義:
本辦法所稱程序化交易是指通過既定程序或特定軟體,自動生成或執行交易指令的交易行為。由於使用了概括式的立法語言,此條文所涉的程序化交易概念外延非常廣大,包括了幾乎所有的用電腦自動下單的行為。演算法交易,smart routing,一攬子交易(如組合下單),高頻交易都包含在內。 NYSE交易規則中使用program trading時,任何一筆包含超過15種股票並且總值超過100萬美元的交易都可視為程序交易。主要針對一攬子交易。 而中國證監會顯然不知想針對交易組合,從徵求稿的內容看。至少準備加強監管演算法交易,防止烏龍指的產生(曾發生過的光大事件),以及限制甚至封殺高頻交易(應該是針對伊士頓事件)。 摘錄一些具體條文:第七條 證券公司、期貨公司客戶使用的程序化交易系統出現異常情況的,客戶應當立即採取有效控制及處置措施,並向證券公司、期貨公司報告;證券公司、期貨公司收到報告後應當立即向證券期貨交易所報告。
證券期貨交易所會員自營或資產管理業務、租用證券公司交易單元的基金管理公司使用的程序化交易系統出現異常情況的,應當直接向證券期貨交易所報告。
證券期貨交易所收到報告後,對於可能影響證券期貨市場交易秩序的,應當及時向市場公告,並可視情況限制賬戶、限制交易單元或席位,必要時可採取技術性停牌、臨時停市等處置措施。
(第一處出現有關應急處置的,後文還有很多,僅舉例本條)
第十四條 證券公司、期貨公司應當建立程序化交易指令計算機審核系統,自動阻止申報價格及數量異常的指令直接進入證券期貨交易所主機。證券公司、期貨公司應對相關異常指令進行人工複核,視情況提醒客戶修改指令或延時申報,對可能對市場價格和流動性產生重大影響的指令有權拒絕接受委託。
(涵蓋演算法交易、高頻交易)
第十八條 程序化交易者參與證券期貨交易,不得有下列影響交易價格或交易量的行為:
(一)在屬於同一主體或處於同一控制下或涉嫌關聯的賬戶之間發生同一證券的交易;
(二)在同一賬戶或同一客戶實際控制的賬戶組間,進行期貨合約的自買自賣;
(三)頻繁申報並頻繁撤銷申報,且成交委託比明顯低於正常水平;
(四)在收盤階段利用程序進行大量且連續交易,影響收盤價;
(五)進行申報價格持續偏離申報時的市場成交價格的大額申報,誤導其他投資者決策,同時進行小額多筆反向申報並成交;
(六)連續以高於最近成交價申報買入或連續以低於最近成交價申報賣出,引發價格快速上漲或下跌,引導、強化價格趨勢後進行大量反向申報並成交;
(七)其他違反《證券法》、《期貨交易管理條例》等法律法規,影響證券期貨市場正常交易秩序的程序化交易。
(限制利用計算機進行趨勢交易行為,主要影響HFT)
第十九條 境內程序化交易者參與證券期貨交易,不得由在境外部署的程序化交易系統下達交易指令,也不得將境內程序化交易系統與境外計算機相連接,受境外計算機遠程控制。中國證監會另有規定的除外。
(針對伊士頓事件)
關於直連(DMA),規定可以解讀為基金、個人通過證券、期貨公司連入交易所主機。證券、期貨公司可以進行程序化交易的自營業務。所有的這些程序化交易行為都要進行兩次事前審核(檢查程序、設備)和兩次即時審核(交易所和證券公司檢查流量和動作)。交易所為證券、期貨公司提供公平的機位。可以認為,證券、期貨公司的自營業務是可以直連的,其他交易者不能直連。不過,審查充分展開的話,延遲問題不知道會多大程度影響HFT。
另外,幾乎同時發布的《上海證券交易所程序化交易管理實施細則(徵求意見稿)》
第三十二條本所對程序化交易者存在下列情形之一的證券交易予以重點關註:
(一)一個交易日內出現五次以上每秒申報5筆;
(二)一秒內完成申報並撤銷申報,且日內出現3次以上;
(三)日內申報2000筆以上;
可以認為高頻交易進一步地被封殺了。
綜上,中國法律語境下的程序化交易,指所有的自動進行的交易。
我頂二樓,program trading最早就是八十年代出現的特指組合交易的。algorithm trading是指那些市場直連,訂單分割之類的以降低成本,捕捉流動性為目標的電子化交易方法。
這些都是關注於交易操作的,而不是交易決策的。
不過廣義的看,跟計算機自動化交易挨邊的都可以用program trading,或者algo trading這些,這個都沒必要跟辭彙較真,又不是寫黨八股文章。之前在香港的金融機構做過兩年的演算法交易
量化交易領域的很多名詞,並沒有權威定義,在不同場合的含義經常不同,所以才讓人感到困惑
在我們那裡是這樣的:
-Algo trading說穿了就是客戶下個大單過來,我們自己有一套程序,用程序自動把客戶的大單拆分並執行,力爭拿到好的交易價格,比較常見的策略比如VWAP, TWAP, AtClose, AtOpen等等。-Program trading
也叫Portfolio trading,其實就是客戶同時下一籃子的單子過來,然後我們統統幫客戶執行掉。這裡面每個單子的具體執行,可以是我們的交易員手工執行,也可以是調用我們的Algo trading程序重複一遍,量化交易領域的很多名詞,並沒有權威定義,在不同場合的含義經常不同,所以搞清其背後實質才是王道
簡單的說
程序化交易——基於市場數據構建交易模型(規則),再簡單點就是確定買賣點,然後讓計算機去執行,免去人需要長時間盯盤的問題。演算法交易——一般用在優化下單。因為市場衝擊成本的存在,對於下單手數龐大的策略,需要分散通過考慮市場流動性等方面,降低下單的總成本。推薦閱讀:
※手工交易和程序化交易比起來優勢在哪裡?
※如何評價劉鵬的《計算廣告-互聯網商業變現的市場與技術》?
※個人投資者怎麼實現簡單的程序化交易?
※高手都說行情不可預測,那麼策略是怎麼出來的?所有的策略不都是基於判定未來是漲還是跌而做出來的嗎?
※交易員們在讀新聞的時候是怎樣一個思路?