mns-backtest
Installation
SKILL.md
MNS 逆向投资策略回测 Skill
操作步骤
1. 构建
cargo build --release
2. 运行回测
# 默认行为:先输出多资产回测(美股+红利低波+黄金)对比,再输出单资产(纳指)参数对比
mns backtest
# 使用自定义配置文件(仅单资产回测)
mns backtest run --config path/to/config.toml
# 多配置文件对比(仅单资产回测)
mns backtest run --compare config1.toml,config2.toml
# 查看可调参数说明(含当前默认值)
mns backtest params
3. 参数调优
查看当前配置:
mns config
修改单个参数:
mns config buy_ratio.extreme_fear 70
mns config thresholds.fear 40
使用预设配置文件(位于 .agents/skills/mns-backtest/data/):
| 配置文件 | 特点 |
|---|---|
config_defensive.toml |
防御配置(低回撤,中性不买,当前默认) |
config_balanced.toml |
均衡配置 |
config_circuit_breaker.toml |
熔断机制 |
config_swing.toml |
波段操作 |
config_extreme_contrarian.toml |
极致逆向 |
config_value.toml |
价值导向 |
config_historical_aggressive.toml |
历史激进配置(⚠️ 过拟合风险,仅供研究参考) |
mns backtest run --config .agents/skills/mns-backtest/data/config_defensive.toml
数据说明
回测使用嵌入式数据(include_str! 编译进二进制):
fgi_2016_2020.csv— 逐日 CNN 恐贪指数(高置信度)fgi_2020_2025.csv— 月度近似恐贪指数(低置信度)monthly_real_final.csv— 多资产月度价格(纳指/红利低波/人民币金价)
注意:数据更新需要修改 CSV 文件并重新 cargo build --release。
核心逻辑文件
src/backtest.rs— 回测引擎,run_backtest()、run_multi_asset_backtest()、run_param_comparison()src/strategy.rs— 策略核心,回测复用相同的买卖/风险判断函数(calculate_buy_suggestions等),执行流程为回测专用模拟src/config.rs— 参数结构定义,AppConfig::default_config()为防御配置默认值
解读结果
运行后输出对比表(年化收益、总收益率、最大回撤、买卖次数),关注:
- vs 买入持有:策略年化是否接近基准
- 最大回撤:回撤越低说明策略防御性越强
- 买入次数:中性区间 buy_ratio 设为 0 会明显降低频率
策略价值在于纪律性而非超额收益——帮助克服情绪化决策,在极端市场(恐慌/贪婪)时强制执行买卖信号。
Related skills