Files
sanguo_vnpy_v2/scripts/data_platform/baostock_day1_wrapper.ps1
T
claude_dev 774170ec05 feat(data): 数据源融合 P0 补全 + 每日增量脚本
采集层(多源各下):
- baostock: 日线全字段全量(baostock_daily_fullmarket) + 15min全市场 + 静态(基础/复权/分红/季频/三表) + 成份股
- akshare: 静态(估值/龙虎榜/大宗/融资融券/北向/指数成分/行业/股本/解禁/业绩预告)
- xtdata(miniQMT): build_daily_from_xtdata + daily_update_xtdata

数据补全 P0:
- ETF全市场: universe 扩展 沪深A股∪ETF∪基金(7414), dividend_type='front' 前复权
- 历史成份股(治幸存者偏差): index_const_hist_download 深证/国证 adjust_cni 4指数 + 中证1000/2000快照 + 新浪交叉校验
- 退市K线: baostock_delisted_download + import_delisted_to_db(实证 Day1 fetch_all_stocks 已含退市)

灌库:
- import_baostock_to_db: daily_baostock_full(5537股/1826万行,18字段)+ bs_index_constituent + bs_adjust_factor
- INSERT OR REPLACE 幂等, WAL+busy_timeout, dbbardata 不碰

每日增量 #7(用户决策A: VPS直跑):
- daily_update_static: login探针防黑名单graceful skip + LOOKBACK7 + query_stock_basic含退市 + INSERT OR REPLACE + QUERY_COUNT守48000/天

设计文档: spec(13节三层融合) + P0 plan + 数据gap设计
2026-07-22 10:34:22 +08:00

36 lines
1.7 KiB
PowerShell
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# baostock Day1 全量下载 wrapper(成份股 → 日K线 串行,单进程单登录)
# 环境变量覆盖脚本默认 Mac 路径 → Windows 输出路径
$ErrorActionPreference = 'Continue'
$ProgressPreference = 'SilentlyContinue'
$py = 'C:\Python310\python.exe'
$dir = 'C:\sanguo_vnpy_v2\scripts\data_platform'
$env:BS_DAILY_OUT_DIR = 'C:\sanguo_vnpy_v2\data\daily_baostock'
$env:BS_CONSTITUENT_OUT_DIR = 'C:\sanguo_vnpy_v2\data\constituent_baostock'
$env:PYTHONIOENCODING = 'utf-8'
$wrapper_log = 'C:\sanguo_vnpy_v2\data\baostock_day1_wrapper.log'
$const_log = 'C:\sanguo_vnpy_v2\data\constituent_baostock_download.log'
$daily_log = 'C:\sanguo_vnpy_v2\data\daily_baostock_download.log'
function Log-W($m) {
"$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss') $m" | Out-File -FilePath $wrapper_log -Append -Encoding UTF8
}
Log-W "=== WRAPPER START ==="
Log-W "BS_DAILY_OUT_DIR=$($env:BS_DAILY_OUT_DIR)"
Log-W "DiskFree_GB_start=$((Get-PSDrive C).Free / 1GB)"
# PHASE1 成份股历史(快,~20min~1200 query)— 同时验证 VPS 环境(login/网络/parquet写)
Log-W "PHASE1 constituent START"
& $py -X utf8 "$dir\baostock_constituent_download.py" *>&1 | Tee-Object -FilePath $const_log
$const_exit = $LASTEXITCODE
Log-W "PHASE1 constituent DONE exit=$const_exit"
# PHASE2 日K线全市场全字段(慢,~15h,~5537 query)— 主线,过夜跑
Log-W "PHASE2 daily_kline START"
& $py -X utf8 "$dir\baostock_daily_fullmarket_download.py" *>&1 | Tee-Object -FilePath $daily_log
$daily_exit = $LASTEXITCODE
Log-W "PHASE2 daily_kline DONE exit=$daily_exit"
Log-W "DiskFree_GB_end=$((Get-PSDrive C).Free / 1GB)"
Log-W "=== WRAPPER EXIT const_exit=$const_exit daily_exit=$daily_exit ==="