参数体系总览:时间参数、价格参数、数量参数、风控参数、信号参数

做拆单算法,说白了就是在跟市场抢时间、抠成本、控风险。我做了这么多年量化,发现很多新手一上来就盯着信号参数猛调,结果实盘一跑就崩。为什么?因为参数体系是个系统工程,五个维度缺一不可。

今天我把这五类参数掰开揉碎了讲。你想想看,拆单的本质是什么?是把一个大单子拆成小单子,分批吃进市场。那你要管什么?什么时候吃、什么价格吃、吃多少、吃出问题怎么办、凭什么信号触发吃——正好对应这五类参数。

一、时间参数:拆单的节拍器

时间参数决定了你的订单在时间轴上的分布。我个人习惯把时间参数分成三个层级:

参数名称 典型值 说明
切片间隔 500ms - 5s 两次拆单之间的最小等待时间
执行窗口 30min - 4h 整个拆单任务允许的总时长
启动延迟 0 - 30s 收到信号后延迟执行,避免跟单
收盘保护 15min 收盘前停止拆单,防止隔夜风险

这里有个坑。我曾经在某个高频策略里把切片间隔设成100ms,觉得越快越好。结果呢?交易所的流控直接把我封了。嗯,这里要注意:切片间隔不能低于交易所的最小报价间隔,否则你的订单会被当成垃圾流量。

我的经验:切片间隔建议用随机抖动。比如设定500ms,实际执行时在400-600ms之间随机。这样能避免被市场嗅探到你的拆单规律。

二、价格参数:成本控制的核心

价格参数直接决定了你的成交成本。说白了,你愿意为流动性付出多少溢价?

我常用的价格参数有这些:

  • 偏离阈值:允许订单价格偏离最优买卖盘口的最大点数。比如设定3个tick,超过就撤单重发。
  • 滑点容忍度:预期成交价与信号价的偏差上限。我一般设0.1%-0.5%。
  • 冰山隐藏量:订单簿上只显示部分数量,隐藏真实意图。这个参数很关键。
  • 价格保护带:在涨跌停价附近设置缓冲区,防止误触。

我记得有一次做股指期货拆单,把偏离阈值设得太宽,结果遇到闪崩,订单全部成交在极端价格上。那次教训让我明白:价格参数要和市场波动率挂钩,不能写死。

避坑指南:我曾经在回测里把滑点容忍度设成0,觉得这样最理想。实盘第一天就被打脸——市场根本不给你零滑点的机会。建议至少留0.1%的缓冲。

三、数量参数:仓位管理的艺术

数量参数决定了每一笔拆出去多少货。这里有个经典问题:是固定数量还是动态数量?

我的答案是:看流动性。流动性好的品种用固定比例,流动性差的用动态算法。

参数名称 适用场景 计算公式
固定切片量 大盘蓝筹、高流动性 总数量 / 切片次数
成交量比例 中小盘、低流动性 min(剩余量, 当前成交量 * 比例)
时间加权 TWAP策略 剩余量 / 剩余时间 * 时间片
波动率调整 高波动市场 基础量 * (1 - 波动率系数)

你想想看,如果市场突然放量,你还按固定数量拆,是不是就浪费了流动性?反过来,如果市场死水一潭,你硬拆大单,那就是在给做市商送钱。

核心原则:数量参数要动态调整。我习惯用「剩余量 + 市场状态」双因子来决定下一笔的拆单量。

四、风控参数:保命用的

这部分我多说几句。风控参数是拆单算法的最后一道防线,很多人不重视,觉得「我策略很稳」。嗯,我见过太多翻车的案例了。

风控参数主要分三类:

  • 资金风控:单笔最大金额、累计最大亏损、持仓上限。我习惯设两个阈值——警告阈值和熔断阈值。
  • 订单风控:最大未成交笔数、撤单频率限制、订单存活时间。超过5秒没成交的订单,我一般直接撤。
  • 市场风控:涨跌停保护、异常波动暂停、连接断开处理。这个容易被忽略。

我曾经遇到过一次极端行情:某只股票3秒内跌了8%,我的拆单算法还在傻傻地按原计划买入。幸好风控参数里的「单笔最大亏损」触发了熔断,不然那天就亏大了。

血的教训:风控参数一定要独立于策略逻辑。也就是说,即使策略代码出bug了,风控模块还能正常工作。我见过有人把风控写在策略主循环里,结果策略死循环,风控也跟着失效。

五、信号参数:拆单的触发器

信号参数决定了「什么时候开始拆」「什么时候暂停」「什么时候结束」。这部分和策略逻辑耦合最深。

常见的信号参数包括:

  1. 触发信号:价格突破、成交量异动、技术指标金叉等。我建议至少用两个信号源做确认。
  2. 暂停信号:市场波动率超过阈值、订单簿深度不足、网络延迟过高。
  3. 终止信号:目标数量完成、时间窗口耗尽、风控熔断触发。
  4. 重试信号:部分成交后,剩余部分是否继续拆?我一般设3次重试上限。

这里有个细节:信号参数要区分「硬信号」和「软信号」。硬信号是必须满足的,比如风控熔断;软信号是建议性的,比如「当前流动性较好,建议加速拆单」。

我的习惯:信号参数里加一个「人工干预接口」。实盘中总有算法处理不了的极端情况,留个手动开关,关键时刻能救命。

参数体系总览图

下面这张图是我自己整理的参数体系结构。你可以把它当成调参时的检查清单:

拆单算法参数体系 时间参数 价格参数 数量参数 风控参数 信号参数 子参数 • 切片间隔 • 执行窗口 • 启动延迟 • 收盘保护 • 随机抖动 • 时间加权 子参数 • 偏离阈值 • 滑点容忍度 • 冰山隐藏量 • 价格保护带 • 波动率调整 • 最优价偏移 子参数 • 固定切片量 • 成交量比例 • 时间加权量 • 波动率调整 • 剩余量因子 • 最小切片量 子参数 • 单笔最大金额 • 累计亏损上限 • 持仓上限 • 撤单频率限制 • 订单存活时间 • 涨跌停保护 触发/暂停/终止/重试信号

这张图里,五个参数模块是并列关系,但实际运行时它们会互相影响。比如价格参数调得太激进,风控参数就可能频繁触发;时间参数设得太短,数量参数就得跟着调整。

我个人建议的调参顺序是:先定风控参数(保命),再定时间参数(节奏),然后定数量参数(仓位),接着定价格参数(成本),最后调信号参数(触发条件)。这个顺序能帮你少走很多弯路。

总结一句话:参数体系不是孤立的,它们是一个有机整体。调参时要有全局观,别盯着一个参数死磕。
专注资料整理