图片

本文深入探讨了如何利用深度强化学习(DRL)技术,从限价订单簿(LOB)数据中提取特征,以构建一个高效、适应性强的市场做市(MM)智能体。

一、引言:市场做市在量化金融中的重要性

市场做市是量化金融领域一个至关重要的问题。市场做市商通过在买卖双方同时报出限价订单,为市场提供流动性和即时性,从而在价格发现过程中发挥关键作用。

市场做市商面临的挑战:

  1. 信息不对称成本(45%):

    • 做市商在与拥有信息优势的投资者交易时处于劣势,这部分成本反映了信息不对称带来的损失。
    • 例如,当市场出现重大利好消息时,拥有内幕信息的投资者可能会以较低的价格从做市商处买入股票,而做市商则承担了以更高价格卖出股票的风险。
  2. 订单处理成本(45%):

    • 这部分成本包括交易佣金、印花税、转账费等做市商在执行交易时产生的费用。
    • 例如,在中国股票市场,做市商每笔交易需要支付一定比例的印花税,这会侵蚀其利润。
  3. 库存持有成本(10%):

    • 做市商需要持有一定数量的资产库存以满足买卖需求,但资产价格波动会导致库存价值波动,从而带来风险。
    • 例如,当做市商持有大量某股票库存时,若该股票价格下跌,做市商将面临损失。

电子限价订单簿(LOB) 是当今金融市场中超过一半的市场采用的交易机制。LOB 记录了所有活跃的限价订单信息,是价格发现的重要信息来源。研究表明,LOB 对价格发现的贡献约为 22%。

然而,LOB 的状态空间极其庞大且复杂:

  • 高维度: 如果存在 P 个价格水平,最简单的聚合状态空间将是 Z^§,这使得建模过程变得复杂。

    • 例如,在股票市场中,常见的报价价格水平可能多达几十个甚至上百个,这导致状态空间维度极高。
    • 此外,LOB 还包含每个价格水平的挂单量信息,这进一步增加了状态空间的维度。
  • 噪声: LOB 中存在大量无关信号,例如频繁的报价和取消订单行为,这使得从噪声中提取有效信息变得困难。

在电子撮合市场中,开发一个自主的市场做市智能体已成为一个现实问题。

二、相关工作:传统模型与深度学习方法的局限性

传统市场做市模型主要基于随机动态规划,并依赖于对价格过程和订单到达过程的强假设。例如:

  • Avellaneda-Stoikov (AS) 模型:

    • 该模型通过考虑报价被执行的可能性与报价距离中间价的关系来校准最优报价。
    • 然而,该模型假设价格是连续的,这与实际市场中的最小价格变动单位(tick size)不符。
    • Guilbaud 等人针对离散报价构建了策略,但这些模型的主要局限性在于需要假设底层过程(价格过程和订单到达过程)的特定属性才能获得策略的解析解。

随着计算能力和网络速度的提升和成本的降低,产生了记录所有交易和订单簿变动(精确到毫秒)的庞大数据库。越来越多的研究利用数据驱动方法从嘈杂的金融数据中提取特征,并应用机器学习方法来预测短期价格走势,例如:

  • 深度学习方法:

    • 卷积神经网络(CNN)、循环神经网络(RNN)和注意力机制(Attention)被用于预测价格走势,并在高频交易(HFT)领域发现模式。
    • 例如,DeepLOB 模型利用 CNN 从 LOB 数据中提取特征,并结合 LSTM 预测价格走势。

然而,这些方法主要用于信号预测,许多强化学习(RL)方法被用于交易、最优执行和投资组合管理。

将 RL 应用于市场做市的现有研究存在以下局限性:

  • 数据来源:

    • 一些研究使用模拟市场数据,这可能无法完全反映真实市场的复杂性。
    • 另一些研究则依赖于手工构建的市场特征,这可能无法充分捕捉市场的动态变化。
  • 模型架构:

    • 一些研究使用简单的多层感知器(MLP)从 LOB 数据中提取特征,这可能限制了 LOB 描述能力。
    • 例如,Spooner 等人使用手工构建的 LOB 特征(如价差、价格走势、订单失衡)作为状态表示,其动作空间是离散的。
    • Zhong 等人虽然也使用手工构建的特征来表征市场波动和中间价走势,但其动作空间允许智能体退出市场。
    • Sadighian 首次将深度强化学习(DRL)应用于加密货币市场做市,他使用 LOB、TFI(交易流失衡)和 OFI(订单流失衡)来描述市场状态,并使用 MLP 作为函数逼近器,这可能限制了 LOB 的描述能力。
    • Gasperov 和 Kostanjcar 使用梯度提升模型预测实现的价格范围,并使用长短期记忆(LSTM)预测趋势,然后将信号用于训练 DRL 智能体。

三、方法:构建基于 LOB 的 DRL 市场做市智能体

本文提出了一种基于 LOB 的 DRL 市场做市智能体,主要创新点如下:

(一) 市场表示

  1. 订单簿状态:

    • 例如,对于 10 个价格水平,订单簿状态向量长度为 40。
    • 将订单簿快照为一维向量,其长度为 4n,其中 n 表示价格水平数。
    • 采用长度为 T 的滚动窗口来形成输入,其形状为 (T, 4n)。
    • 为了克服手工构建特征的局限性,本文使用预训练的深度神经网络作为函数逼近器,在强化学习过程中进行特征提取。
  2. 动态市场状态:

    • 订单强度指数(OSI):

      • 为了考虑新发生事件对市场的动态影响,本文自定义 OSI 来描述买卖双方之间的相对强度。
      • 事件分为三类:新市场订单、新限价订单和订单取消。
      • 分别计算每类事件在数量和成交量上的强度指数,并计算 10 秒、60 秒和 300 秒时间窗口内的 OSI,最终得到 18 个特征。
    • 实现波动率(RV):

      • 通过分析资产在规定时间段内的历史收益来评估其波动性。
      • 分别计算过去 5 分钟、10 分钟和 30 分钟的 RV,得到 3 个特征。
    • 相对强弱指数(RSI):

      • 这是一个用于动量交易的技术指标,用于衡量证券近期价格变化的速度,以评估该证券价格是高估还是低估。
      • 分别计算 5 分钟、10 分钟和 30 分钟的 RSI,得到 3 个特征。
  3. 智能体状态:

    • 库存是控制库存风险的关键内部状态。
    • 剩余时间由当前时间 t 除以总时间 T 计算得出。
    • 包含库存和时间因素。

(二) LOB 建模

本文使用基于 CNN 和注意力机制的网络(Attn-LOB)从 LOB 数据中提取特征,并使用预训练来提高其性能。

  1. 标签获取:

    • 例如,当中间价变化率超过 α 时,标签为 1;当变化率在 -α 到 α 之间时,标签为 0;当变化率低于 -α 时,标签为 -1。
    • 采用文献[23]中提出的方法获取标签,该方法被证明具有更强的鲁棒性。

    • 使用中间价变化率来定义标签,并根据市场情况设置阈值 α。

  2. 归一化:

    • 由于资产的价值可能会波动到前所未有的水平,价格值的统计数据会随着时间发生显著变化,这使得价格时间序列成为非平稳序列。
    • 为了将非平稳输入序列转换为平稳序列,本文采用文献[18]中描述的归一化方法。
    • 之后,对平稳的价格序列进行 z 归一化,对成交量序列进行最大归一化。
  3. 模型架构:

    • 首先,使用多个卷积滤波器来建模空间依赖性。
    • 然后,将形状为 (T, hidden_dim) 的输出输入到 Inception 模块中,以建立多尺度时间依赖性。
    • 最后,使用多头自注意力层来聚合时间依赖性。
    • Attn-LOB 是一个由卷积网络和自注意力机制组成的深度神经网络。

(三) 动作空间

  1. 离散动作空间:

    • 动作 0-7 是以特定的价差和偏差报出一对订单,动作 7 是用市价订单平仓。
    • 买卖价格将根据订单提交时的价格计算得出。
    • 每个订单的成交量是最小交易单位,在中国股票市场为 100 股。
    • 类似于文献[41]、[43],包含 8 种可能的动作。
  2. 连续动作空间:

    • 动作 A1 和 A2 介于 0 和 1 之间。
    • A1 控制着预订价格 pr 与中间价 pm 之间的偏差 δ。
    • A2 控制着报价价差。
    • 为了避免无限制的买卖,设置了一个超参数 ω,当智能体的持仓量高于 ω 倍最小交易单位时,智能体将被禁止在该方向上报价。
    • 预订价格的方向由库存控制,因为当库存为负时,智能体希望买入;当库存为正时,智能体希望卖出。
    • 更加灵活,受 AS 策略启发。

(四) 奖励函数

  1. 抑制的盈亏(DP):

    • DP 会减少因持有而获得的奖励,但不会减少对损失的惩罚。
    • 使用盈亏(PnL)作为奖励函数会导致智能体采取投机性行为,即倾向于持有大量库存。
    • 为了避免这种情况,本文添加了一个不对称的惩罚项来计算抑制的盈亏(DP)。
  2. 交易盈亏(TP):

    • 仅在交易发生时奖励智能体。
    • 可以被视为交易时相对于中间价的优势。
    • 交易盈亏相当于盈亏减去持仓盈亏,后者是由持仓引起的 PnL。
  3. 库存惩罚(IP):

    • 库存惩罚是控制库存风险的有效方法。
    • 为了使库存惩罚迅速增加,使用 L2 范数来计算 IP。
  4. 奖励函数:

    • DP 用于惩罚因持有库存而造成的损失,TP 用于奖励有利的交易价格,IP 用于惩罚高库存头寸。
    • 将上述奖励结合起来,形成一个混合奖励函数。

(五) 训练算法

本文采用两种常用的 RL 算法来训练智能体:

  • Dueling DQN: 一种基于价值的 SOTA 算法,用于在离散动作空间训练智能体。
  • 近端策略优化(PPO): 一种基于策略的 SOTA 算法,用于在连续动作空间训练智能体。

四、实验:验证模型性能

(一) 数据集

  • 使用深圳证券交易所 2019 年 11 月的历史订单和交易数据,涵盖 21 个交易日。
  • 选择三个不同行业的股票进行研究:平安银行(银行)、五粮液(酿酒)和海康威视(科技)。
  • 重建它们的历史限价订单簿,包含约 5,000,000 个样本。

(二) 预训练

  • 使用中间价方向预测作为预训练任务。

    • 标签获取方法与之前描述的相同。
    • 采用文献[18]中描述的归一化方法。
    • 使用 Attn-LOB 模型进行特征提取,并在预训练任务中进行微调。

(三) RL 设置

  • 设置了一个模拟交易环境,使用历史 LOB 数据。

    • 为了确保模拟交易的现实性,模拟器仅在真实的历史订单到达时执行智能体的订单。

    • 交易成本设置为 0,智能体可以持有负现金或库存。

    • 如果绝对库存超过最大库存,智能体将被禁止在该方向上报价。

    • 如果智能体选择用市价订单平仓,订单将按对手方的价格执行。

    • 由于智能体的报价量很小,因此忽略这些订单对市场的影响。

(四) 实验结果

  • 总体而言,RL 智能体在捕捉价差和控制库存方面表现出色。

    • 特别是在 PnLMAP 指标上,智能体能够在保持较低库存水平的同时获得超额利润。

    • C-PPO 优于所有基线,显示出所提出的连续动作空间的优势。

    • 与固定报价策略相比,RL 智能体在库存控制方面具有优势。

    • 传统 AS 策略虽然也能有效控制库存,但在某些情况下会以牺牲盈利能力为代价。

(五) 扩展实验

  1. 延迟:

    • AS、固定报价和随机报价策略都受到延迟的影响,因为这些模型的参数是固定的,因此无法适应延迟。
    • RL 智能体 C-PPO 和 D-DQN 的表现优于它们,因为智能体可能会在环境中自我适应延迟。
    • 由于预训练的时间范围等于 10,当延迟在 10 左右时,智能体表现更好。
    • 在 HFT 领域,延迟通常由消息传递和计算引起,是影响策略盈利能力的重要因素。

    • 本文研究了智能体和基线对延迟的鲁棒性。

  2. 消融实验:

    • LOB 状态包含丰富的微观结构信息,是市场做市智能体的关键特征。
    • 如果不输入 LOB 状态,性能会严重下降。
    • 但 LOB 状态只能通过专门设计的模块提取,如果用简单的 MLP 替换 Attn-LOB,性能只会略有提高。
    • 动态状态代表市场动态,也增强了性能,但幅度不大。
    • 为了研究模型中每个部分的影响,本文进行了消融实验。
  3. 解释:

    • 在市场波动于某个价格附近时,智能体通过开仓和平仓获利。
    • 当智能体持有负头寸时,它将买价报得非常接近中间价,以试图恢复到中立状态。
    • 然而,当价格急剧下跌,出现趋势性市场时,报价价格远离中间价,以便保持低库存头寸以避免风险。
    • 在稳定的市场中,智能体将关注最新的变化。
    • 在快速变化的市场中,它还会关注更早的市场变化。
    • 通过可视化自注意力层的权重,发现智能体最关注的是最近的事件。

    • 通过绘制 C-PPO 智能体的历史决策,发现它确实学到了一些交易准则。

五、结论:开创性的市场做市智能体

本文提出了一种基于深度强化学习的创新型市场做市智能体,在捕捉价差和控制库存方面表现出色,并且对延迟具有鲁棒性。

主要贡献包括:

  1. 设计了一种有效的框架,用于训练具有自动特征提取和预训练的 RL 智能体,以解决 HFT 领域的市场做市问题。
  2. 提出了基于 CNN 和注意力机制的网络(Attn-LOB),用于从 LOB 数据中自动提取特征,并将其预训练用于中间价方向预测任务,证明了其对建立市场表征的有效性。
  3. 提出了一个接近金融实践的全新连续动作空间,并将其与之前的离散动作空间进行了比较。
  4. 研究了几种用于捕捉价差和控制库存的奖励函数,并在理论和实验中展示了它们的效果。
  5. 进行了可解释性实验来解释智能体,发现智能体能够关注相关的市场变化并学习市场做市的基本技能,显示出巨大的实际潜力。

未来研究方向包括:

  • 将该智能体应用于其他金融市场,例如加密货币市场。
  • 探索更复杂的奖励函数,例如考虑交易量、波动性等因素。
  • 研究如何将智能体应用于多智能体环境,例如多个智能体同时进行市场做市。

如何学习AI大模型 ?

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。【保证100%免费】🆓

CSDN粉丝独家福利

这份完整版的 AI 大模型学习资料已经上传CSDN,朋友们如果需要可以扫描下方二维码&点击下方CSDN官方认证链接免费领取 【保证100%免费】

读者福利: 👉👉CSDN大礼包:《最新AI大模型学习资源包》免费分享 👈👈

(👆👆👆安全链接,放心点击)

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

👉1.大模型入门学习思维导图👈

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

对于从来没有接触过AI大模型的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。(全套教程文末领取哈)
在这里插入图片描述

👉2.AGI大模型配套视频👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,每个章节都是当前板块的精华浓缩。

在这里插入图片描述
在这里插入图片描述

👉3.大模型实际应用报告合集👈

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(全套教程文末领取哈)

在这里插入图片描述

👉4.大模型落地应用案例PPT👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(全套教程文末领取哈)

在这里插入图片描述

👉5.大模型经典学习电子书👈

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。(全套教程文末领取哈)
img

在这里插入图片描述

👉6.大模型面试题&答案👈

截至目前大模型已经超过200个,在大模型纵横的时代,不仅大模型技术越来越卷,就连大模型相关的岗位和面试也开始越来越卷了。为了让大家更容易上车大模型算法赛道,我总结了大模型常考的面试题。(全套教程文末领取哈)

在这里插入图片描述
👉学会后的收获:👈
基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习

CSDN粉丝独家福利

这份完整版的 AI 大模型学习资料已经上传CSDN,朋友们如果需要可以扫描下方二维码&点击下方CSDN官方认证链接免费领取 【保证100%免费】

读者福利: 👉👉CSDN大礼包:《最新AI大模型学习资源包》免费分享 👈👈

(👆👆👆安全链接,放心点击)
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐