Python量化策略:MAMA/FAMA 跨资产择时实战
免责声明:本文所有内容仅用于交流学习,不构成任何投资建议!投资有风险,入市需谨慎!
策略介绍
MAMA(MESA Adaptive Moving Average)由 John Ehlers 在 2001 年发布,依托最大熵谱分析 + 希尔伯特变换识别市场主导周期,区别于 SMA、EMA 固定平滑系数,可随价格相位变化动态调整平滑系数 α,实现急涨急跌快速贴合价格、震荡行情慢速平滑降噪,均线呈现阶梯形态,大幅削弱传统均线滞后与震荡假信号缺陷。指标同步输出 MAMA 主线与 FAMA 跟随线,FAMA 取用 MAMA 一半的自适应 α,走势滞后、平滑度更高,二者构成天然双线交易体系,核心可调参数为快速上限 FastLimit、慢速下限 SlowLimit,原版默认 0.5、0.05。
MAMA/FAMA 交叉策略遵循趋势跟踪逻辑:MAMA 自下向上突破 FAMA 为金叉,开仓做多;MAMA 自上而下跌破 FAMA 为死叉,平多做空,全程无额外过滤条件,依托双线自适应特性自动适配不同周期行情。跨五类资产回测需统一数据口径:股票选取宽基指数、债券用国债指数、商品选取原油 / 黄金主力合约、加密选用 BTC/ETH 日线,统一日线收盘价数据源,划分样本内(训练集)、样本外(测试集)规避未来函数,回测统计年化收益、夏普比率、最大回撤、胜率四大绩效指标,作为优化基准。
贝叶斯优化用于自动寻优 FastLimit 与 SlowLimit,区别网格穷举遍历,通过 TPE 树结构代理模型拟合参数与策略绩效的映射关系,以最大化样本内夏普比率为目标函数,平衡参数空间探索与优质区间深挖,用少量回测迭代锁定最优参数组合。优化采用滚动窗口:每半年更新一次最优参数,用最优参数在后续样本外验证,分别输出五类资产专属最优参数,对比统一原版参数的回测结果,校验策略在股、债、商品、加密全品类的泛化能力,避免参数过拟合单一市场环境。
策略实现
【 扫描文末二维码加入星球获取完整源码 】
源码
构建 MAMA/FAMA 信号

风险调整后的回测引擎

用 Optuna 做贝叶斯优化

回测效果


我们致力于人工智能、量化交易领域前沿研究,分享前沿论文、模型代码、策略实现。如有相关需求,请私信与我们联系。
请加微信“LingDuTech163”,或公众号后台私信“联系方式”。
关注【灵度智能】公众号,获取更多AI资讯。