clean(rotation): add simple rotation strategy and remove unused files

New:
- rotation/simple_rotation.py: daily-iteration rotation strategy (584 lines)
- rotation/config_loader.py: standalone config loader
- rotation/config_simple.yaml: 11 assets, 7 groups
- rotation/README_SIMPLE.md: usage guide
- scripts/get_trading_calendar.py: trading calendar fetcher

Removed:
- rotation/example_usage.py, run_strategy.py (replaced by simple_rotation.py)
- rotation/results/ output files (gitignored)
- scripts/verify_*.py, calculate_returns_from_detail.py (one-off scripts)
- scripts/README_TRADING_CALENDAR.md

Backtest result (2020-01-10 ~ 2026-06-01):
- Total return: 1237.6%, Annual: 52.66%
- Max drawdown: -11.71%, Sharpe: 2.50
This commit is contained in:
2026-06-01 22:28:26 +08:00
parent 3b0208d7d3
commit 451ffa33d2
8 changed files with 1720 additions and 19 deletions

View File

@@ -121,13 +121,13 @@ def run_strategy(config_path: str = "strategies/rotation/config.yaml") -> dict:
logger.info(f"执行命令: {' '.join(cmd)}")
# 执行策略
# 执行策略增加超时到15分钟因为需要获取多市场数据
result = subprocess.run(
cmd,
capture_output=True,
text=True,
cwd=project_root,
timeout=300 # 5分钟超时
timeout=900 # 15分钟超时原5分钟不够数据获取串行需要更长时间
)
if result.returncode != 0: