算法交易
最佳執行和強化學習
假設一個相當簡單的問題:您必須在固定時間範圍 H 內購買(或出售)給定數量的股票 V,目的是最大限度地減少您的資本支出(相應地最大化您的收入)。
網上有一些研究論文聲稱使用強化學習算法可以幫助做出決策。參見例如:
1/ Nevmyvaka and Kearns: Reinforcement Learning for Optimized Trade Execution
這些論文采用基於限價訂單簿或買賣價差的動態分配策略。與經典論文相反
2/Almgren and Chriss: Optimal Execution of Portfolio Transactions
他們不假設他們從中得出策略的證券價格動態。相反,他們使用測試集上的回測結果來衡量他們程序的性能。當然,這也假設了難以測試的限價訂單動態的約束假設。
我的問題是雙重的:你知道使用強化學習(或其他機器學習方法)解決這個問題的優秀研究論文嗎?好的,我的意思是測試集很大(不僅僅是幾天的回測),並且確實需要努力明確假設並儘可能少。
你們有沒有人在真實的交易環境中應用過它,或者知道有人做過?
首先,我們很少有量化專家和學者使用機器學習的完整工具包:隨機算法,以優化交易。這里至少有兩篇論文:
- 流動性池中訂單的最佳拆分:隨機算法方法,Sophie Laruelle (PMA)、Charles-Albert Lehalle、Gilles Pagès (PMA)
- 限價單的最佳發布距離:一種隨機算法方法,Sophie Laruelle (LPMA)、Charles-Albert Lehalle、Gilles Pagès (LPMA)
Kearns 和他的合著者還提供了許多有用的研究(請參閱強化學習以優化交易執行)。
我們的方法不僅是嘗試一些機器學習技術,而且還使用強大的數學工具來展示它們的效率,以證明一些算法正在收斂到最優解。
更定量地說,大多數機器學習來自給定標準的線上梯度下降,從而產生隨機梯度下降。隨機性來自於此:
- 你想最小化 $ \mathbb{E}||y-f_{\theta}(x)||^2 $ 關於 $ \theta $
- 如果您建構: $$ \theta(n+1)=\theta(n)-\gamma(n)\times \frac{\partial \mathbb{E}||y-f_{\theta}(x)||^2}{\partial\theta(n)} $$
- 那麼如果存在的話, $ \theta(\infty) $ 是第 1 步定義的標準的潛在最小值
- 現在只需建構 $ \theta(n) $ 同時觀察對 $ (x_n,y_n) $ : $$ \theta(n+1)=\theta(n)-\gamma(n)\times \frac{\partial ||y_n-f_{\theta}(x_n)||^2}{\partial\theta(n)} $$
- 在某些遍歷性條件下,這個的極限 $ \theta $ 將與前一個(批次)相同(您還需要 $ \sum_n \gamma(n)>\infty $ 和 $ \sum_n \gamma(n)^2<\infty $ ; 這就是著名的羅賓斯-門羅定理)。
它非常適合算法交易,但您需要將此方法應用到任何隨機過程中,而不是盲目 $ (x_n,y_n) $ ,但對於遍歷的。
相對於中間點的訂單流似乎對價格本身更具遍歷性,因此在日內數據而不是日常數據上使用機器學習應該更有效。
$$ UPDATE in Jan 2020 $$ 我想對兩篇論文做一個補充
- 在改進強化學習算法:朝著最優學習率策略,由 Mounjid 和 L 撰寫,我們展示了學習率在強化學習中的作用,並在最優交易中提供了兩個說明:(1)最優交易調度和(2)最優放置訂單簿。它表明,如果您仔細建構算法,它可以找到最佳值。此外,我們在“原始”強化學習(當你真正發現你在試圖控制它們時必須控制的動態)和更接近霍華德的舊“政策價值迭代”的東西之間做出了區分(例如,參見動態規劃、馬爾可夫鍊和逐次逼近法,由 DJ White 在 1964 年創作!)當您可以訪問模擬器時。在後一種情況下,學習的探索-利用方面不是一個大問題。
- 在Leal、Laurière 和 L 的《學習高頻金融的功能控制》中。我們提供了另一種將交易的最優控制擴展到機器學習的方法:“簡單地”寫出最優調度問題(例如超過 70 個 5 分鐘的間隔)由神經網路模擬的閉環控制器,並等待(模擬的)一天結束時反向傳播神經控制器的 70 次使用。無需通過 Q 函式的近似。它很簡單,可以很容易地與非學習方法進行比較。