演算法交易基礎:概念和例子

演算法交易(也稱為自動交易、黑盒交易或演算法交易)使用遵循一組定義的指令(演算法)的計算機程序進行交易。從理論上講,交易可以以人類交易者不可能的速度和頻率產生利潤。

定義的指令集基於時間、價格、數量或任何數學模型。除了為交易者提供獲利機會外,演算法交易通過排除人類情緒對交易活動的影響,使市場更具流動性和交易更加系統化。

關鍵要點

  • 演算法交易結合了計算機編程和金融市場,在精確的時刻執行交易。
  • 演算法交易試圖消除交易中的情緒,確保交易的最有效執行,即時下訂單並可能降低交易費用。
  • 常見的交易策略包括趨勢跟蹤策略、套利機會和指數基金再平衡。
  • 演算法交易也基於交易量(交易量加權平均價格)或時間流逝(時間加權平均價格)執行。
  • 要開始使用演算法交易,您必須具備計算機訪問許可權、網路訪問許可權、金融市場知識和編碼能力。

演算法交易基礎

實踐中的演算法交易

假設交易者遵循這些簡單的交易標準:

  • 當 50 天移動平均線高於 200天移動平均線時,買入 50 股。(移動平均線是過去數據點的平均值,可以消除日常價格波動,從而識別趨勢。) 
  • 當 50 天移動平均線低於 200 天移動平均線時賣出股票。

使用這兩個簡單的指令,計算機程序將自動監控股票價格(和移動平均線指標),並在滿足定義的條件時下達買賣訂單。交易者不再需要監控實時價格和圖表或手動下訂單。演算法交易系統通過正確識別交易機會自動執行此操作。

演算法交易的好處

演算法交易提供以下好處:1

  • 交易以最優惠的價格執行。
  • 交易訂單下達即時且準確(在所需水平執行的可能性很高)。
  • 交易時間正確且即時,以避免重大的價格變化。
  • 降低交易成本。
  • 同時自動檢查多個市場條件。
  • 降低交易時人為錯誤的風險。
  • 可以使用可用的歷史和實時數據 對演算法交易進行回測,看看它是否是一種可行的交易策略。
  • 減少了人類交易者基於情緒和心理因素犯錯的可能性。

今天的大多數演算法交易是高頻交易(HFT),它試圖利用基於預編程指令的多個市場和多個決策參數快速下達大量訂單。

演算法交易用於多種形式的交易和投資活動,包括:

  • 中長期投資者或買方公司(養老基金、共同基金、保險公司)在不想通過離散的大宗投資影響股票價格時,會使用演算法交易大量購買股票。
  • 短期交易者和賣方參與者——做市商(如經紀公司)、 投機者和套利者——受益於自動化交易執行;此外,演算法交易有助於為市場上的賣家創造足夠的流動性。
  • 系統交易者——趨勢追隨者、對沖基金或 配對交易者 (一種市場中性交易策略,將一對高度相關的工具(如兩隻股票、交易所交易基金 (ETF) 或貨幣)的多頭頭寸與空頭頭寸相匹配)——發現編寫他們的交易規則並讓程序自動交易更有效。

與基於交易者直覺或直覺的方法相比,演算法交易為主動交易提供了更系統的方法。

如果你幾年前就開始投資怎麼辦?

找出今天的假設投資價值。

選擇股票特斯拉特斯拉公司蘋果蘋果公司的耐克公司亞馬遜亞馬遜公司WMT沃爾瑪公司選擇投資金額$選擇購買日期              2年前                      5年前                      10年前          計算演算法交易策略

任何演算法交易策略都需要確定的機會,該機會在提高收益或降低成本方面是有利可圖的。以下是演算法交易中常用的交易策略:2

趨勢跟蹤策略

最常見的演算法交易策略遵循移動平均線、通道突破、價格水平變動和相關技術指標的趨勢。這些是通過演算法交易實施的最簡單和最簡單的策略,因為這些策略不涉及進行任何預測或價格預測。交易是基於理想趨勢的發生而啟動的,通過演算法可以輕鬆直接地實現這些趨勢,而無需涉及預測分析的複雜性。使用 50 天和 200 天移動平均線是一種流行的趨勢跟蹤策略。

套利機會

在一個市場以較低的價格購買雙重上市股票並同時在另一個市場以較高的價格出售它提供了價格差異作為無風險利潤或套利。股票與期貨工具可以複製相同的操作,因為價格差異確實不時存在。實施一種演算法來識別這種價格差異並有效地下訂單可以帶來盈利機會。

指數基金再平衡

指數基金已經確定了重新平衡的時期,以使其持股與各自的基準指數持平。這為演算法交易者創造了有利可圖的機會,他們利用預期交易提供 20 到 80 個基點的利潤,具體取決於指數基金重新平衡之前的指數基金股票數量。此類交易是通過演算法交易系統發起的,以便及時執行並獲得最優惠的價格。

演算法交易允許交易者進行高頻交易。用於測量的高頻交易的速度以毫秒為單位。今天,它們可以以微秒或納秒(十億分之一秒)為單位進行測量。3

基於數學模型的策略

經過驗證的數學模型,如 delta 中性交易策略,允許對期權和基礎證券的組合進行交易。(Delta 中性是一種投資組合策略,由具有抵消正負 delta 的多個頭寸組成——一個將資產(通常是有價證券)的價格變化與其衍生品價格的相應變化進行比較的比率——因此整體相關資產的 delta 總計為零。)

交易區間(均值回歸)

均值回歸策略基於這樣一種概念,即資產的高價和低價是一種暫時現象,會周期性地恢復到其平均值(平均值)。識別和定義價格範圍並在此基礎上實施演算法允許在資產價格進入和超出其定義範圍時自動進行交易。

成交量加權平均價格 (VWAP)

成交量加權平均價格策略分解大訂單並使用特定股票的歷史成交量配置文件將動態確定的較小訂單塊發布到市場。目的是執行接近成交量加權平均價格(VWAP) 的訂單。

時間加權平均價格 (TWAP)

時間加權平均價格策略分解大訂單,並使用開始和結束時間之間平均劃分的時間段將動態確定的較小訂單塊發布到市場。目的是在開始和結束時間之間以接近平均價格執行訂單,從而最大限度地減少市場影響。

體積百分比 (POV)

在交易訂單完全成交之前,該演算法會根據定義的參與比率和市場交易量繼續發送部分訂單。相關的「階梯策略」以用戶定義的市場交易量百分比發送訂單,並在股價達到用戶定義的水平時增加或減少此參與率。

實施不足

執行短缺策略旨在 通過權衡實時市場來最小化訂單的執行成本,從而節省訂單成本並從延遲執行的機會成本中受益。該策略將在股價上漲時提高目標參與率,在股價下跌時降低目標參與率。

超越通常的交易演算法

有一些特殊類別的演算法試圖識別另一邊的「事件」。這些「嗅探演算法」——例如,由賣方做市商使用——具有內置智能,可以識別大訂單買方是否存在任何演算法。通過演算法進行的這種檢測將幫助做市商識別大宗訂單機會,並使他們能夠通過以更高的價格完成訂單而受益。這有時被認為是高科技的搶佔先機。一般來說,搶先交易的做法視情況而定被視為非法,並受到金融業監管局(FINRA) 的嚴格監管。4

美國證券交易委員會 2018 年的一項研究指出,「電子交易和演算法交易在我們的資本市場運作中非常普遍和不可或缺。」 5

演算法交易的技術要求

使用計算機程序實現演算法是演算法交易的最後一個組成部分,伴隨著 回測 (在過去股市表現的歷史時期嘗試演算法,看看使用它是否會盈利)。面臨的挑戰是將已確定的策略轉變為一個集成的計算機化流程,該流程可以訪問交易賬戶來下訂單。以下是演算法交易的要求:6

  • 編程所需交易策略的計算機編程知識、聘請的程序員或預製交易軟體。
  • 網路連接和訪問交易平台下訂單。
  • 訪問將由演算法監控的市場數據饋送,以獲得下訂單的機會。
  • 一旦系統建成後在實際市場上投入使用之前對系統進行回測的能力和基礎設施。
  • 可用於回測的歷史數據取決於演算法中實現的規則的複雜性。

演算法交易的一個例子

荷蘭皇家殼牌 (RDS) 在阿姆斯特丹證券交易所 (AEX) 和倫敦證券交易所 (LSE) 上市。7我們首先構建一種演算法來識別套利機會。以下是一些有趣的觀察結果:

  • AEX 以歐元交易,而 LSE 以英鎊交易。7
  • 由於一小時的時差,AEX 比 LSE 早一個小時開盤,隨後兩個交易所在接下來的幾個小時內同時交易,然後在 AEX 關閉的最後一個小時內僅在 LSE 交易。

我們能否探討以兩種不同貨幣對在這兩個市場上市的荷蘭皇家殼牌股票進行套利交易的可能性?

要求:

  • 可以讀取當前市場價格的計算機程序。
  • 來自 LSE 和 AEX 的價格信息。
  • GBP-EUR 的外匯(外匯)匯率饋送。
  • 下單能力,可以將訂單發送到正確的交易所。
  • 歷史價格反饋的回測能力。

計算機程序應執行以下操作:

  • 從兩個交易所讀取 RDS 股票的傳入價格。
  • 使用可用的外匯匯率,將一種貨幣的價格轉換為另一種貨幣。
  • 如果存在足夠大的價格差異(扣除經紀成本)導致獲利機會,則程序應在價格較低的交易所下買單並在價格較高的交易所賣出訂單。
  • 如果訂單按要求執行,套利利潤將隨之而來。

簡單易行!然而,演算法交易的實踐並不是那麼容易維護和執行。請記住,如果一個投資者可以進行演算法生成的交易,那麼其他市場參與者也可以。因此,價格在毫秒甚至微秒內波動。在上面的例子中,如果買入交易被執行但賣出交易沒有因為賣出價格在訂單進入市場時發生變化,會發生什麼?交易者將留下一個未平倉頭寸,使套利策略一文不值。

還有其他風險和挑戰,例如系統故障風險、網路連接錯誤、交易訂單和執行之間的時間延遲,以及最重要的是不完善的演算法。演算法越複雜,在投入使用之前就越需要進行更嚴格的回測。

演算法交易合法嗎?

是的,演算法交易是合法的。沒有限制交易演算法使用的規則或法律。一些投資者可能會質疑這種類型的交易會造成對市場產生不利影響的不公平交易環境。但是,這並沒有什麼違法之處。

我如何學習演算法交易?

演算法交易在很大程度上依賴於定量分析或定量建模。由於您將投資股票市場,因此您需要具備金融市場的交易知識或經驗。最後,由於演算法交易通常依賴於技術和計算機,您可能會依賴編碼或編程背景。

演算法交易員使用什麼編程語言?

因為它在處理大量數據方面效率很高,所以 C++ 是演算法交易者中流行的編程選擇。但是,C 或 C++ 都是更複雜和困難的語言,因此希望進入編程領域的金融專業人士可能更適合過渡到更易於管理的語言,例如 Python。

總結

演算法交易將計算機軟體和金融市場結合在一起,根據編程代碼開倉和平倉。投資者和交易者可以設置他們希望何時開始或結束交易。他們還可以利用計算能力進行高頻交易。憑藉交易者可以使用的各種策略,演算法交易在當今的金融市場中很普遍。要開始,請準備好計算機硬體、編程技能和金融市場經驗。

Total
0
Shares
相關文章