mirror of
https://ghfast.top/https://github.com/aeroxw/easy_tdx_max.git
synced 2026-09-12 14:34:18 +08:00
- cli.md 命令总览(补 chanlun/zhuoyao/bias-signal 漏项)+ 按域导航 - cli-market / cli-finance / cli-indicators / cli-screen / cli-backtest 按域拆分 - cli-backtest 吸收 backtest_usage CLI 章的 backtest/optimize 参数表与 --indicators 说明 - chanlun.md(CLI+Python)、data-local.md(warehouse+offline)按主题合一 - 策略 demo 图复制至 docs/images/demo/,图片与内联链接路径改写为 docs 内相对路径 Co-Authored-By: Claude <noreply@anthropic.com>
89 lines
3.1 KiB
Markdown
89 lines
3.1 KiB
Markdown
# 本地数据:K 线仓库与离线文件
|
||
|
||
## 本地 K 线仓库(v1.26)
|
||
|
||
行情沉淀为 DuckDB 单文件列存(可选依赖:`pip install easy-tdx[warehouse]`),增量同步 + 临时收盘价状态机 + 健康自检:
|
||
|
||
```bash
|
||
easy-tdx warehouse sync --symbols SH:600519,SZ:000001 # 首次全量,此后只补尾部
|
||
easy-tdx warehouse query SH 600519 --count 30 # 默认忽略未收盘的临时 bar
|
||
easy-tdx warehouse stats # 各标的行数 / 数据范围
|
||
easy-tdx warehouse check # 缺口 / 除权跳变 / 新鲜度体检
|
||
```
|
||
|
||
## 离线数据 CLI
|
||
|
||
从本地通达信安装目录直接读取数据文件,无需网络连接:
|
||
|
||
```bash
|
||
easy-tdx offline home # 检测通达信安装目录
|
||
easy-tdx offline daily SH 600000 --count 10 --table # A 股日线
|
||
easy-tdx offline min SZ 000001 --type lc5 --table # 分钟线(5min/lc1/lc5)
|
||
easy-tdx offline ex-files --table # 列出扩展市场可用文件
|
||
easy-tdx offline ex-daily 38#2_CPI --count 5 --table # 扩展市场日线(期货/港股/外盘)
|
||
easy-tdx offline gbbq C:\new_jyplug\T0002\hq_cache\gbbq --table # 股本变迁
|
||
easy-tdx offline financial C:\new_jyplug\vipdoc\fin\gpcw20260331.dat # 历史财务
|
||
easy-tdx offline blocks C:\new_jyplug\T0002\blocknew --table # 自定义板块
|
||
```
|
||
|
||
从服务端获取最新日线并写入本地 .day 文件,替代通达信内置下载功能:
|
||
|
||
```bash
|
||
# 同步单只股票日线(自动增量/全量)
|
||
easy-tdx offline sync-daily SZ 000001
|
||
easy-tdx offline sync-daily SH 600519 --vipdoc C:\new_jyplug\vipdoc
|
||
|
||
# 一键同步沪深全市场(每天一条命令)
|
||
easy-tdx offline sync-all
|
||
```
|
||
|
||
> 建议在通达信关闭时执行 sync 命令,避免文件被锁定。空文件自动全量下载,已有数据只做增量追加。
|
||
|
||
|
||
## 离线数据读取(Python)
|
||
|
||
无需网络,从本地通达信安装目录直接读取:
|
||
|
||
```python
|
||
from easy_tdx.offline import detect_tdx_home, read_daily_bars, find_daily_bar_file
|
||
from easy_tdx import Market
|
||
|
||
home = detect_tdx_home()
|
||
filepath = find_daily_bar_file(Market.SH, "600000")
|
||
bars = read_daily_bars(filepath)
|
||
```
|
||
|
||
支持:日线、分钟线、扩展市场日线、板块、股本变迁、历史财务数据。
|
||
|
||
## 离线数据写入同步(Python)
|
||
|
||
从服务端获取最新数据并追加写入本地通达信数据文件:
|
||
|
||
```python
|
||
from easy_tdx.offline import (
|
||
encode_daily_bar, append_daily_bars, get_last_bar_date,
|
||
encode_5min_bar, append_5min_bars,
|
||
encode_lc_min_bar, append_lc_min_bars,
|
||
)
|
||
from easy_tdx import Market
|
||
from easy_tdx.client import TdxClient
|
||
|
||
# 追加日线到 .day 文件(自动跳过重复日期)
|
||
from easy_tdx.offline import sync_daily_bars_from_security_bars
|
||
|
||
# 手动编码单条记录
|
||
bar_bytes = encode_daily_bar(bar, price_coeff=0.01, vol_coeff=0.01)
|
||
|
||
# 获取文件末尾日期
|
||
last_date = get_last_bar_date("C:/new_jyplug/vipdoc/sh/lday/sh600000.day")
|
||
```
|
||
|
||
v1.5.0 起可通过 CLI 直接使用:
|
||
|
||
```bash
|
||
easy-tdx offline daily SH 600000 --count 10 --table
|
||
easy-tdx offline ex-files --table
|
||
easy-tdx offline ex-daily 29#A1801 --table
|
||
```
|
||
|