JaxMARL-HFT:基于多智能體的高頻交易強化學(xué)習(xí)框架,性能提高240倍
高頻金融市場建模困難,因價格由眾多市場參與者的互動內(nèi)生產(chǎn)生,且參與者常有有限理性和不完全信息。本文提出了JaxMARL-HFT,這是首個針對高頻交易(HFT)在限價訂單簿(LOB)上進行多智能體強化學(xué)習(xí)(MARL)的GPU環(huán)境。利用JAX的并行化能力,JaxMARL-HFT實現(xiàn)了高達240倍的訓(xùn)練時間縮短,支持大規(guī)模實驗和超參數(shù)調(diào)優(yōu)。
實驗表明,與現(xiàn)有實現(xiàn)相比,吞吐量提高了240倍,支持更大模型和數(shù)據(jù)集及更廣泛的超參數(shù)搜索。

摘要
JaxMARL-HFT是首個基于JAX的高頻交易多智能體強化學(xué)習(xí)環(huán)境,支持市場逐單數(shù)據(jù)。該框架支持異構(gòu)智能體,靈活處理多種觀察/行動空間和獎勵函數(shù)。利用JAX技術(shù),訓(xùn)練時間可減少240倍,適合大規(guī)模高頻交易數(shù)據(jù)和超參數(shù)調(diào)優(yōu)。實驗中,使用獨立的近端策略優(yōu)化(IPPO)在兩玩家環(huán)境中,智能體學(xué)習(xí)超越標準基準。
簡介
高頻金融市場建模困難,因價格由眾多市場參與者的互動內(nèi)生產(chǎn)生,且參與者常有有限理性和不完全信息。智能體基礎(chǔ)建模(ABM)通過指定個體智能體,允許市場行為從微觀層面互動中自發(fā)產(chǎn)生。主要模擬限價訂單簿(LOB)中的訂單行為,但現(xiàn)有模型因智能體策略過于簡單而受到批評。
強化學(xué)習(xí)(RL)是其中一個解決方案,近期研究集中在單智能體RL。為構(gòu)建智能智能體的現(xiàn)實和穩(wěn)健的ABM,需要多智能體強化學(xué)習(xí)(MARL),旨在為異質(zhì)智能體群體學(xué)習(xí)獨立策略。自我對弈的自然第一步是逐步訓(xùn)練單智能體RL,將學(xué)習(xí)到的策略加入對手策略池。
本文提出了JaxMARL-HFT,這是首個針對高頻交易(HFT)在限價訂單簿(LOB)上進行多智能體強化學(xué)習(xí)(MARL)的GPU環(huán)境。利用JAX的并行化能力,JaxMARL-HFT實現(xiàn)了高達240倍的訓(xùn)練時間縮短,支持大規(guī)模實驗和超參數(shù)調(diào)優(yōu)。兼容并擴展了JaxMARL算法,支持異構(gòu)智能體。允許使用多年的LOBSTER市場逐筆數(shù)據(jù)進行訓(xùn)練,提升了吞吐量和內(nèi)存優(yōu)化。提供了一個具有現(xiàn)實應(yīng)用挑戰(zhàn)的環(huán)境,測試MARL算法的極限。
初步結(jié)果顯示,在特定條件下,策略可以學(xué)習(xí)到超越基線的表現(xiàn),但需精心設(shè)計動作空間和獎勵函數(shù)。
背景
高頻交易
限價訂單簿(LOB)是現(xiàn)代金融交易的主要機制,允許市場參與者以特定價格和數(shù)量提交限價訂單。LOB通過價格和時間優(yōu)先原則匹配買賣訂單,市場參與者根據(jù)交易任務(wù)分類。
市場做市:提供流動性,通過報價賺取價差,降低證券庫存風(fēng)險。
訂單執(zhí)行:在預(yù)定時間內(nèi)以最低成本買賣特定數(shù)量的證券。
方向性交易:通過短期價格波動獲利,不以提供流動性為目的。
多智能體強化學(xué)習(xí)(MARL)
多智能體強化學(xué)習(xí)(MARL)是多個智能體在共同環(huán)境中同時學(xué)習(xí)的過程。同時訓(xùn)練多個智能體的計算需求較高,限制了MARL的發(fā)展。JAX庫提供了Python接口,支持GPU加速和即時編譯(JIT)。開發(fā)兼容JAX加速的MARL環(huán)境是一個活躍的研究領(lǐng)域。Rutherford等人提出了JaxMARL庫,提供了一系列利用JAX進行GPU加速的開源MARL環(huán)境。
相關(guān)工作
早期的零智能智能體模型能夠復(fù)制一些市場現(xiàn)象并解釋部分買賣差價的橫截面變化,但更復(fù)雜的市場動態(tài)如價格影響和訂單流相關(guān)性需要更智能的智能體。深度強化學(xué)習(xí)(RL)逐漸應(yīng)用于金融交易問題,包括方向性交易、市場做市和訂單執(zhí)行,部分研究利用多智能體強化學(xué)習(xí)(MARL)模擬市場。Lussange等人通過多RL智能體的交易模擬重現(xiàn)了市場統(tǒng)計特征,Ardon等人展示了流動性提供者和接受者的多種行為,Yao等人則在無背景模型的情況下使用真實的訂單簿數(shù)據(jù)重現(xiàn)市場特征。
MARL的高計算成本和長訓(xùn)練時間限制了高頻交易的研究,促使JaxMARL框架的開發(fā),以加速RL訓(xùn)練。本研究擴展了JaxMARL,利用GPU加速在高頻交易市場建模中實現(xiàn)了顯著的訓(xùn)練速度提升。
我們屬于當(dāng)前高保真LOB交易的ABM框架,如MAXE、ABIDES和PyMarketSim。這些框架支持異構(gòu)智能體提交合成訂單,便于市場微觀結(jié)構(gòu)的控制研究。ABIDES有ABIDES-gym擴展,支持深度強化學(xué)習(xí),已用于最優(yōu)訂單執(zhí)行和做市研究。PyMarketSim提供限價訂單市場環(huán)境,支持啟發(fā)式交易者和深度強化學(xué)習(xí)的戰(zhàn)略智能體訓(xùn)練。
JaxMARL-HFT與現(xiàn)有ABM框架的主要區(qū)別在于:利用GPU加速顯著提高RL訓(xùn)練速度,采用經(jīng)典的完全并發(fā)MARL范式。
設(shè)計
JaxMARL-HFT是基于JAX的LOB級MARL環(huán)境,兼容JaxMARL,支持多個強化學(xué)習(xí)智能體與歷史LOB消息流的交互。JAX的優(yōu)勢包括:
1) vmap實現(xiàn)數(shù)千個GPU線程的并行化;
2) JIT編譯優(yōu)化操作,消除Python開銷;
3) 環(huán)境回合和學(xué)習(xí)更新均在GPU上執(zhí)行,消除CPU與GPU間的數(shù)據(jù)傳輸延遲。
使用vmap并行化處理數(shù)據(jù)集,靈活選擇每個回合的起始和長度,支持重疊回合。改進了消息加載方式,通過連續(xù)加載數(shù)據(jù)并在運行時索引,減少了內(nèi)存占用,使得一年的AMZN訂單數(shù)據(jù)僅占4GB GPU內(nèi)存。

在每個回合的每一步中,針對同類型的智能體進行并行化,避免對所有智能體進行不加區(qū)分的vmap操作,以支持異構(gòu)觀察空間、動作空間和獎勵函數(shù)。采用外部Python循環(huán)對智能體類型進行迭代,僅對同類型實例進行vmap,以平衡GPU并行化的優(yōu)勢和異構(gòu)智能體的支持。
單個環(huán)境步驟結(jié)構(gòu):
- 動作轉(zhuǎn)換:將智能體動作轉(zhuǎn)化為LOB消息,并準備未匹配訂單的取消消息。
- 隨機打亂:隨機打亂所有智能體消息,消除智能體行為的順序性。
- 增強市場重放消息:將智能體生成的取消和動作消息與歷史消息流連接。
- JAX-LOB處理:由JAX-LOB模擬器處理訂單并記錄交易結(jié)果。
- 計算步驟結(jié)果:計算獎勵、輔助信息、終止標志和觀察結(jié)果,供智能體決定下一步動作。
智能體類型
市場做市:實現(xiàn)了三種動作空間配置,支持多樣化策略和任務(wù)復(fù)雜性。包括簡化的Spread-Skew、受Spooner啟發(fā)的Fixed Quantity和Avellaneda-Stoikov的AvSt。每種空間中,智能體選擇預(yù)設(shè)的買賣價格,固定的交易量與市場參與者的常用交易規(guī)模相符。
獎勵函數(shù):設(shè)計靈活,基于Vadori和Spooner的研究,包含不同權(quán)重的價差和庫存PnL項,用戶可調(diào)整超參數(shù)以適應(yīng)不同風(fēng)險偏好。
觀察空間:市場做市智能體使用一維數(shù)組,包含與任務(wù)相關(guān)的統(tǒng)計數(shù)據(jù),提供多種復(fù)雜度的觀察空間供用戶選擇。
訂單執(zhí)行:基于Frey等人的環(huán)境,離散化動作空間,智能體選擇提交訂單的價格,預(yù)定義的訂單量基于執(zhí)行任務(wù)大小和回合長度。
方向性交易:作為市場做市類的配置,重用獎勵函數(shù)和觀察空間,獨特的動作空間允許智能體在最佳價格下發(fā)送買賣訂單或不操作,所有訂單量固定。
IPPO和異構(gòu)智能體類型
JaxMARL包含多智能體強化學(xué)習(xí)(MARL)算法的實現(xiàn)。針對不同類型的智能體,需擴展現(xiàn)有實現(xiàn)以適應(yīng)環(huán)境。對于獨立PPO算法,保持每個智能體類型的獨立網(wǎng)絡(luò)、觀察、隱藏狀態(tài)和動作。在訓(xùn)練和環(huán)境回合中,智能體同類仍可利用高效的批處理操作。所有智能體保持獨立的網(wǎng)絡(luò)權(quán)重,僅通過環(huán)境觀察學(xué)習(xí)對抗行為,而非共享權(quán)重。
實驗
速度基準測試
為評估環(huán)境,比較了與之相關(guān)的多智能體高頻交易(HFT)框架,主要是ABIDES-gym和PyMarketSim。這兩個框架支持多種異構(gòu)背景智能體的模擬,但僅更新單個強化學(xué)習(xí)(RL)智能體,其他智能體不進行并行學(xué)習(xí)。ABIDES-gym計劃支持多智能體強化學(xué)習(xí)(MARL),但目前未實現(xiàn);PyMarketSim通過策略空間響應(yīng)oracle接近MARL,但仍不支持同時學(xué)習(xí)。
為了進行速度基準測試,實施了一個CPU版本的MARL環(huán)境,稱為CPU-MARL。實驗使用ABIDES-gym和PyMarketSim的開源代碼,在相同硬件上進行比較,硬件配置為8個NVIDIA L40S GPU和AMD EPYC 9554處理器(64核,256線程)。

環(huán)境速度:JaxMARL-HFT在無學(xué)習(xí)更新的情況下,處理歷史市場數(shù)據(jù)和RL智能體消息,顯示出相較于其他框架的顯著速度提升,尤其在智能體數(shù)量增加時更為明顯。
多智能體強化學(xué)習(xí)訓(xùn)練速度:JaxMARL-HFT在GPU上同時進行環(huán)境回合和RL更新,顯著提高了訓(xùn)練速度。與其他框架相比,JaxMARL-HFT在多個學(xué)習(xí)智能體并行時表現(xiàn)出更高的加速比,單智能體約5x-35x,加至十智能體時可達200x-240x。

GPU加速優(yōu)勢:使用JAX的pmap功能,JaxMARL-HFT可輕松擴展至多GPU,且在處理頻繁模型推理時,數(shù)據(jù)傳輸需求低,提升了整體吞吐量。
吞吐量比較:在處理不同數(shù)量的LOB消息時,JaxMARL-HFT的吞吐量顯著高于PyMarketSim,尤其在處理100條消息時,提升達5.5x,而處理1條消息時則為40x。
MARL:高頻交易的獨立PPO
使用改進的IPPO框架,考慮一個包含市場做市和執(zhí)行智能體的雙人環(huán)境,兩個智能體同時學(xué)習(xí)。采用GRU網(wǎng)絡(luò)架構(gòu)以識別數(shù)據(jù)中的時間依賴模式。MARL在高頻金融應(yīng)用中面臨的挑戰(zhàn):穩(wěn)定訓(xùn)練困難,尤其是面對通用動作空間和多維觀察空間。

為了展示JaxMARLHFT的功能,簡化了動作和觀察空間,離散化動作空間以應(yīng)對最優(yōu)動作的多模態(tài)性。Figure 3a展示了市場做市的兩種有前景的動作空間(SpreadSkew和FixedQuant)的訓(xùn)練曲線。使用投資組合價值(PV)和調(diào)整后的滑點(Slippage)作為智能體執(zhí)行任務(wù)能力的度量,而非直接獎勵函數(shù)。

不同獎勵函數(shù)(Spooner和BuySell)對訓(xùn)練的影響,Spooner獎勵函數(shù)與持有庫存相關(guān),且在市場做市策略中未能實現(xiàn)凈利潤,平均損失約0.2個ticks。低的期末懲罰系數(shù)導(dǎo)致早期獎勵較高,但網(wǎng)絡(luò)迅速學(xué)習(xí)避免高懲罰,最終差異不大。

市場做市者學(xué)習(xí)到的策略是交易頻率極低,主要在深度訂單和價差中進行交易,導(dǎo)致投資組合價值趨近于零。學(xué)習(xí)的執(zhí)行策略比TWAP基準策略更激進,執(zhí)行成本平均降低20%。學(xué)習(xí)策略在投資組合價值和滑點等質(zhì)量指標上超越TWAP和Avellaneda-Stoikov模型,表明MARL在間接市場影響建模中的優(yōu)勢。



總結(jié)
本文提出了首個支持高度并行化、GPU加速的多智能體強化學(xué)習(xí)(MARL)框架,適用于高頻交易(HFT)。環(huán)境真實且具有挑戰(zhàn)性,兼容JaxMARL中的先進MARL算法。包含三種主要HFT智能體任務(wù)的異構(gòu)實現(xiàn):訂單執(zhí)行、市場做市和方向性交易。與現(xiàn)有實現(xiàn)相比,吞吐量提高了240倍,支持更大模型和數(shù)據(jù)集及更廣泛的超參數(shù)搜索。初步結(jié)果顯示學(xué)習(xí)到的策略優(yōu)于現(xiàn)有基線策略,并展現(xiàn)出一些有前景的對抗行為。
未來研究方向包括:
- 測量學(xué)習(xí)策略在模擬中的市場影響。
- 轉(zhuǎn)向通用的動作/觀察空間,僅通過獎勵函數(shù)參數(shù)化智能體行為。
- 用生成模型替代歷史消息數(shù)據(jù),在對抗環(huán)境中訓(xùn)練RL智能體。
- 訓(xùn)練后移除歷史消息數(shù)據(jù),分析多智能體模型的價格序列。
- 利用模擬標記提交訂單的來源,促進對手塑造和市場參與者分類的新研究。?
本文轉(zhuǎn)載自???靈度智能??

















