feat(data): 恢复双源(task#79)—撮合raw+策略qfq, 分红除权准确

用户要模拟=回测准确: raw除权缺口致MA假信号, 必须双源。
- data_source: qfq→qfq_dir(干净qfq), raw→raw_dir; _check_adjust_cfg(cfg提供才校验)
- engine 双bar流: step(raw_bars,qfq_bars)撮合/盯市raw+策略on_bar qfq; run zip(raw,qfq)
- live_orchestrator: warmup用qfq(信号am); 去adjust参数(双源固定)
- raw_redownload --adjust(''raw/'qfq'); config qfq_dir
- 113/113通过
This commit is contained in:
2026-07-08 07:21:33 +08:00
parent ab703e93ba
commit c6b19f4244
7 changed files with 55 additions and 45 deletions
+2 -2
View File
@@ -34,7 +34,7 @@ def test_iter_bars_cross_section_multi_symbol(monkeypatch):
assert len(sections) == 1
_date, d = sections[0]
assert d["600000"].close_price == 10.5
assert all(k == "daily_dir" for k in seen) # 默认 qfq → daily_dir
assert all(k == "qfq_dir" for k in seen) # 默认 qfq → qfq_dir(双源)
def test_iter_bars_raw_uses_raw_dir(monkeypatch, caplog):
@@ -90,4 +90,4 @@ def test_fetch_day_returns_last_bar(monkeypatch):
monkeypatch.setattr("sanguo_trader.data_source._read_fn", lambda iv: mock_read)
bar = fetch_day("600000", "2024-01-02", "d")
assert bar.close_price == 10.5 # 取最后一个
assert seen == ["daily_dir"]
assert seen == ["qfq_dir"] # 默认 qfq → qfq_dir(双源)