feat: 新增2h/6h时间框架支持,策略重构为增量指标计算
- 数据层: build_aggregates_sql 新增 2h/6h 聚合视图,默认起始时间调整为 2017-05 - 模型层: KlineInterval 类型扩展 2h/6h,DataService 新增对应表名和毫秒映射 - 指标层: 新增 incremental.py 增量指标模块 (EmaInc/AtrInc/RsiInc/BbInc),O(1) per bar - 策略重构: long_short.py 和 regime_all.py 从批量 ema/atr 迁移至增量指标,避免每 bar 重复全量计算 - regime 探测器: RegimeDetector3 改为增量 EMA200,detect() 接口简化 - 回测扩展: regime_timeframe_comparison 从 4h/1d 扩展至 2h/4h/6h/1d - 新增示例: multi_strategy_report, vol_break_compare/periods, intraday_explore, top3_trades 等分析脚本
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
"""
|
||||
牛熊自适应策略 — 多时间级别回测对比
|
||||
4h / 1d × 全量数据 / 近两年 (2024.06-2026.06)
|
||||
2h / 4h / 6h / 1d × 全量数据 / 近两年 (2024.06-2026.06)
|
||||
|
||||
用法:
|
||||
source .venv/bin/activate && python example/regime_timeframe_comparison.py
|
||||
@@ -37,7 +37,7 @@ PARAMS = {
|
||||
"SOLUSDT": (30, 50),
|
||||
}
|
||||
|
||||
INTERVALS = ["4h", "1d"]
|
||||
INTERVALS = ["2h", "4h", "6h", "1d"]
|
||||
|
||||
# 近两年:2024年6月 → 2026年6月
|
||||
YEAR_START = datetime(2024, 6, 1)
|
||||
@@ -267,7 +267,7 @@ async def main():
|
||||
|
||||
# 写出文件
|
||||
out_path = (
|
||||
Path(__file__).resolve().parent.parent / "backtest" / "TIMEFRAME_COMPARISON_2Y.md"
|
||||
Path(__file__).resolve().parent.parent / "backtest" / "TIMEFRAME_COMPARISON_2H_6H.md"
|
||||
)
|
||||
with open(out_path, "w", encoding="utf-8") as f:
|
||||
f.write("\n".join(out) + "\n")
|
||||
|
||||
Reference in New Issue
Block a user