参数体系总览:时间参数、价格参数、数量参数、风控参数、信号参数
做拆单算法,说白了就是在跟市场抢时间、抠成本、控风险。我做了这么多年量化,发现很多新手一上来就盯着信号参数猛调,结果实盘一跑就崩。为什么?因为参数体系是个系统工程,五个维度缺一不可。
今天我把这五类参数掰开揉碎了讲。你想想看,拆单的本质是什么?是把一个大单子拆成小单子,分批吃进市场。那你要管什么?什么时候吃、什么价格吃、吃多少、吃出问题怎么办、凭什么信号触发吃——正好对应这五类参数。
一、时间参数:拆单的节拍器
时间参数决定了你的订单在时间轴上的分布。我个人习惯把时间参数分成三个层级:
| 参数名称 | 典型值 | 说明 |
|---|---|---|
| 切片间隔 | 500ms - 5s | 两次拆单之间的最小等待时间 |
| 执行窗口 | 30min - 4h | 整个拆单任务允许的总时长 |
| 启动延迟 | 0 - 30s | 收到信号后延迟执行,避免跟单 |
| 收盘保护 | 15min | 收盘前停止拆单,防止隔夜风险 |
这里有个坑。我曾经在某个高频策略里把切片间隔设成100ms,觉得越快越好。结果呢?交易所的流控直接把我封了。嗯,这里要注意:切片间隔不能低于交易所的最小报价间隔,否则你的订单会被当成垃圾流量。
二、价格参数:成本控制的核心
价格参数直接决定了你的成交成本。说白了,你愿意为流动性付出多少溢价?
我常用的价格参数有这些:
- 偏离阈值:允许订单价格偏离最优买卖盘口的最大点数。比如设定3个tick,超过就撤单重发。
- 滑点容忍度:预期成交价与信号价的偏差上限。我一般设0.1%-0.5%。
- 冰山隐藏量:订单簿上只显示部分数量,隐藏真实意图。这个参数很关键。
- 价格保护带:在涨跌停价附近设置缓冲区,防止误触。
我记得有一次做股指期货拆单,把偏离阈值设得太宽,结果遇到闪崩,订单全部成交在极端价格上。那次教训让我明白:价格参数要和市场波动率挂钩,不能写死。
三、数量参数:仓位管理的艺术
数量参数决定了每一笔拆出去多少货。这里有个经典问题:是固定数量还是动态数量?
我的答案是:看流动性。流动性好的品种用固定比例,流动性差的用动态算法。
| 参数名称 | 适用场景 | 计算公式 |
|---|---|---|
| 固定切片量 | 大盘蓝筹、高流动性 | 总数量 / 切片次数 |
| 成交量比例 | 中小盘、低流动性 | min(剩余量, 当前成交量 * 比例) |
| 时间加权 | TWAP策略 | 剩余量 / 剩余时间 * 时间片 |
| 波动率调整 | 高波动市场 | 基础量 * (1 - 波动率系数) |
你想想看,如果市场突然放量,你还按固定数量拆,是不是就浪费了流动性?反过来,如果市场死水一潭,你硬拆大单,那就是在给做市商送钱。
四、风控参数:保命用的
这部分我多说几句。风控参数是拆单算法的最后一道防线,很多人不重视,觉得「我策略很稳」。嗯,我见过太多翻车的案例了。
风控参数主要分三类:
- 资金风控:单笔最大金额、累计最大亏损、持仓上限。我习惯设两个阈值——警告阈值和熔断阈值。
- 订单风控:最大未成交笔数、撤单频率限制、订单存活时间。超过5秒没成交的订单,我一般直接撤。
- 市场风控:涨跌停保护、异常波动暂停、连接断开处理。这个容易被忽略。
我曾经遇到过一次极端行情:某只股票3秒内跌了8%,我的拆单算法还在傻傻地按原计划买入。幸好风控参数里的「单笔最大亏损」触发了熔断,不然那天就亏大了。
五、信号参数:拆单的触发器
信号参数决定了「什么时候开始拆」「什么时候暂停」「什么时候结束」。这部分和策略逻辑耦合最深。
常见的信号参数包括:
- 触发信号:价格突破、成交量异动、技术指标金叉等。我建议至少用两个信号源做确认。
- 暂停信号:市场波动率超过阈值、订单簿深度不足、网络延迟过高。
- 终止信号:目标数量完成、时间窗口耗尽、风控熔断触发。
- 重试信号:部分成交后,剩余部分是否继续拆?我一般设3次重试上限。
这里有个细节:信号参数要区分「硬信号」和「软信号」。硬信号是必须满足的,比如风控熔断;软信号是建议性的,比如「当前流动性较好,建议加速拆单」。
参数体系总览图
下面这张图是我自己整理的参数体系结构。你可以把它当成调参时的检查清单:
这张图里,五个参数模块是并列关系,但实际运行时它们会互相影响。比如价格参数调得太激进,风控参数就可能频繁触发;时间参数设得太短,数量参数就得跟着调整。
我个人建议的调参顺序是:先定风控参数(保命),再定时间参数(节奏),然后定数量参数(仓位),接着定价格参数(成本),最后调信号参数(触发条件)。这个顺序能帮你少走很多弯路。