第二章:参数优化基础
做市策略的参数优化,说白了就是给策略找一套最合适的「旋钮位置」。
我刚开始做市商那会儿,总觉得策略写好了就能躺着赚钱。结果呢?参数设得不对,明明该做多的时候在卖,该卖的时候在买。嗯,那滋味可不好受。
今天咱们就把参数优化的底裤扒干净。从定义到目标,再到那些坑,我一个一个说给你听。
2.1 参数优化的定义
参数优化,就是在一组可能的参数组合中,找到能让策略表现最好的那一组。
举个例子。你的做市策略里有个参数叫「报价宽度」——就是买一价和卖一价之间的价差。设得太窄,赚不到钱;设得太宽,单子挂不出去。你需要找到一个「黄金点」。
用数学语言说:
目标函数 f(θ) = 策略表现指标
θ* = argmax f(θ)
其中 θ 是参数向量
说白了,就是解一个最优化问题。只不过这个问题的解,往往不是解析解,而是数值解。
核心要点:参数优化不是一次性的工作。市场在变,参数也得跟着变。我见过太多人把参数调好就再也不管了,结果三个月后策略开始亏钱。
2.2 参数优化的目标
目标其实就两个:赚钱,少亏钱。但具体到做市策略,得拆开看。
2.2.1 最大化收益
收益指标有很多种。我个人习惯用这几个:
- 总收益(Total PnL):最直观,但容易被极端行情带偏
- 夏普比率(Sharpe Ratio):收益/风险,更科学
- 胜率(Win Rate):赚钱的交易占比,做市策略一般要求60%以上
我在项目中遇到过一件事。有个同事优化参数时只看总收益,结果选出了一套参数,回测收益很高,但最大回撤超过30%。实盘第一天就亏了5%。
你想想看,做市商最怕什么?不是赚得少,是突然亏一大笔。所以收益指标一定要结合风险来看。
2.2.2 最小化风险
风险指标我重点关注这三个:
| 指标 | 含义 | 做市策略的容忍度 |
|---|---|---|
| 最大回撤(Max Drawdown) | 从最高点到最低点的跌幅 | 一般不超过5% |
| 波动率(Volatility) | 收益的波动程度 | 越低越好 |
| VaR(Value at Risk) | 一定置信水平下的最大可能损失 | 日VaR不超过资金的1% |
为什么要最小化风险?因为做市商赚的是「薄利多销」的钱。你每次交易赚0.01%,一天交易几千次,累积起来很可观。但一次黑天鹅事件,可能把几个月的利润全吞掉。
我的经验:优化时不要只看单一指标。我一般用「收益-风险」的加权组合作为目标函数。比如:f = 夏普比率 × 总收益 × (1 - 最大回撤/10%)。这样既考虑了收益,也惩罚了高风险。
2.3 参数优化的挑战
说到挑战,我得先给你泼盆冷水。参数优化不是万能的。搞不好,你会被自己「优化」出来的参数坑死。
2.3.1 过拟合
过拟合是什么?就是你的参数在历史数据上表现完美,一到实盘就拉胯。
我曾经犯过一个错误。优化一个做市策略时,我把参数调得特别精细,回测曲线漂亮得像教科书。结果实盘第一天,策略就开始亏钱。为什么?因为我把参数拟合到了历史数据里的噪声上。
怎么避免?
- 交叉验证:把数据分成训练集和测试集。在训练集上优化,在测试集上验证。
- 参数数量控制:参数越多,越容易过拟合。我一般控制在5个以内。
- 正则化:给目标函数加一个惩罚项,让参数不要太大或太小。
避坑指南:我曾经见过有人用100个参数去优化一个简单的做市策略。结果回测收益年化500%,实盘一周亏光。记住:参数越多,越容易过拟合。少即是多。
2.3.2 市场变化
市场是活的。你今天优化出来的参数,明天可能就失效了。
举个例子。2020年3月,疫情导致市场波动率飙升。之前优化好的做市策略,报价宽度设得太窄,结果频繁被成交,库存管理完全失控。
为什么会这样?因为参数优化本质上是基于历史数据的。但历史不会简单重复。市场结构、参与者行为、监管政策,都在变。
应对方法:
- 滚动优化:定期重新优化参数。我一般每周优化一次。
- 自适应参数:让参数根据市场状态自动调整。比如波动率高时,自动加宽报价。
- 压力测试:用极端行情数据测试参数的稳健性。
你想想看,如果市场已经变了,你还抱着旧参数不放,那不是刻舟求剑吗?
2.4 知识体系框架
下面这张图,把参数优化的核心逻辑串起来了。我建议你多看几遍,把每个环节都吃透。
这张图你看懂了吗?从历史数据出发,经过优化目标和优化方法,最终得到最优参数。但别忘了,过拟合和市场变化这两个挑战,随时可能让你的优化结果变成废纸。
总结一下:参数优化不是一锤子买卖。它是一个持续迭代的过程。每次优化完,都要问自己三个问题:
- 这个参数在测试集上表现如何?
- 如果市场变了,这个参数还扛得住吗?
- 我是不是过度拟合了历史数据?
嗯,今天就先聊到这儿。参数优化是个大话题,后面咱们还会深入讲具体的优化方法和实战技巧。你先把基础打牢,后面学起来就轻松了。
一个小建议:刚开始做参数优化时,别追求完美。先跑通一个简单的网格搜索,看看参数对策略表现的影响。有了感觉,再上更复杂的优化方法。
公众号:蓝海资料掘金营,微信deep3321