|
|
2 месяцев назад | |
|---|---|---|
| .. | ||
| __pycache__ | 2 месяцев назад | |
| README.md | 2 месяцев назад | |
| backtest_report.py | 2 месяцев назад | |
| backtest_results.csv | 2 месяцев назад | |
| best_config_backtest.csv | 2 месяцев назад | |
| daily_tqe_sender.py | 2 месяцев назад | |
| optimization_results.csv | 2 месяцев назад | |
| optimize_parameters.py | 2 месяцев назад | |
| optimize_params_simple.py | 2 месяцев назад | |
| param_optimization_results.csv | 2 месяцев назад | |
| trend_quality_evaluator.py | 2 месяцев назад | |
多因子评分模型,0-100分制,≥60分触发交易。
| 因子 | 权重 | 计算方式 | 阈值 | 说明 |
|---|---|---|---|---|
| ADX趋势强度 | 30% | ADX(14) > 25 | 必须满足 | 趋势强度指标 |
| 均线斜率 | 25% | (MA20/MA20[5]) > 1.002 | 向上加速 | 趋势动量 |
| 波动率收缩 | 20% | ATR(14)/ATR(50) < 0.8 | 波动率压缩后爆发 | volatility squeeze |
| 多时间框架共振 | 15% | 日线突破+周线方向一致 | 趋势确认 | 多周期共振 |
| 成交量确认 | 10% | 成交量>20日均量1.5倍 | 资金流入 | 量价配合 |
from trend_quality_evaluator import TrendQualityEvaluator, fetch_stock_data
# 获取数据
df_daily = fetch_stock_data("399673", "2024-01-01", "2026-12-31", "d")
df_weekly = fetch_stock_data("399673", "2023-01-01", "2026-12-31", "w")
# 评估
evaluator = TrendQualityEvaluator()
score = evaluator.evaluate(df_daily, df_weekly)
# 查看结果
print(f"总分: {score.total_score}")
print(f"可交易: {score.is_tradeable}")
| 分数 | 评级 | 建议 |
|---|---|---|
| 80-100 | 优秀 | 重仓 |
| 70-79 | 良好 | 中等仓位 |
| 60-69 | 及格 | 轻仓试探 |
| 40-59 | 较差 | 观望 |
| 0-39 | 混乱 | 避免交易 |
评分结果数据类:
total_score: 总分 0-100adx_score: ADX得分 0-30ma_slope_score: 均线斜率得分 0-25volatility_score: 波动率得分 0-20timeframe_score: 时间框架得分 0-15volume_score: 成交量得分 0-10is_tradeable: 是否可交易 (≥60分)评估器主类:
evaluate(df, df_weekly): 评估趋势质量