第三章:策略空间构建
好,咱们进入正题。策略空间构建,说白了就是搞清楚三件事:我能怎么干、对手可能怎么干、以及各种组合下我能赚多少。这步要是没做好,后面所有分析都是空中楼阁。
我在做量化交易的头两年,其实没太重视这个环节。总觉得策略嘛,不就是买和卖?后来被市场狠狠教育了几次,才明白——策略空间的定义质量,直接决定了你的博弈层次。
3.1 定义自己的交易策略集
先说说自己这头。你的策略集,不是拍脑袋想出来的。它应该是一个有限、可执行、互斥的集合。
核心原则:每个策略必须能用代码表达,且能回测验证。
我个人习惯把策略集分成三个维度:
- 方向维度:做多、做空、中性
- 时间维度:日内、隔夜、波段
- 仓位维度:轻仓、半仓、重仓
举个例子,假设你只做股指期货。你的策略集可能是:
# 策略集定义示例
策略A:开盘15分钟突破追多,仓位30%
策略B:开盘15分钟突破追空,仓位30%
策略C:震荡区间高抛低吸,仓位20%
策略D:观望,不交易
嗯,这里要注意——策略集不要贪多。我见过有人一口气列了20多个策略,结果回测时发现很多策略本质上是重复的。你想想看,这反而增加了分析的复杂度。
我的经验:策略数量控制在4-6个最合适。太少缺乏博弈空间,太多容易过拟合。
3.2 识别对手的可能策略集
这步比上一步难得多。为什么?因为你永远无法100%确定对手在想什么。但我们可以通过市场行为反推。
我在项目中遇到过最典型的案例是:某只股票在财报发布前,突然出现大量小单买入。我当时的第一反应是——这不是散户行为,而是机构在拆单。于是我把对手的策略集调整为:
- 吸筹策略:利用小单隐蔽建仓
- 洗盘策略:制造假跌破,吓出散户
- 拉升策略:快速拉高,吸引跟风盘
- 出货策略:高位放量,派发筹码
识别对手策略,有几个实用方法:
- 看盘口挂单:大单托底还是压顶?挂单撤单频率如何?
- 看成交分布:是均匀成交还是脉冲式成交?
- 看资金流向:主力资金是净流入还是净流出?
- 看历史模式:类似行情下,对手过去怎么做的?
避坑指南:我曾经犯过一个错误——把对手的策略集定义得太细。比如把"吸筹策略"又拆成"早盘吸筹"、"尾盘吸筹"、"盘中吸筹"三个子策略。结果发现这些子策略在博弈分析中几乎没有区别,白白增加了计算量。
3.3 支付矩阵的构建方法
支付矩阵,就是把你和对手的策略组合起来,算出每种组合下的收益。这是博弈论最核心的工具,也是量化交易中最容易被忽视的环节。
构建支付矩阵,我建议按以下步骤来:
- 列出所有策略组合:你的策略数 × 对手策略数
- 计算每种组合的期望收益:用历史数据回测,或者用蒙特卡洛模拟
- 填入矩阵:你的收益写在左下角,对手的收益写在右上角
举个例子,假设你的策略集是{做多,做空},对手的策略集是{拉升,砸盘}。支付矩阵可能长这样:
| 你 \ 对手 | 拉升 | 砸盘 |
|---|---|---|
| 做多 | (+5, -3) | (-8, +6) |
| 做空 | (-4, +2) | (+7, -5) |
这个矩阵告诉我们什么?
- 如果你做多,对手拉升,你赚5,对手亏3
- 如果你做多,对手砸盘,你亏8,对手赚6
- 如果你做空,对手拉升,你亏4,对手赚2
- 如果你做空,对手砸盘,你赚7,对手亏5
你看,没有绝对的好策略,只有针对对手策略的最优策略。
关键点:支付矩阵中的数字不是拍脑袋的。我一般会用过去3-6个月的数据做回测,取平均收益作为矩阵的输入。如果数据量不够,就用蒙特卡洛模拟生成10000次场景,取中位数。
3.4 策略空间的动态调整
市场是活的,策略空间也不能一成不变。我每个季度会做一次策略空间的复盘:
- 检查策略有效性:有些策略可能已经失效了,比如以前好用的"涨停板追入",现在监管严了就不灵了
- 检查对手策略变化:对手也在进化,比如以前用"大单托底"的,现在改用"小单密集成交"了
- 检查支付矩阵:市场环境变了,收益数字也要更新
一个小技巧:我习惯在支付矩阵旁边加一列"置信度",表示我对这个收益数字的把握程度。比如回测数据多的,置信度标80%;数据少的,标50%。这样在做决策时,心里更有底。
3.5 本章知识体系
下面这张图,是我自己画的一个策略空间构建的流程图。你可以把它当作一个检查清单:
这张图的核心逻辑是:从定义自己的策略开始,到识别对手策略,再到构建支付矩阵,最后通过博弈分析找到最优策略。然后别忘了——动态调整,形成闭环。
好了,这一章的内容就到这里。策略空间构建是静态博弈的基石,花时间把这步做扎实了,后面的分析才能站得住脚。
公众号:蓝海资料掘金营,微信deep3321