feat(data): raw真实价数据源(task#79)—raw_dir+dir_key路由+新浪源重下
根因: daily_dir mixed-adjust(hfq bulk+akshare raw tail)致3-30 -94%假跌。 方案(Linus三问简化单raw, 除权留分期项#3): - datareader read_parquet_daily/15min 加 dir_key 参数 - data_source iter_bars/fetch_day: adjust=raw→raw_dir(缺配置报错防混源), qfq→daily_dir - engine PaperEngine 默认 adjust=raw - config 加 raw_dir; scripts/raw_redownload.py 新浪源adjust='' 直连+单线程限速 - 验证: 浦发606行close 6.5/14.6 mean10.08 0跳变, 撮合成交价9.71-10.25真实 - 测试9/9+trader全量108/108通过
This commit is contained in:
@@ -26,6 +26,25 @@ def test_read_parquet_daily_returns_bardata(tmp_path):
|
||||
assert bars[0].open_price == 10.0
|
||||
|
||||
|
||||
def test_read_parquet_daily_dir_key_raw(tmp_path):
|
||||
"""dir_key='raw_dir':切换到 raw 目录读真实价(task #79 双源)。"""
|
||||
raw_year = tmp_path / "2026"
|
||||
raw_year.mkdir()
|
||||
df = pd.DataFrame({
|
||||
"date": ["2026-03-30"],
|
||||
"open": [9.97], "high": [10.05], "low": [9.95],
|
||||
"close": [10.01], "volume": [800000],
|
||||
})
|
||||
df.to_parquet(raw_year / "sh600000_daily.parquet") # 真实文件名:sh 前缀 + _daily
|
||||
cfg = DataConfig(
|
||||
data_paths={"raw_dir": str(tmp_path)},
|
||||
data_sources={}, validation={}, performance={},
|
||||
)
|
||||
bars = read_parquet_daily("600000", "2026-01-01", "2026-12-31", cfg, dir_key="raw_dir")
|
||||
assert len(bars) == 1
|
||||
assert bars[0].close_price == 10.01
|
||||
|
||||
|
||||
def test_guess_exchange_sh():
|
||||
assert guess_exchange("600000").value == "SSE"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user