一、本周研究目标:动量策略对比并仿真
本周我主要围绕 期货动量因子 做了一轮更系统的对比研究,并尝试把研究结果进一步衔接到 仿真交易 流程中。
和前两周更多偏向平台熟悉、工作流搭建不同,这一周我开始把重点放在:
- 经典动量因子的搭建与对比
- 不同动量思路在期货场景中的适用性分析
- 基于 PandaAI 平台进行因子分析与筛选
- 从因子研究继续推进到仿真交易验证
本周实际尝试的因子主要有四类,如工作流所示:
- 基本截面动量
- 波动率调整动量
- 多周期时间序列动量
- 双重动量
整体目标比较明确:
先通过因子分析比较不同动量因子的表现,再从中选出一个更适合当前阶段做策略落地和仿真观察的核心因子。
从结果来看,我最终选择了 多周期时间序列动量因子 单因子进入后续策略尝试和仿真阶段。
二、经典动量因子大概有哪几种?以及我本周实际尝试的四类因子
从研究逻辑上看,经典动量因子通常可以分为几类,而我这周测试的四个因子,基本也都可以对应到这些典型框架中。
1. 横截面动量:对应本周的“基本截面动量”
横截面动量关注的是 同一时点、不同标的之间的相对强弱。
最常见的做法是:
- 计算各个期货品种过去一段时间的收益
- 按照收益强弱排序
- 做多更强的品种,做空更弱的品种
它的优点是逻辑直观、适合做排序选仓;
但缺点也很明显:如果市场整体都处于震荡环境,仅凭相对强弱排序,容易选到“相对不差但并不真正强”的标的。
本周我搭建 基本截面动量,就是希望先验证这种最经典、最基础的动量思路,在当前样本区间内是否具备比较稳定的区分能力。
2. 风险调整动量:对应本周的“波动率调整动量”
风险调整动量是在原始动量基础上,再引入波动率约束。
它不是只看“谁涨得多”,而是进一步看:
这个上涨是不是在一个相对可控、相对稳定的波动环境中形成的。
常见形式包括:
- 动量 / 波动率
- 平均收益 / 收益波动率
- 简化版 Sharpe-like 动量结构
它相对于纯价格动量的优势在于:
- 可以过滤部分高波动噪声
- 避免把“暴涨暴跌”的标的误判成高质量趋势
- 更强调趋势质量,而不是只看幅度
本周我测试的 波动率调整动量,本质上就是希望在基本动量的基础上,再加入一层风险过滤,看是否能得到更稳健的因子输出。
3. 时间序列动量:对应本周的“多周期时间序列动量”
时间序列动量和横截面动量最大的区别在于:
- 横截面动量看的是“不同标的之间谁更强”
- 时间序列动量看的是“这个标的自己过去强不强”
例如:
- 过去 (N) 个周期收益为正,则偏多
- 过去 (N) 个周期收益为负,则偏空
它本质上更接近 趋势跟踪 的思路,因此在期货策略中非常常见。
而本周我实际使用的并不是单一周期时间序列动量,而是 多周期时间序列动量。
也就是说,我不是只看一个窗口,而是综合了多个时间尺度的趋势信息,希望减少单周期过于敏感或者过于迟钝的问题。
这种做法的意义在于:
- 短周期可以更早捕捉变化
- 中周期可以平衡噪声
- 长周期可以提供更稳定的方向背景
也正因为它在逻辑上更贴近期货趋势策略的实际需要,所以最终我选择它进入策略尝试阶段。
4. 双重动量:对应本周的“双重动量”
双重动量通常结合了两层判断:
- 绝对动量:某个标的自身过去表现是否为正
- 相对动量:在多个标的中,它是否比其他标的更强
它相比单一动量的优势是:
- 可以先筛掉整体偏弱的标的
- 再从剩余标的中选出更强的一批
- 同时兼顾趋势方向和相对强弱
双重动量在资产配置和多标的筛选中比较常见,理论上是一个很有吸引力的框架。
但在实际测试中,它对参数、阈值和市场状态的依赖也更明显,因此在当前阶段,我更倾向于先选择逻辑更直接、可解释性更强、便于快速落地调试的因子来推进仿真。
5. 期限结构动量:本周有尝试,但暂时没有成功落地
除了以上四个已经实际完成测试的动量因子之外,我本周原本还想尝试做 期限结构因子。
之所以关注它,是因为期货市场本身就具有明显的期限结构特征,例如:
- 近月与远月价差
- 升贴水变化
- 展期收益结构
- 不同月份合约间的相对强弱变化
这类因子相比纯价格动量,更贴近期货市场自身的结构属性,因此我本来希望把它作为一个更“期货特色”的扩展方向。
不过这周尝试了几次,都没有成功把它顺利落到当前的因子分析工作流中。
这个部分我先记录下来,后续继续研究和尝试。
三、为什么最终选择“多周期时间序列动量因子”
本周对比了四类动量因子之后,我最终选择了 多周期时间序列动量因子 来继续做策略尝试和仿真交易。
这次选择它,主要不是因为它“看起来最复杂”,而是因为它在当前阶段具备几个比较现实的优势。
1. 更符合期货策略中常见的趋势跟踪逻辑
期货市场中,时间序列动量本身就是一个非常经典、非常自然的研究方向。
相比只做横截面强弱比较,时间序列动量更直接回答了一个问题:
当前这个品种自己的趋势方向是什么?
这对于后续做开平仓逻辑映射、做多做空判断、连接仿真交易,都会更直接一些。
2. 多周期结构比单周期更稳一些
单周期动量往往有一个问题:
周期太短,容易噪声大;周期太长,又容易反应慢。
多周期时间序列动量相当于把不同周期的信息结合起来,尽量在“敏感”和“稳定”之间做一个平衡。
我选择它,也是因为它比单一周期动量更有研究继续往下推进的价值。
3. 相比其他几个因子,它更适合作为当前阶段的策略原型
本周实际测试下来,我的感受是:
- 基本截面动量:逻辑最简单,但更偏排序型,不一定最适合作为我当前的仿真起点
- 波动率调整动量:增加了质量过滤,但对参数设定会更敏感
- 双重动量:结构上更完整,但也更复杂,对当前阶段调试和验证来说成本更高
- 多周期时间序列动量:趋势逻辑清晰,便于从因子过渡到策略信号,适合作为当前的落地尝试对象
因此,从“研究有效性 + 策略可实现性 + 仿真可验证性”三个角度来看,我最终选择了 多周期时间序列动量因子。
4. 因子分析中,我重点参考的指标包括
本次在 PandaAI 平台做因子分析时,pandaAI的因子分析结果真很直观好用:
推荐大家可以看看pandaAI的b站视频(用好“动量+波动率”双因子,构建自动化股票轮动策略|量化实战第七课):https://www.bilibili.com/video/BV1yHmsBwEXF/?buvid=ZD40FBDAEA1D198C4DF2BFE8BA087F47F04E&from_spmid=search.search-result.0.0&is_story_h5=false&mid=XjKM7ytckearm%2BDAo1LHzQ%3D%3D&plat_id=116&share_from=ugc&share_medium=iphone&share_plat=ios&share_session_id=CC122C5C-144F-440B-B314-4A537B2409A1&share_source=weixin&share_tag=s_i&spmid=united.player-video-detail.0.0×tamp=1765456957&unique_k=HqyWBsN&up_id=3546939909999104&vd_source=8a4f98f0fd4c86dce42e43440c4ae8ef
讲的很清晰
这些指标里,我比较关注几个点:
- IC_mean 为正:说明因子整体上具备一定预测能力
- Rank_IC 为正:说明因子排序能力是成立的
- IC_IR、IR 表现尚可:说明不仅有一定效果,也有一定稳定性
- t统计量较高、p-value 较低:说明当前样本下结果具备一定统计显著性
- 单调性较高:说明分层表现有结构,不只是偶然有效
对我来说,这种“不是特别激进,但整体更均衡”的因子,更适合作为本周仿真尝试的核心对象。
四、本周仿真过程:从“没有成交”到“放宽条件后大量成交”
本周在把 多周期时间序列动量因子 往仿真策略推进时,经历了一个比较典型、也很有代表性的过程。
1. 周四:策略跑了一天没有成交
因为最终因子的确定和策略搭建完成得比较晚,周四我把策略接到仿真环境后,先按照相对偏严格的成交条件运行了一天。
结果是:全天基本没有成交。
这个现象一开始会让人怀疑,是不是策略有问题,或者是不是工作流没有跑通。
但结合日志和信号逻辑去看之后,我更倾向于认为,这并不是“策略失效”,而是:
- 信号阈值设得偏严
- 过滤条件较多
- 当前行情环境没有频繁触发条件
- 因子虽然在研究层面有效,但策略层面的执行门槛仍然偏高
2. 周五:大幅降低成交条件后,开始出现大量成交
为了确认策略链路是否真的打通、信号是否能顺利触发、仿真账户是否能稳定执行,我在周五对策略条件做了比较明显的放宽。
调整后,策略终于开始出现了大量成交。
这一步对我来说其实很重要,因为它验证了几件事:
- 工作流本身是可以正常运行的
- 因子信号是能够转化成交易动作的
- 仿真账户连接是正常的
- 日志、信号、成交之间的链路是打通的
也就是说,周五的“有大量成交”并不意味着策略参数已经最优,
但它至少说明:从因子研究到策略执行,这条链路已经初步走通了。
3. 这次仿真过程给我的一个直接感受
我觉得这次最直观的收获是:
因子研究阶段关注的是“这个信号有没有统计意义”;
而仿真阶段更关注的是“这个信号如何被转成实际可执行的交易动作”。
两者之间有明显区别。
一个因子可能分析结果不错,但如果:
- 交易阈值过严
- 调仓节奏不合适
- 开平仓规则不够匹配
- 风控限制太强
那么它在仿真里就可能长期不触发,导致“看起来像没有效果”。
所以后续我会继续在仿真中观察,并进一步区分:
- 哪些参数是为了研究有效性服务
- 哪些参数是为了执行可行性服务
五、从因子到仿真实盘,策略上还需要补哪些内容?
这一周让我体会非常深的一点是:
一个因子分析跑得通,不代表一个策略就已经成熟;一个策略能仿真成交,也不代表它已经具备稳定实盘能力。
从因子到仿真实盘,至少还需要继续补充以下内容。
1. 把因子映射成更清晰的交易规则
例如:
- 什么条件下开多
- 什么条件下开空
- 什么条件下平仓
- 是否允许反手
- 是否设置最小持有周期
- 是否使用绝对阈值或相对阈值
目前这部分虽然已经搭出基础框架,但后续还需要继续细化。
2. 优化成交阈值和信号触发条件
这周周四“没成交”、周五“放宽后大量成交”的过程,实际上就说明了这一点:
- 阈值太严,策略可能几乎不动
- 阈值太松,策略可能过度交易
所以后续需要继续研究一个更合适的平衡点,让策略既能保持交易频率,又不至于因为过度放宽而损失信号质量。
3. 增加仓位管理
当前阶段我更关注的是先把链路跑通,因此仓位上还是偏保守。
但如果后续要继续深入,仓位管理一定需要补充,包括:
- 单品种最大持仓
- 总仓位上限
- 多空敞口控制
- 是否按因子强弱分配仓位
- 是否按波动率调整头寸大小
4. 补充交易成本、滑点和流动性约束
期货策略在回测和仿真之间,经常会受到以下因素影响:
- 手续费
- 滑点
- 合约活跃度
- 主力合约切换
- 极端行情下的成交质量
这些因素如果不补充进去,策略在研究层面的表现和交易层面的表现可能会有不小差异。
5. 加入更完整的风险控制
后续至少还需要逐步补上:
- 单日亏损限制
- 单品种风险暴露限制
- 最大回撤控制
- 波动率过高时降低仓位
- 极端行情暂停交易
- 连续亏损后的风控降档
6. 重视日志、持仓和成交记录
本周仿真过程中我越来越明显地感觉到,
日志不是附属信息,而是策略调试的核心工具。
很多问题都要通过日志来判断,例如:
- 为什么没有触发交易
- 是条件没满足,还是数据没准备好
- 是代码没应用成功,还是策略逻辑本身太严格
- 交易是否真的按预期执行
这部分后续我会继续重点观察。
六、本周一个未完成但已记录的方向:期限结构因子
本周我原本希望在动量因子之外,再尝试把 期限结构因子 加入研究范围。
原因在于,期限结构本身就是期货市场非常有代表性的特征。
和单纯的价格涨跌相比,期限结构类信号更能体现期货品种自身的结构变化。
但这周尝试了几次后,暂时还没有成功跑通。
目前我先把这个方向记录下来,后续继续尝试,重点可能会从以下几个方面去排查:
- 合约月份数据如何组织更合理
- 近月、远月之间如何稳定匹配
- 价差和展期收益如何定义得更清晰
- 当前工作流是否适合直接承载期限结构型因子表达
这部分虽然本周没有完成,但我觉得它是一个值得继续投入的方向。
七、本周平台使用中的建议
希望“超级图表 + 因子分析”后续能支持在一个工作流中可以做多因子参数对比
本周我在测试四类动量因子时,最直接的感受就是:
多因子横向比较的效率还有提升空间。
当前的流程中,通常需要:
- 分别搭建和运行多个工作流
- 再分别查看各自结果
- 手动比较 IC、IR、单调性等指标
如果后续平台能够支持:
- 在 一个工作流 中同时运行多个因子
- 统一输出每个因子的核心分析结果
- 直接进行参数横向对比
- 以表格或图表形式展示差异
这部分是我的主观感受,不知道是不是平台已经有了更直观科学的方法,或者已经实现,但我还没找到
八、本周的整体收获
本周的重点不在于把策略做“完整”,而在于把几类典型动量因子放到同一研究框架下做对比,并完成从因子分析到仿真验证的第一次闭环。
这周比较明确的几点收获是:
- 对 基本截面动量、波动率调整动量、多周期时间序列动量、双重动量 四类因子的结构差异有了更直接的对比认识
- 在当前研究框架下,多周期时间序列动量因子 更适合作为后续继续推进的核心对象
- 因子分析结果和策略执行结果之间仍然存在明显差异,尤其体现在 信号阈值、成交条件和触发频率 上
- 仿真阶段的价值更多在于验证执行链路和参数适配,而不仅仅是看是否“有收益”
整体来看,这周更像是在完成一次策略研究框架的收敛:
先把候选因子做横向比较,再挑出更适合当前场景的方向,最后通过仿真去验证它在执行层面是否成立。
九、下周准备继续推进的方向
下周准备围绕已经选出的 多周期时间序列动量因子 继续往下推进,重点放在以下几个方面:
-
继续优化交易触发条件
结合本周“周四无成交、周五放宽后大量成交”的情况,进一步调整开平仓阈值,寻找更合理的触发区间。 -
观察仿真成交结构与信号质量
不只看成交数量,还会继续看成交分布、持仓变化和日志表现,判断当前参数是否导致过度交易或无效交易。 -
补充更实用的策略约束
逐步加入仓位管理、风险控制、交易成本和滑点等约束,让策略从“能跑”进一步过渡到“更接近真实交易”。 -
继续尝试期限结构因子
本周这一部分没有跑通,下周会继续排查数据组织、因子表达和工作流适配问题,看看能否形成可分析版本。 -
整理多因子对比流程
把这周四类动量因子的测试过程进一步整理,沉淀成后续可复用的比较框架,提升后面做因子筛选的效率。
结语
整体来看,本周比前两周更接近“真正做策略”的状态了。
如果说前面更多是在熟悉 PandaAI 平台和工作流使用方式,
那么这一周我更关注的是:
如何把一个因子,从研究结果一步步推进到仿真策略。
虽然当前选择的 多周期时间序列动量因子 还处在继续调试和观察阶段,
而且期限结构因子的尝试也还没有成功,
但至少这周我已经把“因子比较 → 因子筛选 → 策略搭建 → 仿真验证”这条路径走通了一部分。
后续我会继续围绕这个因子做观察和优化,也继续补上策略真正落地所需要的那些环节。
也欢迎大家交流:
在做期货动量因子、从因子走到仿真交易的过程中,你们通常最先补的是哪一部分?