$npx -y skills add lzwme/finance-quant-skills --skill tdxquant通达信量化数据获取技能。当用户提及 tdxquant、通达信、TdxQuant、tqcenter,并且需要获取A股数据(行情快照、K线、财务、板块、可转债、新股、交易数据等)、查询交易日历、执行通达信公式、订阅行情、交易下单时使用
| 1 | # 通达信量化数据获取技能 |
| 2 | |
| 3 | ## 任务目标 |
| 4 | - 本 Skill 用于:通过通达信 TdxQuant (tqcenter) 接口获取A股市场数据、执行技术分析和查询交易相关信息 |
| 5 | - 能力包含:行情快照、K线数据、证券基本信息、专业财务数据、股票/板块/市场交易数据、板块与成份股、可转债/ETF/新股信息、交易日历、通达信公式执行、行情订阅、交易下单 |
| 6 | - 触发条件:用户提到 tdxquant、通达信、TdxQuant、tqcenter、获取A股数据、K线查询、财务数据、板块分析等 |
| 7 | |
| 8 | ## 前置准备 |
| 9 | - **tqcenter 模块说明**:tqcenter 位于通达信安装目录的 `PYPlugins\user\tqcenter.py`。脚本通过 `_tdx_init.py` 自动检测安装目录并将路径加入 `sys.path`。用户也可以通过设置环境变量 `TDX_ROOT` 指定安装目录。 |
| 10 | - 环境要求:需安装通达信金融终端(支持 TQ 策略功能的专业研究版、量化模拟版或期货通),并预先启动客户端 |
| 11 | - Python 版本:支持 64 位 Python 3.7~3.14,建议 3.13 |
| 12 | - 数据准备:部分数据(如专业财务数据、交易数据)需先在客户端中下载对应数据包 |
| 13 | |
| 14 | ## 核心概念 |
| 15 | - **证券代码格式**:6位数字 + 市场后缀(大小写均可),如 `600519.SH`(上海)、`000001.SZ`(深圳)、`430047.BJ`(北交所) |
| 16 | - **周期参数**:`1m`/`5m`/`15m`/`30m`/`1h`/`1d`/`1w`/`1mon`/`1q`/`1y`/`tick` |
| 17 | - **复权类型**:`none` 不复权、`front` 前复权、`back` 后复权 |
| 18 | - **市场类型后缀**:`.SH`上海 `.SZ`深圳 `.BJ`北交所 `.HK`港股 `.US`美股 `.CSI`中证指数 `.CNI`国证指数 `.CFF`中金期货 等 |
| 19 | |
| 20 | **安装目录结构**: |
| 21 | |
| 22 | ``` |
| 23 | 通达信安装目录\ |
| 24 | ├── TdxW.exe # 主程序 |
| 25 | ├── PYPlugins\ |
| 26 | │ ├── TPyth.dll # 通信DLL |
| 27 | │ ├── TPythClient.dll # 通信DLL |
| 28 | │ ├── user\ |
| 29 | │ │ └── tqcenter.py # TdxQuant 核心模块 |
| 30 | │ ├── data\ # 下载数据目录 |
| 31 | │ └── file\ # 发送文件目录 |
| 32 | ``` |
| 33 | |
| 34 | ## 操作步骤 |
| 35 | |
| 36 | 1. 确定数据需求 — 智能体理解用户意图 |
| 37 | 2. 调用对应脚本 — 根据数据类型选择脚本 |
| 38 | 3. 解析结果 — 智能体分析返回的 JSON 格式数据 |
| 39 | |
| 40 | ### 意图识别映射示例 |
| 41 | |
| 42 | | 用户提问 | 对应功能模块 | 调用参数 | |
| 43 | |---|---|---| |
| 44 | | "贵州茅台实时股价" | market_data.py snapshot | --code 600519.sh | |
| 45 | | "平安银行K线数据" | market_data.py kline | --code 000001.sz --period 1d | |
| 46 | | "招商银行基本信息" | market_data.py stock_info | --code 600036.sh | |
| 47 | | "招商银行财务指标" | financial_data.py financial | --code 600036.sh --fields fn193,fn197 | |
| 48 | | "半导体板块成分股" | sector_data.py sector_stocks | --block_name 半导体 | |
| 49 | | "今日新股申购" | etf_bond_data.py ipo_info | --ipo_type 2 --ipo_date 1 | |
| 50 | | "市场融资融券数据" | trading_data.py scjy | --fields sc1,sc25 | |
| 51 | | "MACD指标" | formula.py zb | --name MACD --arg 12,26,9 | |
| 52 | | "连涨3天选股" | formula.py xg | --name UPN --arg 3 | |
| 53 | |
| 54 | ### 使用示例 |
| 55 | |
| 56 | - 示例1:获取股票实时行情快照 |
| 57 | - 场景/输入:用户说"查看贵州茅台的实时行情" |
| 58 | - 预期产出:返回股票代码、名称、现价、涨跌幅、成交量、五档买卖等信息 |
| 59 | - 关键要点:调用 `python scripts/market_data.py snapshot --code 600519.sh` |
| 60 | - 示例2:获取日K线数据 |
| 61 | - 场景/输入:用户说"获取平安银行最近100天的日K线数据" |
| 62 | - 预期产出:返回日期、开盘价、最高价、最低价、收盘价、成交量等OHLCV数据 |
| 63 | - 关键要点:调用 `python scripts/market_data.py kline --code 000001.sz --period 1d --count 100` |
| 64 | - 示例3:查询专业财务数据 |
| 65 | - 场景/输入:用户说"查看招商银行最近的成本费用利润率和营业利润率" |
| 66 | - 预期产出:返回fn193成本费用利润率、fn194营业利润率等财务指标 |
| 67 | - 关键要点:调用 `python scripts/financial_data.py financial --code 600036.sh --fields fn193,fn194 --start 20240101` |
| 68 | |
| 69 | ### 脚本调用映射参考 |
| 70 | |
| 71 | - 行情快照 → `python scripts/market_data.py snapshot --code 600519.sh` |
| 72 | - K线数据 → `python scripts/market_data.py kline --code 600519.sh --period 1d --count 100` |
| 73 | - 证券基本信息 → `python scripts/market_data.py stock_info --code 600519.sh` |
| 74 | - 股票更多信息 → `python scripts/market_data.py more_info --code 600519.sh` |
| 75 | - 分红配送 → `python scripts/market_data.py divid_factors --code 600519.sh` |
| 76 | - 股本数据 → `python scripts/market_data.py gb_info --code 600519.sh --dates 20250101,20250601` |
| 77 | - 专业财务数据 → `python scripts/financial_data.py financial --code 600519.sh --fields fn193,fn194,fn197 --start 20250101` |
| 78 | - 指定日期财务数据 → `python scripts/financial_data.py financial_by_date --code 600519.sh --fields fn193,fn197 --year 0 --mmdd 0` |
| 79 | - 单个财务指标 → `python scripts/financial_data.py gp_one_data --code 600519.sh --fields go1,go3,go5` |
| 80 | - 股票交易数据 → `python scripts/trading_data.py gpjy --code 600519.sh --fields gp1,gp2,gp3 --start 20250101` |
| 81 | - 板块交易数据 → `python scripts/trading_data.py bkjy --code 880660.sh --fields bk5,bk6,bk9 --start 20250101` |
| 82 | - 市场交易数据 → `python scripts/trading_data.py scjy --fields sc1,sc2,sc3 --start 20250101` |
| 83 | - 系统分类成份股 → `python scripts/sector_data.py stock_list --list_type 5` |
| 84 | - 板块代码列表 → `python scripts/sector_data.py sector_list --with_name` |
| 85 | - 板块成份股 → `python scripts/sector_data.py sector_stocks --block_code 880081.sh` |
| 86 | - 股票所属板块 → `python scripts/sector_data.py stock_relation --code 688318.sh` |
| 87 | - 自定义板块操作 → `python scripts/sector_data.py user_sector --action list` |
| 88 | - 可转债信息 → `python scripts/etf_bond_data.py kzz_info --code 123039.sz` |
| 89 | - ETF跟踪指数 → `python scripts/etf_bond_data.py trackzs_etf --zs_code 950162.csi` |
| 90 | - 新股申购 → `python scripts/etf_bond_data.py ipo_info --ipo_type 2 --ipo_date 1` |
| 91 | - 交易日列表 → `python scripts/calendar.py --start 20250101 --end 20250601` |
| 92 | - 通达信公式(指标) → `python scripts/formula.py zb --name MACD --arg 12,26,9 --code 688318.sh --period 1d --count 100` |
| 93 | - 通达信公式(选股) → `python scripts/formula.py xg --name UPN --arg 3 --code 688318.sh --period 1d --count 100` |
| 94 | - 批量选股公式 → `python scripts/formula.py mul_xg --name UPN --arg 3 --codes 688318.sh,600519.sh --period 1d --count 20` |
| 95 | |
| 96 | ## 资源索引 |
| 97 | |
| 98 | ### 数据获取脚本 |
| 99 | |
| 100 | - [scripts/market_data.py](scripts/market_data.py) (用途与参数:行情快照snapshot、K线kline、基本信息stock_info、更多信息more_info、分红divid_factors、股本gb_info) |
| 101 | - [scripts/financial_data.py](scripts/financial_data.py) (用途与参数:专业财务financial、指定日期财务financial_by_date、单个指标gp_one_data) |
| 102 | - [scripts/trading_data.py](scripts |