poetry run python scripts/download.py
SimTradeData Unified Download
Data source responsibilities:
Mootdx: OHLCV (incremental), adjust factors, XDXR, batch financials, calendar, benchmark
BaoStock: Valuation (PE/PB/PS/PCF/turnover), ST/HALT status, index constituents
======================================================================
Phase 1: Mootdx Data Download
- OHLCV market data
- Adjust factors (backward)
- XDXR (ex-rights/ex-dividend)
- Batch financial data (from Affair ZIP)
- Trading calendar
- Benchmark index
======================================================================
======================================================================
SimTradeData Download (mootdx Source)
======================================================================
Mode: Auto-incremental (queries MAX(date) per symbol)
======================================================================
Date range: 2015-01-01 ~ 2026-05-25
OHLCV up to date (max_date: 2026-05-18)
But exrights incomplete (5491/7452), downloading extras...
Missing: 1961 (1835 ETFs, 126 stocks)
Downloading extras for 1961 stocks in 99 batches...
Downloading extras: 100%|████████████████████████████████████| 1961/1961 [01:44<00:00, 18.81stock/s]
Extras complete: 4 updated, 1957 skipped/failed
Fixing bonus_ps precision (baostock preclose)...
Correcting bonus_ps for 4 symbols (baostock preclose)...
服务器连接失败,请稍后再试。
timed out
接收数据异常,请稍后再试。
Fixing bonus_ps: 0%| | 0/4 [00:00<?, ?stock/s]timed out
接收数据异常,请稍后再试。
Fixing bonus_ps: 25%|██████████▊ | 1/4 [00:30<01:32, 30.71s/stock]timed out
接收数据异常,请稍后再试。
Fixing bonus_ps: 50%|█████████████████████▌ | 2/4 [01:01<01:01, 30.70s/stock][Errno 110] Connection timed out
接收数据异常,请稍后再试。
Fixing bonus_ps: 75%|████████████████████████████████▎ | 3/4 [01:15<00:23, 23.19s/stock][Errno 32] Broken pipe
接收数据异常,请稍后再试。
Fixing bonus_ps: 100%|███████████████████████████████████████████| 4/4 [01:15<00:00, 18.91s/stock]
[Errno 32] Broken pipe
接收数据异常,请稍后再试。
Fixed 0 events across 0 symbols
Downloading batch financial data (mootdx Affair)...
Total quarters: 45
Mode: incremental (refresh last 4 quarters)
Pending: 4 (recent: 4), skipped: 41
Quarter 1/4: 2025Q2
5.66MB [00:10, 560kB/s]
Completed: 5519 stocks
Quarter 2/4: 2025Q3
5.35MB [00:09, 564kB/s]
Completed: 5474 stocks
Quarter 3/4: 2025Q4
5.74MB [00:10, 539kB/s]
Completed: 5520 stocks
Quarter 4/4: 2026Q1
5.04MB [00:08, 579kB/s]
Completed: 5516 stocks
Downloading global data...
Trading calendar...
800 days
Benchmark index (000300.SS)...
800 days
======================================================================
Download Complete!
Database: /home/philo/QT/SimTrade/SimTradeData/data/cn.duckdb
Size: 620.0 MB
Failed stocks: 81
======================================================================
Phase 2: BaoStock Data Download
- Valuation indicators (PE/PB/PS/PCF/turnover)
- ST/HALT status
- Index constituents (000016, 000300, 000905)
======================================================================
======================================================================
SimTradeData Download (DuckDB Storage)
======================================================================
Mode: Auto-incremental (queries MAX(date) per symbol)
Valuation-only mode: downloading PE/PB/PS/PCF/turnover + status only
Fundamentals: Skipped
Metadata: Skipped
======================================================================
Date range: 2020-01-01 ~ 2026-05-25
(Each symbol starts from its MAX(date)+1 automatically)
服务器连接失败,请稍后再试。
timed out
接收数据异常,请稍后再试。
Error in BaoStock download: BaoStock login failed: 网络接收错误。
======================================================================
SimTradeData Status Report
[Per-Symbol Tables]
stocks : 12,520,518 rows, 7452 stocks, 2016-01-04 ~ 2026-05-18
valuation : 0 rows, 0 stocks, None ~ None
fundamentals : 197,251 rows, 5522 stocks, 2015-03-31 ~ 2026-03-31
exrights : 55,791 rows, 5495 stocks, 1990-03-01 ~ 2026-05-28
Completed fundamentals quarters: 45
[Metadata Tables]
benchmark : 804 rows
trade_days : 804 rows
index_constituents: 0 rows
stock_status : 2,473 rows
[Database]
Path: /home/philo/QT/SimTrade/SimTradeData/data/cn.duckdb
Size: 620.0 MB
poetry run python scripts/download.py
SimTradeData Unified Download
Data source responsibilities:
Mootdx: OHLCV (incremental), adjust factors, XDXR, batch financials, calendar, benchmark
BaoStock: Valuation (PE/PB/PS/PCF/turnover), ST/HALT status, index constituents
======================================================================
Phase 1: Mootdx Data Download
======================================================================
======================================================================
SimTradeData Download (mootdx Source)
======================================================================
Mode: Auto-incremental (queries MAX(date) per symbol)
======================================================================
Date range: 2015-01-01 ~ 2026-05-25
OHLCV up to date (max_date: 2026-05-18)
But exrights incomplete (5491/7452), downloading extras...
Missing: 1961 (1835 ETFs, 126 stocks)
Downloading extras for 1961 stocks in 99 batches...
Downloading extras: 100%|████████████████████████████████████| 1961/1961 [01:44<00:00, 18.81stock/s]
Extras complete: 4 updated, 1957 skipped/failed
Fixing bonus_ps precision (baostock preclose)...
Correcting bonus_ps for 4 symbols (baostock preclose)...
服务器连接失败,请稍后再试。
timed out
接收数据异常,请稍后再试。
Fixing bonus_ps: 0%| | 0/4 [00:00<?, ?stock/s]timed out
接收数据异常,请稍后再试。
Fixing bonus_ps: 25%|██████████▊ | 1/4 [00:30<01:32, 30.71s/stock]timed out
接收数据异常,请稍后再试。
Fixing bonus_ps: 50%|█████████████████████▌ | 2/4 [01:01<01:01, 30.70s/stock][Errno 110] Connection timed out
接收数据异常,请稍后再试。
Fixing bonus_ps: 75%|████████████████████████████████▎ | 3/4 [01:15<00:23, 23.19s/stock][Errno 32] Broken pipe
接收数据异常,请稍后再试。
Fixing bonus_ps: 100%|███████████████████████████████████████████| 4/4 [01:15<00:00, 18.91s/stock]
[Errno 32] Broken pipe
接收数据异常,请稍后再试。
Fixed 0 events across 0 symbols
Downloading batch financial data (mootdx Affair)...
Total quarters: 45
Mode: incremental (refresh last 4 quarters)
Pending: 4 (recent: 4), skipped: 41
Quarter 1/4: 2025Q2
5.66MB [00:10, 560kB/s]
Completed: 5519 stocks
Quarter 2/4: 2025Q3
5.35MB [00:09, 564kB/s]
Completed: 5474 stocks
Quarter 3/4: 2025Q4
5.74MB [00:10, 539kB/s]
Completed: 5520 stocks
Quarter 4/4: 2026Q1
5.04MB [00:08, 579kB/s]
Completed: 5516 stocks
Downloading global data...
Trading calendar...
800 days
Benchmark index (000300.SS)...
800 days
======================================================================
Download Complete!
Database: /home/philo/QT/SimTrade/SimTradeData/data/cn.duckdb
Size: 620.0 MB
Failed stocks: 81
======================================================================
Phase 2: BaoStock Data Download
======================================================================
======================================================================
SimTradeData Download (DuckDB Storage)
======================================================================
Mode: Auto-incremental (queries MAX(date) per symbol)
Valuation-only mode: downloading PE/PB/PS/PCF/turnover + status only
Fundamentals: Skipped
Metadata: Skipped
======================================================================
Date range: 2020-01-01 ~ 2026-05-25
(Each symbol starts from its MAX(date)+1 automatically)
服务器连接失败,请稍后再试。
timed out
接收数据异常,请稍后再试。
Error in BaoStock download: BaoStock login failed: 网络接收错误。
======================================================================
SimTradeData Status Report
[Per-Symbol Tables]
stocks : 12,520,518 rows, 7452 stocks, 2016-01-04 ~ 2026-05-18
valuation : 0 rows, 0 stocks, None ~ None
fundamentals : 197,251 rows, 5522 stocks, 2015-03-31 ~ 2026-03-31
exrights : 55,791 rows, 5495 stocks, 1990-03-01 ~ 2026-05-28
Completed fundamentals quarters: 45
[Metadata Tables]
benchmark : 804 rows
trade_days : 804 rows
index_constituents: 0 rows
stock_status : 2,473 rows
[Database]
Path: /home/philo/QT/SimTrade/SimTradeData/data/cn.duckdb
Size: 620.0 MB