已经决定买入,为什么还要把一笔单拆成几十笔?

智能拆单

约 12 分钟1 个动手实验4 道小题

学完你能说清楚用 TWAP、VWAP 和状态驱动方法,把大单执行变成可检查的过程。

01学完这一课,你能做到什么

学完这一课,你应该能:

  1. 解释大单为什么会产生市场冲击,并算出 子单数量;
  2. 用比例生成 执行计划,区分事前计划和事后评价;
  3. 设计拆单的状态、动作和奖励;
  4. 检查仿真环境是否包含、未完成订单和真实交易约束。

本课讨论的是“已经决定买卖之后,怎样执行得更有纪律”。它不负责判断标的值不值得买,也不把仿真结果当成真实交易表现。

一句话记住先固定总目标,再比较怎么执行。

02大单为什么要拆开执行

假设一次要买入 1000 万股。若把整笔买单直接打进盘口,便宜档位的卖单可能先被吃完,后续成交只能接受更贵的价格。市场还可能察觉到持续买入,导致剩余订单更难成交。由订单行为带来的额外价格偏离,叫市场冲击成本。

拆单就是把总目标分成若干子订单,在一段时间内逐步执行。它可能降低瞬时冲击,但也带来新的风险:等待期间价格上涨、订单没完成、交易意图暴露、临近截止被迫集中成交。比较方法前,要固定总量、方向、期限、交易时间和成交约束。

一次打完和分段执行

一次性大单

更快,但可能吃穿盘口并放大瞬时冲击。

分段执行

降低瞬时需求,但承担等待和未完成风险。

一句话记住拆单减少瞬时压力,不会消除执行风险。

03TWAP:按时间均匀分配

TWAP(Time-Weighted Average Price,时间加权平均价格)把执行时间切成多个片段,每段安排相近的数量。假设交易时间是 240 分钟,每 5 分钟一个片段,共 48 段;总量是 100000 股。理论数量为:

每段数量 = 总量 ÷ 片段数 = 100000 ÷ 48 ≈ 2083.33 股。

真实下单不能发出 0.33 股。若按 100 股取整,前面的片段可以先下 2000 股,剩余尾差必须在后续片段补足,最后所有子单的总和仍要精确等于 100000 股。不能每段固定 2000 股后就宣称完成目标。

优点是简单、透明、容易复核;缺点是它对每个片段的实时变化反应有限。某个片段成交量很低时,机械执行同样数量可能产生更大。午间休市不应算进可交易片段;不同市场的交易时段和申报规则也不同。

TWAP 子单数量

qₜ = Q ÷ N = 100000 ÷ 48 ≈ 2083.33 股

最终要按交易单位取整,并把尾差补回总量。

一句话记住均匀分配的是计划,不是忽略交易单位。

04VWAP:跟着预期成交量分配

VWAP(Volume-Weighted Average Price,成交量加权平均价格)不是每段买一样多,而是根据历史或实时估计的日内成交量分布来分配。设总目标为 Q,第 t 段预计成交量占全天的比例为 wₜ:

qₜ = Q × wₜ。

假设 Q=100000 股,某段预计占比 8%,则:

qₜ = 100000 × 8% = 8000 股。

所有 wₜ 必须合计为 1,否则计划总量就会偏离目标。

要分清两个概念:事前的成交量比例是执行计划;市场 VWAP 是事后用实际成交价和成交量加权得到的评价基准。历史分布不保证当天有效,突发事件可能让成交高峰换时间。

VWAP 的两个口径

事前计划

用预计成交量比例分配每一段要执行的数量。

事后基准

用实际成交价和成交量计算平均执行水平。

一句话记住计划用预计量,评价用实际成交量。

05从固定规则到状态驱动

强化学习拆单把每一步看成一次“现在执行多少”的决策。状态可以包含五个维度:

  • 剩余订单量;
  • 剩余时间;
  • 价格相对到达价的偏移;
  • 波动率;
  • 价格相对 VWAP 的偏移。

动作可以定义为“执行剩余量的比例”,例如 5% 或 10%。临近截止但剩余量很多时,等待的代价会上升;价格暂时下跌时,买入可能更便宜,但也可能意味着流动性正在枯竭,所以不能把它写成固定抄底规则。

PPO(近端策略优化)是一种策略优化方法。它可以处理连续比例,也能处理离散动作;不能把 PPO 和连续动作简单画等号。

状态驱动的每一步
  1. 1读取状态剩余量、时间、价格、波动、VWAP 偏移
  2. 2输出动作执行比例
  3. 3模拟成交加入成本与限制
  4. 4更新环境剩余量和时间

一句话记住价格、时间和进度要一起看。

动手试试

拆单参数探索

调整订单量、片段数和成交量分布,观察子单计划与执行约束的变化。

动手试试

调整拆单数量,观察冲击成本与完成时间的取舍

教学样本
每片数量10,000
估计冲击3.00
完成时间260
拆单数量与冲击
3095160225290355420485550615
完成条件
调到 10 片,接近原例的集中执行规模
调到 40 片以上,看到等待时间明显增加

总量取 10 万股、期限取 240 分钟;冲击系数和每片等待是教学假设。

06PPO 中 Actor 和 Critic 各做什么

Actor–Critic(演员—评论家)是两种职责不同的模型:Actor 根据状态给出动作分布,决定执行比例;Critic 估计当前状态的价值,帮助判断动作结果是否高于预期。Actor 调整行为,Critic 改善价值估计。

这和 的在线网络、目标网络不是一回事。DQN 的两个网络都在近似动作价值,只是更新节奏不同;Actor 和 Critic 的输出职责不同。完整 PPO 还包含策略更新幅度控制等机制,本课只用它解释拆单结构,不据此声称已经复原一套可运行程序。

一句话记住Actor 选动作,Critic 估价值。

07仿真环境必须模拟冲击和成本

执行量 V 占日均成交量 ADV 的比例,可以用来描述参与程度。市场冲击常被分成:

  • 临时冲击:执行时消耗流动性造成的成交偏离;
  • 永久冲击:交易后仍保留的价格影响。

一种简化假设使用平方根响应:冲击大小与 √(V/ADV) 相关。假设其他条件不变,执行量从 100000 股降到 10000 股,比例是 0.1,平方根约 0.316,所以模型中的影响约变成原来的三分之一,而不是十分之一。这个示意不能当成所有市场的定律;正式实现还要核对公式系数、单位、费用和流动性假设。

如果环境没有滑点、冲击、手续费或未完成订单,智能体可能只是在利用模拟器漏洞。

平方根冲击的比例示意

impact ∝ √(V ÷ ADV); √(10000 ÷ 100000) ≈ 0.316

这是同一简化模型下的比例示意,不是普适定律。

一句话记住模型没模拟成本,训练出的优势就不可信。

08奖励要同时鼓励便宜、分散和按时完成

奖励可以先用执行成本的负值表示:冲击越大,扣分越多。还要显式处理三类约束:

  • 集中度惩罚:单段执行量超过均匀执行量两倍时,对超出部分扣分;
  • 进度惩罚:接近截止时间却剩下很多订单时扣分;
  • 执行偏离:明确相对到达价还是相对 VWAP 评价。

这些奖励可能互相冲突。集中度惩罚太大,模型可能不敢抓住短暂的流动性窗口;只奖励低成本,又可能通过不成交获得高分。因此环境要限制合法执行量,并把“在截止时间前完成总量”作为硬验收条件。每个奖励分项都要记录单位、归一化方法和系数。

一句话记住低成本不够,还要完成目标。

09怎样公平比较 TWAP、VWAP 和 PPO

可以把 100000 股、48 个五分钟片段、到达价约 2.47 作为教学样本,先运行 TWAP 和 VWAP 基线,再训练 PPO。记录市场价格、各段成交量、剩余订单、总费用、完成率、到达价缺口、相对市场 VWAP 偏离和最大单段占比。

举一组演示设置:日均成交量约 895 万股,训练 5 万步,实际成交主要集中在约 10 个片段里。这些数字只描述一次实验的设置,换一只股票或一个时段都会变。你自己做时,先说清楚“片段”指的是固定的时间窗口,还是有成交的那些片段。

计算口径也要统一。比如按 2.47 和 2.48 两个价格算,相对差是 (2.48−2.47)÷2.47≈0.00405,约 40.49 bps。如果报告里的数字和你自己算的对不上,先查是不是用了更多位小数或不同的基准价,不要强行解释。

公平比较必须使用同一行情、订单量、期限、成交模型和费用,并且所有方法都完成订单。只比较成交价格,不比较未完成数量,会把“少成交”误判成“执行更好”。

执行结果至少看四项

成本

到达价缺口和费用。

完成

完成率和剩余订单。

偏离

相对市场 VWAP。

集中

最大单段占比。

一句话记住比较价格,也要比较完成了多少。

10换标的、换行情,模型可能就失效

A 标的训练出的拆单策略,不一定适用于 B 标的。联合训练相似标的可以扩大样本,但仍要检查价格尺度、流动性、参与率和交易规则差异,并留出没有参与训练的标的做测试。

如果训练数据以震荡为主,遇到持续上涨或下跌时可能失效。可以把趋势、 等当作状态特征,也可以重新安排样本比例,但不能打乱环境内部的真实时间顺序,更不能制造不存在的成交路径。

、现金、上限、最小交易单位、滑点、T+1 和无法成交,都要在训练环境和环境中一致处理。买入指令不等于涨停成交,跌停卖出也不等于一定能卖出。模型只有在状态能表达、训练或压力测试覆盖、约束确实生效时,才值得继续评估。

泛化检查

训练内表现

同一标的、同一行情和同一成交模型下的结果。

未见场景测试

换标的、换行情并加入流动性骤降等压力。

一句话记住环境边界不真实,模型就学不到真实执行。

11动手任务:做一份拆单验收表

先用表格完成 100000 股、48 段的 TWAP 计划,处理交易单位和尾差;再给出一组总和为 1 的成交量比例,生成 VWAP 计划。两份计划都要满足:总量精确、交易时间合法、不出现负数或超量。

取得可运行程序后,先复现 TWAP 和 VWAP 基线,再训练 PPO。保留五维状态、动作含义、奖励分项、训练步数和随机种子,绘制各段成交和剩余量。

增加三种压力场景:中途流动性骤降、持续单边上涨、最后几段无法成交。只要出现未完成订单或假成交,就不能仅凭更低成本判定模型更好。策略从仿真进入模拟或真实执行前,还要经过接口、权限、风控和人工确认。

一句话记住先验收总量和成交真实性,再谈成本。

检验
检验一下

4 道小题

全部答对,这一课就算真正读懂了。答错了会告诉你为什么。

01100000 股分成 48 段做 TWAP,每段理论数量约是多少?
02某时段预计占全天成交量 8%,总目标 100000 股,VWAP 计划是多少?
03Actor–Critic 中 Critic 的主要职责是什么?
04比较拆单方法时,哪项不能省略?
知识卡

这一课,浓缩成一张卡

学完可以保存或分享给朋友。保存成图片的功能会在下一版加上。

AI+金融投资训练营 · 智能拆单智能拆单最容易被忽略的验收点是什么?

不能只看成交价格,还要确认订单按时完成,并把成本、规则和未成交量一起纳入比较。

  • TWAP 处理尾差
  • VWAP 比例合计为 1
  • PPO 也要压力测试
quant.jtxaionline.com
这一课的要点

记住这 5 句话

  1. 01大单会消耗盘口流动性并产生市场冲击,拆单降低瞬时需求但引入等待和未完成风险。
  2. 02TWAP 按时间分配,VWAP 按预计成交量比例分配;计划总量必须精确并符合交易单位。
  3. 03强化学习拆单要定义剩余量、时间、价格偏移、波动和 VWAP 偏移等状态,以及合法执行比例动作。
  4. 04成本模型要包含临时或永久冲击、滑点、费用和未完成惩罚,不能让不成交获得高分。
  5. 05比较方法要统一行情、期限、订单量和成交模型,并测试换标的、趋势行情、涨跌停和流动性骤降。
完成这一课

完成这一课

读完讲义、动手做一次实验、答对小题,这一课就算学完了。

  • 读完讲义
  • 完成一次拆单参数探索
  • 通过随堂自测

实验数据AI+金融投资训练营教学样本。固定教学样本

固定教学样本只用于解释量化研究方法,不代表任何真实标的未来表现,也不构成投资建议。