1. 修复期货路由逻辑:NYMEX期货(.NYM)走YFinance而非Tushare 2. 添加SSH隧道路径修复(原引擎) 3. 因子计算只使用close列(处理部分指数只有收盘价的情况) 4. 添加数据不足和缺失率剔除日志 收益对比: - 原引擎(剔除国债): 累计1804%, 调仓459次 - 新框架: 累计772%, 调仓1276次 差异原因待查: - 国债剔除逻辑不同 - 调仓频率差异
归档代码说明
本目录存放已重构迁移的旧代码,保留用于参考和过渡期兼容。
目录结构
archive/
├── legacy_core/ # 旧核心模块
│ ├── core/ # 原core目录
│ │ ├── common/ # 通用工具(notify, oss_utils, utils等)
│ │ ├── datasource/ # 数据源(hybrid_source, yfinance_source等)
│ │ └── factors/ # 因子计算(momentum, technical)
│ ├── engine.py # 原轮动策略引擎
│ ├── portfolio.py # 原持仓跟踪
│ └── report.py # 原报告生成
│
├── legacy_scripts/ # 旧脚本入口
│ ├── scripts/
│ │ ├── daily_scheduler.py # 原定时调度
│ │ ├── run_rotation.py # 原回测入口
│ │ └── run_cci_screener.py # CCI选股入口
│
├── legacy_examples/ # 旧示例文件
│ ├── examples/
│ │ ├── flask_api_client.py
│ │ └ universal_fetcher_examples.py
│
├── legacy_tests/ # 旧测试文件
│ ├── tests/
│ │ ├── experiments/ # A/B测试等实验
│ │ ├── utils/ # 工具测试
│ │ ├── framework_comparison_test.py
│ │ ├── full_backtest_comparison.py
│ │ └ ...
│
├── legacy_screener/ # 旧筛选器模块
│ ├── base.py # Screener抽象基类(已被framework/signals覆盖)
│ └── cci.py # CCI超卖筛选器(依赖已归档的core模块)
│
└── single_files/ # 单独文件
├── fetch_159516_nav.py
├── fetch_159930.py
├── 动量.py
├── 全球市场.py
├── index_basic.csv
├── index_fund_info.csv
├── Dockerfile.flask
└── start_flask_server.sh
新框架位置
重构后的新代码位于:
framework/- 抽象接口层strategies/shared/- 定制组件层strategies/rotation/strategy.py- 新策略实现
过渡说明
- 数据源:原
core/datasource/hybrid_source.py功能待迁移到strategies/shared/data/sources.py - 回测引擎:原
strategies/rotation/engine.py功能已迁移到framework/execution/__init__.py - 因子计算:原
core/factors/momentum.py功能已迁移到strategies/shared/factors/momentum.py - 报告生成:原
strategies/rotation/report.py功能保留在visualization/report_generator/
归档时间
- 日期:2025-05-11
- 原因:框架抽象化重构,分离通用能力与定制代码
更新记录
- 2025-05-11:移除 strategies/screener/ → archive/legacy_screener/
本目录内容仅供参考,新功能请使用framework和strategies/shared目录