算法交易(也稱爲自動交易、黑盒交易或算法交易)使用遵循一組定義的指令(算法)的計算機程序進行交易。從理論上講,交易可以以人類交易者不可能的速度和頻率產生利潤。
定義的指令集基於時間、價格、數量或任何數學模型。除了爲交易者提供獲利機會外,算法交易通過排除人類情緒對交易活動的影響,使市場更具流動性和交易更加系統化。
實踐中的算法交易
假設交易者遵循這些簡單的交易標準:
- 當 50 天移動平均線高於 200 天移動平均線時,買入 50 股。 (移動平均線是過去數據點的平均值,可以消除日常價格波動,從而識別趨勢。)
- 當 50 天移動平均線低於 200 天移動平均線時賣出股票。
使用這兩個簡單的指令,計算機程序將自動監控股票價格(和移動平均線指標),並在滿足定義的條件時下達買賣訂單。交易者不再需要監控實時價格和圖表或手動下訂單。算法交易系統通過正確識別交易機會自動執行此操作。
算法交易的好處
算法交易提供以下好處:
- 交易以最優惠的價格執行。
- 交易訂單下達即時且準確(在所需水平執行的可能性很高)。
- 交易時間正確且即時,以避免重大的價格變化。
- 降低交易成本。
- 同時自動檢查多個市場條件。
- 降低交易時人爲錯誤的風險。
- 算法交易可以使用可用的歷史和實時數據進行回測 看看它是否是一個可行的交易策略。
- 減少了人類交易者基於情緒和心理因素犯錯的可能性。
今天大多數算法交易是高頻交易(HFT),它試圖利用基於預編程指令的多個市場和多個決策參數快速下達大量訂單。
算法交易用於多種形式的交易和投資活動,包括:
- 中長期投資者或買方公司(養老基金、共同基金、保險公司)在不想通過離散的大宗投資影響股票價格時,會使用算法交易大量購買股票。
- 短期交易者和賣方參與者——做市商(如經紀公司), 投機者和套利者——從自動交易執行中受益;此外,算法交易有助於爲市場上的賣家創造足夠的流動性。
- 系統性交易者——趨勢追隨者、對沖基金或配對交易者(一種市場中性交易策略,將一對高度相關的工具(如兩隻股票、交易所交易基金 (ETF) 或貨幣)的多頭頭寸與空頭頭寸相匹配) ——發現編程他們的交易規則並讓程序自動交易更有效率。
與基於交易者直覺或直覺的方法相比,算法交易爲主動交易提供了更系統的方法。
算法交易策略
任何算法交易策略都需要確定的機會,該機會在提高收益或降低成本方面是有利可圖的。以下是算法交易中常用的交易策略:
趨勢跟蹤策略
最常見的算法交易策略遵循移動平均線、通道突破、價格水平變動和相關技術指標的趨勢。這些是通過算法交易實施的最簡單和最簡單的策略,因爲這些策略不涉及進行任何預測或價格預測。交易是基於理想趨勢的發生而啓動的,通過算法可以輕鬆直接地實現這些趨勢,而無需涉及預測分析的複雜性。使用 50 天和 200 天移動平均線是一種流行的趨勢跟蹤策略。
套利機會
在一個市場以較低的價格購買雙重上市股票並同時在另一個市場以較高的價格出售它提供了價格差異作爲無風險利潤或套利。股票與期貨工具可以複製相同的操作,因爲價格差異確實不時存在。實施一種算法來識別這種價格差異並有效地下訂單可以帶來盈利機會。
指數基金再平衡
指數基金已經確定了重新平衡的時期,以使其持股與各自的基準指數持平。這爲算法交易者創造了有利可圖的機會,他們利用預期交易提供 20 至 80 個基點的利潤,具體取決於指數基金重新平衡之前的指數基金股票數量。此類交易是通過算法交易系統發起的,以便及時執行並獲得最優惠的價格。
基於數學模型的策略
經過驗證的數學模型,如 delta 中性交易策略,允許對期權和基礎證券的組合進行交易。 (Delta 中性是一種投資組合策略,由具有抵消正負 delta 的多個頭寸組成——將資產(通常是有價證券)的價格變化與其衍生品價格的相應變化進行比較的比率——因此整體相關資產的 delta 總計爲零。)
交易區間(均值迴歸)
均值迴歸策略基於這樣一種概念,即資產的高價和低價是一種暫時現象,會週期性地恢復到其平均值(平均值)。識別和定義價格範圍並在此基礎上實施算法允許在資產價格進入和超出其定義範圍時自動進行交易。
成交量加權平均價格 (VWAP)
成交量加權平均價格策略分解大訂單並使用特定股票的歷史成交量配置文件將動態確定的較小訂單塊發佈到市場。目的是執行接近成交量加權平均價格(VWAP) 的訂單。
時間加權平均價格 (TWAP)
時間加權平均價格策略分解大訂單,並使用開始和結束時間之間平均劃分的時間段將動態確定的較小訂單塊發佈到市場。目的是在開始和結束時間之間以接近平均價格執行訂單,從而最大限度地減少市場影響。
體積百分比 (POV)
在交易訂單完全成交之前,該算法會根據定義的參與比率和市場交易量繼續發送部分訂單。相關的“階梯策略”以用戶定義的市場交易量百分比發送訂單,並在股價達到用戶定義的水平時增加或減少此參與率。
實施不足
執行短缺策略旨在通過權衡實時市場來最小化訂單的執行成本,從而節省訂單成本並從延遲執行的機會成本中受益。該策略將在股價上漲時提高目標參與率,在股價下跌時降低目標參與率。
超越通常的交易算法
有一些特殊類別的算法試圖識別另一邊的“事件”。這些“嗅探算法”——例如,由賣方做市商使用——具有內置智能,可以識別大訂單買方是否存在任何算法。通過算法進行的這種檢測將幫助做市商識別大宗訂單機會,並使他們能夠通過以更高的價格完成訂單而受益。這有時被認爲是高科技的搶佔先機。一般來說,搶先交易的做法視情況而定被認爲是非法的,並受到FINRA (金融業監管局)的嚴格監管。
算法交易的技術要求
使用計算機程序實現算法是算法交易的最後一個組成部分,伴隨着回測(在過去股市表現的歷史時期嘗試算法,看看使用它是否會盈利)。面臨的挑戰是將已確定的策略轉變爲一個集成的計算機化流程,該流程可以訪問交易賬戶來下訂單。以下是算法交易的要求:
- 編程所需交易策略的計算機編程知識、聘請的程序員或預製交易軟件。
- 網絡連接和訪問交易平臺下訂單。
- 訪問將由算法監控的市場數據饋送,以獲得下訂單的機會。
- 一旦系統建成後在實際市場上投入使用之前對系統進行回測的能力和基礎設施。
- 可用於回測的歷史數據取決於算法中實現的規則的複雜性。
算法交易的一個例子
荷蘭皇家殼牌 (RDS) 在阿姆斯特丹證券交易所 (AEX) 和倫敦證券交易所 (LSE) 上市。 我們首先構建一種算法來識別套利機會。以下是一些有趣的觀察結果:
- AEX 以歐元交易,而 LSE 以英鎊交易。
- 由於一小時的時差,AEX 比 LSE 早一個小時開盤,隨後兩個交易所在接下來的幾個小時內同時交易,然後在 AEX 關閉的最後一個小時內僅在 LSE 交易。
我們能否探討以兩種不同貨幣對在這兩個市場上市的荷蘭皇家殼牌股票進行套利交易的可能性?
要求:
- 可以讀取當前市場價格的計算機程序。
- 來自 LSE 和 AEX 的價格信息。
- GBP-EUR 的外匯(外匯)匯率饋送。
- 下單能力,可以將訂單發送到正確的交易所。
- 歷史價格反饋的回測能力。
計算機程序應執行以下操作:
- 從兩個交易所讀取 RDS 股票的傳入價格。
- 使用可用的外匯匯率,將一種貨幣的價格轉換爲另一種貨幣。
- 如果存在足夠大的價格差異(扣除經紀成本)導致獲利機會,則程序應在價格較低的交易所下買單並在價格較高的交易所賣出訂單。
- 如果訂單按要求執行,套利利潤將隨之而來。
簡單易行!然而,算法交易的實踐並不是那麼容易維護和執行。請記住,如果一個投資者可以進行算法生成的交易,那麼其他市場參與者也可以。因此,價格在毫秒甚至微秒內波動。在上面的例子中,如果買入交易被執行但賣出交易沒有因爲賣出價格在訂單進入市場時發生變化,會發生什麼?交易者將留下一個未平倉頭寸,使套利策略一文不值。
還有其他風險和挑戰,例如系統故障風險、網絡連接錯誤、交易訂單和執行之間的時間延遲,以及最重要的是不完善的算法。算法越複雜,在投入使用之前就越需要進行更嚴格的回測。