4.1 KiB
4.1 KiB
Enhanced Emotional Damage Strategy - 配置化运行指南
🚀 快速开始
只需要两个步骤就能运行策略并生成完整报告:
- 修改配置文件
config.json - 运行策略
python3 run_strategy_with_config.py
📝 配置文件说明
config.json 主要参数:
策略参数 (strategy_params)
{
"initial_capital": 100000, // 初始资金
"fear_threshold": 25, // 恐慌阈值
"greed_threshold": 75, // 贪婪阈值
"stop_loss_threshold": 0.15, // 止损阈值 (15%)
"transition_steps": 4, // 转换步数
"top_stocks_count": 4, // 选股数量
"volatility_threshold": 0.1, // 波动率阈值 (10%)
"volatility_calculation_days": 30 // 波动率计算天数
}
技术指标参数 (technical_indicators)
{
"rsi_threshold": 30, // RSI阈值
"required_indicators": 2, // 需要满足的指标数量 (2/3)
"sma5_above_sma20": true, // 是否要求SMA5>SMA20
"macd_convergence": true, // MACD收敛而非金叉
"ema_periods": {
"fast": 12, "slow": 26, "signal": 9
},
"sma_periods": {
"fast": 5, "slow": 20
},
"rsi_period": 14
}
输出设置 (output_settings)
{
"generate_pdf": true, // 生成PDF报告
"generate_csv": true, // 生成CSV文件
"generate_detailed_trades": true, // 生成详细交易记录
"show_console_output": true, // 显示控制台输出
"save_strategy_object": true // 保存策略对象
}
🎯 常用修改场景
场景1:调整风险参数
{
"stop_loss_threshold": 0.10, // 改为10%止损
"fear_threshold": 20, // 更激进的恐慌阈值
"greed_threshold": 80 // 更保守的贪婪阈值
}
场景2:修改选股逻辑
{
"top_stocks_count": 6, // 选择6只股票
"required_indicators": 3, // 要求所有3个指标都满足
"volatility_threshold": 0.15 // 提高波动率要求
}
场景3:技术指标调优
{
"rsi_threshold": 40, // 提高RSI要求
"sma5_above_sma20": false, // 取消SMA要求
"macd_convergence": false // 改为传统MACD金叉
}
场景4:只生成特定报告
{
"generate_pdf": false, // 不生成PDF
"generate_csv": true, // 只要CSV
"generate_detailed_trades": true,
"show_console_output": false // 静默运行
}
📊 运行和输出
运行命令
cd /home/will/docker/backtest/strategy/emotional-damage/
python3 run_strategy_with_config.py
输出文件
运行后会在以下目录生成文件:
/home/will/docker/backtest/reports/
enhanced_strategy_report_YYYYMMDD_HHMMSS.pdf- PDF综合报告enhanced_trades_YYYYMMDD_HHMMSS.csv- 交易记录CSVdetailed_trades_YYYYMMDD_HHMMSS.txt- 详细交易报告
/home/will/docker/backtest/results/
enhanced_strategy_YYYYMMDD_HHMMSS.pkl- 策略对象(用于进一步分析)
🔧 常见问题
Q: 如何测试不同的参数组合?
A: 复制config.json为不同文件名(如config_test1.json),修改run_strategy_with_config.py中的文件名
Q: 如何只测试特定时间段?
A: 修改config.json中的data_settings:
{
"start_date": "2020-01-01",
"end_date": "2023-12-31"
}
Q: 如何加快运行速度?
A: 设置output_settings:
{
"generate_pdf": false,
"show_console_output": false
}
Q: 如何分析特定股票的表现?
A: 查看生成的CSV文件,按ticker列筛选
📈 性能调优建议
- 保守策略:提高fear_threshold到30,降低greed_threshold到70
- 激进策略:降低fear_threshold到20,提高greed_threshold到80
- 严格选股:设置required_indicators为3,提高volatility_threshold
- 宽松选股:设置required_indicators为1,降低rsi_threshold
🚨 注意事项
- 修改配置后记得保存文件
- 确保数据库路径正确
- 首次运行可能需要几分钟时间
- 大幅修改参数可能导致无交易或过度交易
Happy Trading! 🎯