如果你對銀行以及金融領域的機器學習或人工智慧(AI)應用感興趣的話,你一定了解 JPM(摩根大通)去年發布的在金融領域有關大數據及人工智慧應用指南 ,你也一定會對他們剛剛發布的一份關於將 「數據驅動下的機器學習應用於演算法交易」問題的新報告感興趣。

去年那份長篇報告是由JPM 宏觀量化研究團隊負責人,素有「半人半神」之稱的 Marko Kolanovic,以及另一位在去年四月剛從美林銀行離職的量化策略師 Rajesh Krishnamachari協助下共同編寫的。本月這篇報告並沒有那麼長,共由五位 JPM 員工共同完成。他們分別是 Vacslav Glukhov(EMEA 電子交易量化研究中心負責人)、Vangelis Bacoyannis(電子交易定量研究中心副總裁)、Tom Jin(量化分析師)、Jonathan Kochems(量化研究員)及 Doo Re Song(量化研究員)。

新報告於2018年5月在NIPS大會上發布,但近期剛剛公佈。想要了解「數據驅動學習」如何與演算法交易進行交互的朋友要注意了,下面是報告的主要內容。

客戶設置部分參數,演算法控制關鍵交易決策

演算法在金融業務中控制「微觀層」的交易,如股票和電子期貨合約:「演算法決定交易的波段、價格及數量。」然而,演算法並不會完全按照人們的預期工作。JPM 提醒客戶,「演算法通常只是把具體約束及偏好下的交易指令告訴經紀人。」

例如,客戶可能想在投資組合時保持貨幣中立,以實現買賣數量大體相等。客戶也可能會指定某組交易證券的主題、國家或行業。

客戶下單交易時,他們也許想控制交易執行對市場價格影響的方式(操控市場影響)、或控制市場波動影響交易的方式(控制風險)、或指定一個能夠平衡市場影響與風險的緊急程度。

交易委託賬本包含的數據非常複雜

編寫電子交易演算法是一件讓人抓狂且十分複雜的任務。

舉個例子。JPM 分析師指出,一局國際象棋每人大約要走 40 步,一局圍棋大約走 200 步。然而,即便是中等交易頻率的電子交易演算法(每秒都需要重新考慮交易選擇)每小時大約要完成 3600 次交易選擇。

問題遠不止於此。當繪製國際象棋與圍棋數據時,如何在所有可選項中選擇走哪一步、下一步又該如何應對,這都是需要解決的問題。然而,一次電子交易行為包括了許多步驟。JPM 分析師認為「這就是一個子訂單(child order)集合。」

什麼是子訂單(child order)?JPM 解釋道,係指可能會「提交被動買入訂單和主動買入訂單」的單次(single)交易。被動子訂單是交易委託賬本中指定價位水平的交易,因此,能為其它市場參與者提供流動性。提供流動性可能最終通過抓住局部上漲趨勢,在交易時獲得回報:更好的交易價格,或者更好的交易對象。另一方面,主動子訂單會被用來基於預期的價格變動,捕捉交易良機。上述兩種情況都會產生單次(single)交易行為。最終,交易行為範圍被無限擴大,根據瞬時交易特徵的組合數量呈指數增長。

誠然如是。

人工編寫的交易演算法傾向於變得龐大而笨拙

人工編寫電子交易演算法時,情況會迅速變得複雜。

過去,JPM 分析師認為:電子交易演算法融合了許多科學的量化模型;量化模型是「從定量角度描述世界的運行機制」;演算法包含著「代表交易員和演算法使用者的實踐經驗、觀察結論和風險偏好的規則和啟發式方法。」

想把演算法的方方面面都說清楚是十分困難的。「多數人編寫的演算法代碼冗長至極且難於維護及修改。」JPM 認為,每當客戶目標及市場條件變化時,人工演算法都深感「功能拓展」之難。

隨著時間的推移,演算法將學會「積累多層邏輯、參數及微調,以處理特殊情況。」

監管讓人工編寫的演算法有一次變得更加複雜

此外,交易演算法還必須應對諸如 MiFID II(新版歐盟金融工具市場指導)的監管及「最優執行」的理念。因此,演算法編寫必須考慮「變化發展的市場條件與結構、監管約束及客戶的多重目標與不同偏好。」

如果演算法編寫實現自動化且滿足各類約束,一切都將變得簡單。

編寫交易演算法時,使用數據的三種文化方法

機器學習文化嘗試運用更多複雜且有時晦澀的函數表達觀測結果,不要求函數能揭示潛在流程的本質。

演算法決策文化更關注於決策,而非建模。演算法決策文化嘗試訓練電子代理(譬如演算法)以區分決策好壞,而不是試圖映射出世界運行機制。如此一來,理解演算法為何做出決策,及如何利用規則、價值及約束確保決策可被接受就成為新的問題。

演算法必須實現最優執行率與最優執行計劃之間的平衡

演算法一旦寫完,首先需要解決平衡問題:快速交易,其風險是影響市場價格;慢速交易,其風險是成交價格變化或將引起交易損失(升了,買家賺錢;跌了,賣家賺錢)。

並非總能清晰知曉一個成功的交易由什麼組成

演算法交易成功與否很難界定,因為這與如何權衡快速交易(效率)與固定價格交易(最優)有關──而這又取決於客戶如何設定他的優先等級。

例如,演算法的目標可能是與市場其他部分融合(blend with the rest of the market)。這意味著,需要平衡極速交易與價格變動引起的市場影響、或是通過慢速交易確保價格與交易反向。演算法編寫人員需要尋找一種表達信息和行為的方式,該方式能與模型與機器學習方法相匹配。儘管「市場龐大、多變,規模和訂單狀態經常變化,父訂單與子訂單數還不夠作為模型輸入。」市場狀態都需要能被總結和概括出來。

不過,這也無助於抓住瞬即逝的絕佳機會。而且,JPM 認為,演算法交易執行或取消後,就無法判斷交易的好壞,但這一點並非總是那麼顯而易見。「局部最優並不需要轉變成全局最優。現在失敗的交易也許以後某天又會賺的盆滿缽滿。」

J.P. Morgan一直在使用強化學習演算法進行交易,即使這可能會出現問題

JPM 正急於掌握運用動態規劃及獎懲機制的各種強化學習演算法。

JPM 交易員說,「我們目前使用第二代基於強化演算法的限價委託引擎,於有界行為空間內訓練演算法,選擇具備差異化獎勵、步長及時程特徵的短期目標。」然而,訓練演算法十分複雜──如果你嘗試通過在多重處理設備上同時執行演算法以實現演算法的平行訓練,會得到錯誤結果。原因是演算法與環境之間的閉環反饋。但如果你不這麼做,而嘗試基於梯度的演算法訓練,最終會得到大量無關經驗,無法記住好的交易行為。

JPM 嘗試應用超參數優化技術避免此問題。這代表每次訓練都有多個抽樣事件,並會儘早停止無意義的優化路徑。銀行應用超參數優化技術,通過運行平行訓練項目訓練演算法。

JPM 表示,研究的主要目標已轉變為「策略學習演算法」,通過在固定參數條件下匹配特定商業目標以最大化累積報酬。分層強化學習可用於要求必須「生成可預測、可控制及可解釋行為」的交易演算法。在分層方法中,根據抽樣頻率和粒度水平將演算法決策劃分為不同組別,使得演算法能夠模塊化,其求解效果也容易甄別。

JPM 已開發具備「某種特徵」的強化學習演算法,以應對長尾效應

在多數強化學習情況中,JPM 強調演算法學習行為通常會產生更好的結果。然而,在金融業,過度關注平均結果是錯誤的──想想長尾效應。基於此原因,銀行的量化專家始終基於多維度與不確定結果評價構建演算法。

為實現該目標,銀行會基於期望效用的未來分佈對比結果,對不確定結果(長尾)排序──即 CERL(確定等值強化學習)。

通過 CERL,JPM 注意到演算法能夠有效獲得基於風險偏好的特性。「如果客戶是風險厭惡,結果的不確定增加會降低行為的確定等值獎勵。」演算法很自然的需要折扣因素 γ──代表結果分佈,分佈範圍與風險正相關。演算法將更加關注遠期目標。

還有許多非常有用的開源強化學習框架

如果你也想構建自己的交易演算法,JPM 研究人員推薦了一些學習網站。他們給出了許多有益的早期開源強化學習框架,包括 BigQuant、OpenAI baselines、 dopamine、deepmind/trfl 及 Ray RLlib。

BigQuant——人工智慧量化投資平臺是國內首家將人工智慧技術應用於量化投資領域的平臺級產品,致力推進AI賦能投資,為投資者提供新型投資大數據和AI技術服務,讓每個投資者和投資機構都可以無門檻的使用AI降低投資成本,提升投資能力。

原文地址:《JPMorgan』s new guide to machine learning in algorithmic trading 》


推薦閱讀:
相關文章