gangtise-openapi-cli 0.42.0 → 0.43.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +43 -36
- package/dist/src/cli.js +29 -11
- package/dist/src/commands/ai.js +7 -6
- package/dist/src/commands/fundamental.js +3 -3
- package/dist/src/commands/indicator.js +3 -3
- package/dist/src/commands/insight.js +5 -4
- package/dist/src/commands/quote.js +46 -12
- package/dist/src/commands/raw.js +2 -2
- package/dist/src/commands/shared.js +60 -8
- package/dist/src/commands/vault.js +2 -2
- package/dist/src/core/args.js +6 -5
- package/dist/src/core/auth.js +3 -2
- package/dist/src/core/client.js +114 -11
- package/dist/src/core/commandBodies.js +2 -1
- package/dist/src/core/download.js +9 -5
- package/dist/src/core/endpoints.js +103 -1
- package/dist/src/core/opinionDetail.js +16 -6
- package/dist/src/core/output.js +37 -8
- package/dist/src/core/perSecurity.js +29 -11
- package/dist/src/core/quoteSharding.js +19 -15
- package/dist/src/core/rowSink.js +21 -0
- package/dist/src/core/titleCache.js +28 -2
- package/dist/src/core/transport.js +3 -1
- package/dist/src/core/updateCheck.js +51 -0
- package/dist/src/version.js +19 -1
- package/gangtise-openapi/SKILL.md +50 -49
- package/gangtise-openapi/references/commands/ai.md +34 -15
- package/gangtise-openapi/references/commands/alternative.md +2 -2
- package/gangtise-openapi/references/commands/bond.md +1 -1
- package/gangtise-openapi/references/commands/fundamental.md +4 -4
- package/gangtise-openapi/references/commands/indicator.md +31 -29
- package/gangtise-openapi/references/commands/insight.md +40 -32
- package/gangtise-openapi/references/commands/quote.md +19 -19
- package/gangtise-openapi/references/commands/reference-and-lookup.md +18 -15
- package/gangtise-openapi/references/commands/vault.md +10 -7
- package/gangtise-openapi/references/errors.md +22 -23
- package/gangtise-openapi/references/examples.md +36 -34
- package/gangtise-openapi/references/fields.md +8 -6
- package/gangtise-openapi/references/lookup-ids.md +10 -8
- package/gangtise-openapi/references/response-schema.md +7 -7
- package/package.json +1 -1
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
| 单证券资金流向(要占比字段) | `quote fund-flow`;免费,且有 EDE 没有的 `*Ratio` 占比。多证券批量取某一两个档位才用 EDE 的 `flow_*` |
|
|
19
19
|
| 单证券三大报表全部科目 | 对应 `fundamental` 利润表 / 资产负债表 / 现金流量表命令 |
|
|
20
20
|
|
|
21
|
-
EDE 不是“搜到就优先”。取数前必须核对:① `indicatorName` + `description` 与目标语义一致;② `scopeList` 覆盖**全部**目标市场和证券类型;③ `parameterList` 的必填参数与枚举可满足。`scopeList` 缺失 / `null` / 空或任一项不符,都视为无法证明覆盖并回退上表的专用接口;专用接口也不支持目标市场时,如实说明当前 CLI 无可用口径,不能用其他语义代替。`valuation-analysis` / `earning-forecast` 仅支持 A 股,港 /
|
|
21
|
+
EDE 不是“搜到就优先”。取数前必须核对:① `indicatorName` + `description` 与目标语义一致;② `scopeList` 覆盖**全部**目标市场和证券类型;③ `parameterList` 的必填参数与枚举可满足。`scopeList` 缺失 / `null` / 空或任一项不符,都视为无法证明覆盖并回退上表的专用接口;专用接口也不支持目标市场时,如实说明当前 CLI 无可用口径,不能用其他语义代替。`valuation-analysis` / `earning-forecast` 仅支持 A 股,港 / 美股的**估值历史分位**与**盈利预测**当前无可用口径。但估值指标本身港股有数:`finc_pe_ttm`(PE TTM) 与 `finc_pb_mrq`(PB MRQ)。⚠️ **本文里所有「仅 A 股」「无数据」这类否定结论都只是某个时点的抽查**——服务端在持续补数据,正面结论过期会给错数,负面结论过期则会让你白白拒掉一个现在能跑的查询(不报错、不告警,只是少调一次)。**一律以当次 `scopeList` + 抽查一行为准。**`search` 免费,EDE 取数按单元格计费;除多证券批量的效率收益外,仍优先免费 / 低价的 `quote` 或 `fundamental`。
|
|
22
22
|
|
|
23
23
|
## 指标搜索 `indicator search`
|
|
24
24
|
|
|
@@ -48,9 +48,9 @@ gangtise indicator cross-section --indicator <code> [--indicator <code2>] \
|
|
|
48
48
|
```
|
|
49
49
|
|
|
50
50
|
- `--indicator`(**至少 1 个**):指标编码,来自 `search`,可重复传多个
|
|
51
|
-
- `--security`(**至少 1 个**):证券代码,如 `600519.SH`(A股)/ `09992.HK`(港股)/ `AAPL.O`(美股,用 `.O`/`.N` 后缀,非 `.US`),可重复传多个。**也接受板块 ID**(`reference sector-search` 返回的 10 位 `sectorId`,如 `1000000287` 中信白酒 →
|
|
51
|
+
- `--security`(**至少 1 个**):证券代码,如 `600519.SH`(A股)/ `09992.HK`(港股)/ `AAPL.O`(美股,用 `.O`/`.N` 后缀,非 `.US`),可重复传多个。**也接受板块 ID**(`reference sector-search` 返回的 10 位 `sectorId`,如 `1000000287` 中信白酒 → 展开成它的全部成分股),代码与板块可混传,服务端取并集去重。⚠️ 中信行业码那类 9 位 ID(`100800109`)**不是** `sectorId`,传进去返 0 只
|
|
52
52
|
- `--date`(**必选**):数据日期 `yyyy-MM-dd`。**CLI 把它下发为每个指标各自的 `tradeDate`**(接口没有根级 date)。日期语义按指标分两类——财务报表指标=报告期末(可为非交易日;**⚠️ `_ttm` 后缀整族例外,走交易日,见下方「日期路由」**)、`finc_pe_ttm` / `finc_pb_mrq` 等日频估值=交易日(详见下方「日期路由」)
|
|
53
|
-
- `--date`
|
|
53
|
+
- `--date` 必填:绝大多数指标必填 `tradeDate`,漏传服务端报 `100001` 并点名缺哪个参数,所以 CLI 要求带上、下发给每个指标。(`screener` 的 `--date` 也必填,同理)
|
|
54
54
|
- 🔴 **判据一句话:该指标的 `parameterList` 里有 `tradeDate` 就不用管;没有,`--date` 下发的 `tradeDate` 就可能被拒。** 按这条走,四种情形四种写法(`parameterList` 从 `indicator search --keyword <code> --format json` 读,别按 code 前缀推断):
|
|
55
55
|
|
|
56
56
|
| `parameterList` | 怎么写 |
|
|
@@ -74,9 +74,10 @@ gangtise indicator cross-section --indicator <code> [--indicator <code2>] \
|
|
|
74
74
|
- **`--key-by name|code`**(默认 `name`):指标列头用显示名还是 `indicatorCode`。**批量按 code 回填必用 `--key-by code`**——指标名会碰撞(多个指标同显示名,如 `cf_finc_exp`/`_qtr` 都叫「财务费用」),唯有 code 唯一(行轴 `security` 本就是 code,`code` 模式整表可按 code 寻址,免去 raw API 手工回填)。顺序是稳定的,但**两个轴的排法不一样**:`indicatorList` **= 请求顺序**(请求 `qte_vol,qte_close` 就回 `qte_vol,qte_close`);`securityCodeList` **是按代码升序重排的,不是请求顺序**(请求 `000858,600519,000001` → 回 `000001,000858,600519`)。所以**行序绝不能按请求下标对位**,一律按 `security` 字段取值
|
|
75
75
|
|
|
76
76
|
```bash
|
|
77
|
-
# 多证券 ×
|
|
77
|
+
# 多证券 × 同一报告期的已实现财务指标(报告期类指标必须显式给 reportDate,只给 --date 会报 100003)
|
|
78
78
|
gangtise indicator cross-section \
|
|
79
79
|
--indicator is_op_rev --indicator is_eps_bas \
|
|
80
|
+
--indicator-param "is_op_rev:reportDate=2025-12-31" --indicator-param "is_eps_bas:reportDate=2025-12-31" \
|
|
80
81
|
--security 600519.SH --security 000858.SZ --security 300750.SZ \
|
|
81
82
|
--date 2025-12-31 --format table
|
|
82
83
|
# 列:security / name / 营业收入(利润表,累计) / 基本每股收益(利润表,累计)
|
|
@@ -96,7 +97,7 @@ gangtise indicator time-series --indicator <code> [--indicator <code2>] \
|
|
|
96
97
|
- ⚠️ **同一 `indicatorCode` 挂多套参数:截面和时序都不支持,这是设计如此,要拆成两次调用**。只有 `screener` 支持(它把指标绑到不同变量 `F1`/`F2` 上,天然可区分)。CLI 也表达不了该请求——`--indicator-param` 按 code 建 Map,同 code 的多组参数会被合并成一组,与服务端设计一致。走 `raw call` 真发出去会报 `100003「指标 xxx 重复配置」`
|
|
97
98
|
- `--calendar-type`:日期类型 `ND`(自然日)/`TD`(交易日)/`WD`(工作日)。`TD` 且跨市场时,`date` 列是各市场交易日的**并集**。服务端默认 `ND`
|
|
98
99
|
|
|
99
|
-
**不传时 CLI
|
|
100
|
+
**不传时 CLI 会自动选**:发请求前用 `indicator search`(免费)读每个指标的 `parameterList`——**去重后每个指标码各查一次**(并发,`--indicator` 只给一个时就是一次)——
|
|
100
101
|
|
|
101
102
|
| 本次请求的指标 | CLI 发什么 | 为什么 |
|
|
102
103
|
| :-- | :-- | :-- |
|
|
@@ -109,8 +110,8 @@ gangtise indicator time-series --indicator <code> [--indicator <code2>] \
|
|
|
109
110
|
- 🔴 **两个方向的代价不对称,所以自动选择只往 `ND` 一边兜底**:报告期末常落在非交易日(如 2024-03-31、2024-06-30 均为周日),`TD` 的日期轴里没有那一列,报告期类指标于是**整行全 `null`、退出码 0、不报错**,读起来像「这只票没有这项财务数据」。**选 `ND` 选错只是多花单元格,选 `TD` 选错是静默丢数。**
|
|
110
111
|
- **混合两类指标时一律 `ND`**:一次请求只有一个 `calendarType`,管不到单个指标——`ND` 下两类都取得到(行情列在周末是 `null`,本就该是),`TD` 下行情列正常而报告期列整行全空。自动选择按的就是这条:只要有一个报告期类指标,整条走 `ND`
|
|
111
112
|
- **`TD` 能省多少**:A 股一年约 240~245 个交易日,所以同一区间 `ND` 的日期列大约是 `TD` 的 **1.5 倍**,多出来的那三分之一全是非交易日的 `null`。换算到 30000 上限就是「单指标拉一年,`TD` 能带的证券数比 `ND` 多约一半」。**要精确值就用自己的区间各跑一次比 `dates` 长度**,别套这里的比例——交易日数逐年不同
|
|
112
|
-
- `--currency` / `--scale`:同 `cross-section
|
|
113
|
-
- **输出(宽表)**:每行一个日期,列为 `date / <各序列名>…`;序列在「单指标」时是各**证券**,在「单证券多指标」时是各**指标**。**板块 ID 算多证券**——传 1 个 `sectorId` 服务端会展开成 N 只成分股,列就是这 N 只(如中信白酒 →
|
|
113
|
+
- `--currency` / `--scale`:同 `cross-section`(根级 `--scale` 只作用于支持它的指标,价格类与金额类可以混查)
|
|
114
|
+
- **输出(宽表)**:每行一个日期,列为 `date / <各序列名>…`;序列在「单指标」时是各**证券**,在「单证券多指标」时是各**指标**。**板块 ID 算多证券**——传 1 个 `sectorId` 服务端会展开成 N 只成分股,列就是这 N 只(如中信白酒 → 每只成分股一列)
|
|
114
115
|
- **`--key-by name|code`**(默认 `name`):同 `cross-section`;`code` 模式下单证券列=各 `indicatorCode`、多证券列=各 `securityCode`,批量按 code 回填用它
|
|
115
116
|
- ⚠️ 部分指标标注**不支持时序接口**:`search` 返回的 `scopeList[].usageRestriction` 会写明(如「不支持指标时间序列接口」),`null` 表示无限制。**但它不是硬约束**——`qte_vol_intvl` 带着该标注调时序照样返回数据,不会被拦下。把它当"口径可能不对、结果别当真"的提示,而不是"会报错"的保证
|
|
116
117
|
|
|
@@ -138,7 +139,7 @@ gangtise indicator screener --indicator <F1:code> [--indicator <F2:code2>] \
|
|
|
138
139
|
- 比较:`==` `>` `<` `>=` `<=` `!=`
|
|
139
140
|
- 文本:`contains` / `notcontains`(不区分大小写,**仅对 `dataType: string` 的指标有效**)
|
|
140
141
|
- 逻辑:`&&` `||`,分组 `(` `)`
|
|
141
|
-
- `--date`(**必选**):下发为**每个**指标的 `tradeDate`(已带 `tradeDate`/`reportDate`
|
|
142
|
+
- `--date`(**必选**):下发为**每个**指标的 `tradeDate`(已带 `tradeDate`/`reportDate` 的不覆盖)。绝大多数指标必填 `tradeDate`,漏传服务端报 `100001`,所以必填
|
|
142
143
|
- 🔴 **`parameterList` 里一个日期参数都没有的指标(`pty_*` / `scr_*` 静态属性两族、`div_cash_paid_ratio` / `div_cash_yr`、`pty_shr_reg`)必须显式声明「不要日期」**:写 `--indicator-param "F1:"`(冒号后什么都不写)。不写的话 `--date` 会给它注入 `tradeDate`,而这些指标不接受该参数,**整条请求**报 `100003 指标 xxx 不支持参数 tradeDate`。`F1:` 与真参数可组合,`div_cash_*` 要同时给 `F1:` 和 `F1:fiscalYear=2025`。这与 `cross-section` 的 `"code:"` 是同一个写法。注意只有**没有任何日期参数**的指标需要,报告期类(`is_*` 等)给 `F1:reportDate=...` 即可
|
|
143
144
|
- `--indicator-param`:格式是 **`F1:key=value`(按变量,不是按 code)**。引用了没绑定的变量会直接报错,不会静默丢弃
|
|
144
145
|
- `--expression` 里引用未绑定的变量,CLI **本地就拦**(不发请求、不计费);服务端也会报 `100003`
|
|
@@ -182,7 +183,7 @@ gangtise indicator screener \
|
|
|
182
183
|
--security 1000000287 \
|
|
183
184
|
--expression "F1 >= 500 && F2 <= 30" \
|
|
184
185
|
--date 2026-07-31 --format table
|
|
185
|
-
# security / name / 总市值 / 市盈率(TTM) ——
|
|
186
|
+
# security / name / 总市值 / 市盈率(TTM) —— 板块成分股里满足条件的那几只
|
|
186
187
|
```
|
|
187
188
|
|
|
188
189
|
## 复权 / 指标专属参数 `--indicator-param`
|
|
@@ -193,7 +194,7 @@ gangtise indicator screener \
|
|
|
193
194
|
# 茅台收盘价后复权(adjustType=3)
|
|
194
195
|
gangtise indicator cross-section --indicator qte_close --security 600519.SH \
|
|
195
196
|
--date 2024-01-02 --indicator-param "qte_close:adjustType=3"
|
|
196
|
-
# 不复权
|
|
197
|
+
# 1 不复权 / 2 前复权 / 3 后复权。前复权以最新交易日为基准,在最新交易日等于不复权、每次除权都会变,验证复权要用历史日
|
|
197
198
|
```
|
|
198
199
|
|
|
199
200
|
- `adjustType`(复权方式):`1`=不复权(默认) `2`=前复权 `3`=后复权 `4`=定点复权(配 `baseDate` 基期)
|
|
@@ -217,7 +218,7 @@ gangtise indicator cross-section --indicator qte_close --security 600519.SH \
|
|
|
217
218
|
|
|
218
219
|
**撞上限就按这个乘积拆批**:截面拆证券或拆指标,时序拆证券或缩日期区间,分批取回后自己合并。
|
|
219
220
|
|
|
220
|
-
⚠️ **两处最容易撞**:① `--security` 传板块 ID 时服务端会展开成全部成分股,实际证券数远大于写进命令的条数(全 A
|
|
221
|
+
⚠️ **两处最容易撞**:① `--security` 传板块 ID 时服务端会展开成全部成分股,实际证券数远大于写进命令的条数(全 A 股板块是数千只,配几个指标就到顶);② 时序的日期轴由 `--calendar-type` 决定,`ND` 的日期列约是 `TD` 的 1.5 倍(周末与节假日各占一列),同一个查询在 `ND` 下更容易超限——纯行情序列走 `TD` 就省下这部分(不传时 CLI 会自动判,见上文)。
|
|
221
222
|
|
|
222
223
|
**缺数据 vs 代码写错**:
|
|
223
224
|
|
|
@@ -250,13 +251,13 @@ gangtise indicator cross-section --indicator qte_close --security 600519.SH \
|
|
|
250
251
|
| `--indicator not_a_real_code`(**无对照物**) | `100003 指标 not_a_real_code 不存在` ← 同样报错 |
|
|
251
252
|
| `--indicator qte_close --security 999999.SH` | `100003 999999.SH 不是有效证券或者板块ID` |
|
|
252
253
|
|
|
253
|
-
|
|
254
|
+
**代码写错一律报错、且消息里带上那个代码**,无论同批有没有别的正确代码——不用靠「和一个已知有数的标的一起查」推断是哪个写错了。无数据是占位单元格(统一 `null`);拿到整批 `null` 先查日期语义,见本文末尾「空结果排查顺序」。
|
|
254
255
|
|
|
255
256
|
**「和一个已知有数的标的一起查」这套对照法不必要**——缺数据一眼可见。仍要留意的是**日期语义**(见上方 🔴 段):日期用错时整批返 `null`,形态与「真的没覆盖」一样。
|
|
256
257
|
|
|
257
|
-
>
|
|
258
|
+
> 服务端对写错的 code 直接报 `100003`(退出 1),所以 `partial` + `omittedIndicators` / `omittedSecurities` + 退出码 3 很少出现;出现时表示服务端没有返回请求里的某个指标或证券。
|
|
258
259
|
|
|
259
|
-
`screener` 上指标码写错同样直接报 `100003
|
|
260
|
+
`screener` 上指标码写错同样直接报 `100003`。服务端少返回某些列时,CLI 按表达式的布尔结构判:整个表达式再无可成立分支 → 退出码 1 且不输出;仍有分支可求值(如 `F1 || F2` 只缺 F1)→ `partial` + 退出码 3。
|
|
260
261
|
|
|
261
262
|
⚠️ **`screener` 的空集仍要当心:三种成因产生逐字相同的输出(都是退出码 0 + 同一句 note)**
|
|
262
263
|
|
|
@@ -274,23 +275,23 @@ gangtise indicator cross-section --indicator qte_close --security 600519.SH \
|
|
|
274
275
|
|
|
275
276
|
| 错误码 | 实际含义 | 怎么办 |
|
|
276
277
|
| :--- | :--- | :--- |
|
|
277
|
-
| `100001` | **缺少必填参数**:如 `universe`
|
|
278
|
+
| `100001` | **缺少必填参数**:如 `universe` 没传,或指标 `parameterList` 里 `required` 的参数没给(msg 会点名是哪个指标的哪个参数)。⚠️ 漏传 `fiscalYear` **不报这个码**,见下「必填参数」 | 补齐 `--indicator` / `--security`,或用 `--indicator-param` 补上点名的参数 |
|
|
278
279
|
| `100003`@400 | 入参/表达式错误:`time-series` 传了「多指标 × 多证券」、`expression` 引用未声明变量、`indicatorParamList` 的 code 不在 `indicatorCodeList` 里 | 按 msg 改;多 × 多改用 `cross-section`。CLI 已在本地拦截「表达式引用未绑定变量」,不会白发一次请求 |
|
|
279
|
-
| `140002`@500 |
|
|
280
|
-
| `999999` | 系统故障。「无数据」不用此码,所以它基本只剩真故障。⚠️
|
|
280
|
+
| `140002`@500 | **终态参数错**:枚举越界(如「参数 adjustType 的值 99 不在有效范围内 [1,2,3,4]」)、表达式语法错误 | **不重试**(CLI 已把 140002 列为终态码)。读 `search --format json` 的 `parameterList` 改参数名/取值 |
|
|
281
|
+
| `999999` | 系统故障。「无数据」不用此码,所以它基本只剩真故障。⚠️ 无数据是占位单元格(统一 `null`);代码或参数名写错报 `100003`、缺必填参数报 `100001`,都会点名(漏传 `fiscalYear` 例外,不报错) | CLI 对 indicator 端点**不重试此码**;确认参数无误仍报错,稍后再试或联系平台支持 |
|
|
281
282
|
| `110003` | **超出账号数据权限的时间范围**。窗口按**账号**配、不按接口配——`cross-section` / `time-series` / `screener` 同界,区间**跨过**下界也整批报这个码;`quote day-kline` 在同一条界上,但跨界时从下界起返回、不报错 | 把起点移进范围;整段区间都早于下界时缩短窗口无用,**换接口绕不过去**,要更长历史联系客户经理开通 |
|
|
282
|
-
| `130001
|
|
283
|
+
| `130001` | 数据未找到,或**该指标无权限**(内层信封失败会带具体 msg,如"指标无权限";此码被服务端复用) | 检查查询条件与指标权限;换证券/日期仍失败多为无权限,联系管理员开通 |
|
|
283
284
|
|
|
284
|
-
###
|
|
285
|
+
### 指标专属参数
|
|
285
286
|
|
|
286
|
-
|
|
287
|
+
缺必填参数报 `100001` 并点名是哪个指标的哪个参数。🔴 **`fiscalYear` 例外:漏传不报错**——预测类(如 `frcst_pe`)与分红类(`div_cash_yr` / `div_cash_paid_ratio`)都会按一个服务端自定的默认年度取数(不随 `--date` 变):该年度有数就返回它,看着完全正常,但未必是你要的那一年;没有就是 `null`,与「没有数据」无法区分。所以 `parameterList` 里标 `required` 的 `fiscalYear` 一律显式传。**先完成语义 + `scopeList` + `parameterList` 三项校验;其中凡 `required:true` 的参数都用 `--indicator-param "指标code:参数=值"` 补上。** 常见的几个:
|
|
287
288
|
|
|
288
289
|
| 参数 | 适用指标 | 示例 |
|
|
289
290
|
| :--- | :--- | :--- |
|
|
290
|
-
| `periodNum` | N 期统计(N 期均值/最值,如 `finc_roe_avg_avg` 平均ROE N期均值) | `--indicator-param "finc_roe_avg_avg:periodNum=4"
|
|
291
|
+
| `periodNum` | N 期统计(N 期均值/最值,如 `finc_roe_avg_avg` 平均ROE N期均值) | `--indicator-param "finc_roe_avg_avg:periodNum=4"`;`finc_roe_avg_avg` 属报告期类,还要补 `--indicator-param "finc_roe_avg_avg:reportDate=2025-12-31"`(只给 `--date` 报 `100003`) |
|
|
291
292
|
| `sDate` | 区间类的**起始日**(如 `qte_vol_intvl` 区间成交量、`qte_avg_vol` 区间日均成交量),格式 `yyyy-MM-dd` | `--indicator-param "qte_vol_intvl:sDate=2024-01-02"`。⚠️ **`sDate` 不能替代 `tradeDate`**——它是区间起点,`tradeDate`(=区间终点)仍是 required,`--date` 会照常下发。区间起始日的参数名就是 `sDate`,写成 `startDate` 会报 `100003 不支持参数 startDate`。⚠️ **不传 `sDate` 不报错**——它是可选参数,缺了就按默认区间算,所以要的是特定区间就必须显式传。另:`qte_amp_mo`(月振幅)等周期变体只吃 `tradeDate`,没有起始日参数 |
|
|
292
|
-
| `fiscalYear` | 年度/报告期类(如 `div_cash_yr`
|
|
293
|
-
| `industryType` + `industryLevel` | `scr_indu` 所属行业(两个都 required,缺任一报 `
|
|
293
|
+
| `fiscalYear` | 年度/报告期类(如 `div_cash_yr` 年度现金分红)、预测类(如 `frcst_pe`,与 `tradeDate` 同时必填)。**漏传不报错**,见上 | `--indicator-param "div_cash_yr:fiscalYear=2025"` |
|
|
294
|
+
| `industryType` + `industryLevel` | `scr_indu` 所属行业(两个都 required,缺任一报 `100001`) | `--indicator-param "scr_indu:industryType=1" --indicator-param "scr_indu:industryLevel=0"` |
|
|
294
295
|
|
|
295
296
|
> `paramValue` 一律按**字符串**约定传(`periodNum=4` 内部即 `"4"`,CLI 已处理)。
|
|
296
297
|
|
|
@@ -320,7 +321,7 @@ gangtise indicator cross-section --indicator qte_close --security 600519.SH \
|
|
|
320
321
|
|
|
321
322
|
### 融资融券与行业分类指标
|
|
322
323
|
|
|
323
|
-
|
|
324
|
+
**融资融券(`mgn_*`)**——`scopeList` 只有 **A 股**(港/美股返 `null`):
|
|
324
325
|
|
|
325
326
|
| 维度 | 当日 | 区间 |
|
|
326
327
|
| :--- | :--- | :--- |
|
|
@@ -376,14 +377,15 @@ gangtise indicator cross-section --indicator scr_indu_citic --indicator scr_indu
|
|
|
376
377
|
- **公司类型决定有没有这个科目**:财务科目分公司类型——银行有「存放同业」、券商有「客户资金存款」、保险有「预收保费」,一般企业没有。某指标对茅台返回 `null`(无此科目),换到对应类型证券(招行/中信/平安)就有数。
|
|
377
378
|
- **日期路由**:
|
|
378
379
|
- 财务报表类(`bs_`/`is_`/`cf_`/`div_`/`shr_`,以及 description 明确按报告期统计的 `finc_`)→ 多数用**报告期末**(Q1 `2026-03-31`、年报 `2025-12-31`,无需是交易日)。🔴 **但 `_ttm` 后缀是整族例外,必填 `tradeDate`**——`is_*_ttm` / `cf_*_ttm` / `div_cash_ttm` / `finc_*_ttm` 一律走交易日。**一眼验证**:在一个**非报告期末的普通交易日**直接 `--date` 取 `is_op_rev_ttm`,照样返真值;反过来给它传 `reportDate` 会报 `100003 不支持参数 reportDate; 缺少必填参数 tradeDate`。同族对照:普通 `is_op_rev` 只传 `--date` 则报「不支持参数 tradeDate; 缺少必填参数 reportDate」——**两者恰好相反**。**所以前缀只是提示,判据仍是上面 `--date` 那条:读 `parameterList` 里必填的是哪个,别按 code 前缀推断**
|
|
379
|
-
-
|
|
380
|
+
- **`tradeDate` 与 `reportDate` 都必填的**(如 `div_cash_yld` 股息率(报告期))→ 两个都用 `--indicator-param` 显式给:`"div_cash_yld:reportDate=YYYY-MM-DD"` 加 `"div_cash_yld:tradeDate=YYYY-MM-DD"`。只给 `reportDate` 时 CLI 不再把 `--date` 作为 `tradeDate` 注入,会报 `100001 缺少必填参数 tradeDate`
|
|
381
|
+
- 日频估值类(如 `finc_pe_ttm` / `finc_pb_mrq`)→ 用最新已入库的**交易日**。⚠️ `finc_pb_mrq` 是**日频**的:任意交易日都有数且逐日变动。**别用季度末日期**——那会拿到几个月前的陈值(季末值与当日值可能差得很远,估值指标上就是错数)。别因 code 都以 `finc_` 开头就一律套报告期末,按 `description` 与抽查区分
|
|
380
382
|
- 现金流量表附注/间接法科目(多数 `cf_`)→ **只在年报/半年报披露**,季报日期取不到,改用年报日期 `2025-12-31`
|
|
381
383
|
- 行情类(`qte_` 等)→ 用**交易日**,但常规行情仍应改走 `quote`
|
|
382
384
|
- **混合日期语义要拆查询**:同时要“某报告期营收 / EPS”和“估值 PE / PB”时,按各自有效日期分别调用 `cross-section` 再按 `security` 合并(财务=报告期末、PE/PB=最新交易日);不要把不同日期语义的指标塞进同一个 `--date`
|
|
383
385
|
- **探索性取数**:缺值会保留行列并给占位单元格(含 1×1 的最简形态),占位值统一为 `null`;code 写错会直接报 `100003`,不会伪装成缺值。看趋势用 `time-series` + 覆盖报告期的区间,但不能把缺值当成通过语义 / scope 校验。
|
|
384
386
|
- **名称反查 code 要核对,别取首条**:存在同显示名的兄弟指标——单季 `cf_finc_exp_qtr` 与累计 `cf_finc_exp` 都叫「财务费用」,`bs_fmt`/`cf_fmt`/`is_fmt` 都叫「报表格式」。`search` 按名称模糊匹配,目标 code 高概率在 top1 但不绝对,要看 `indicatorCode` 确认。
|
|
385
|
-
-
|
|
386
|
-
- **市值量纲**:`qte_mkt_cptl`(总市值)与 `shr_tot`(总股本)**A
|
|
387
|
+
- **批量查询出错先读 msg**:缺必填参数报 `100001`、代码或参数名写错报 `100003`,msg 都会点名是哪个指标或证券,照 msg 改即可。漏传 `fiscalYear` 不报错,见「必填参数」。
|
|
388
|
+
- **市值量纲**:`qte_mkt_cptl`(总市值)与 `shr_tot`(总股本)**A/港/美股均有数**;**默认返原始「元」**(大市值公司是 `1e12` 量级,即万亿级),别误当天文数字。用 `scale` 数字码缩放(`0`元 / `3`千 / `4`万 / `6`百万 / `8`亿 / `9`十亿——`scale=8` 即以亿元为单位)、`currency` 换币种(**大写** `DFT`本币 / `CNY` / `HKD` / `USD` …)。**跨证券比市值前先统一 `scale`+`currency`**。
|
|
387
389
|
- **币种与汇率**:`DFT`(原始币种)按市场识别——A股=CNY、港股行情=HKD、美股=USD;汇率换算自洽(互逆且三角一致)。⚠️ 但**同一只港股,行情类的原始币种是 HKD、财务类可能是 CNY**(如泡泡玛特财报以人民币计),跨市场比财务数据时显式传 `--currency CNY` 别依赖 `DFT`。另:财务类指标的汇率按**报告期**折算、行情类按查询日折算,两者隐含汇率会有细微差异,属正常口径差别。
|
|
388
390
|
- **EDE 财务指标的 `reportType`**:`enumList` 的 label 与实际取数**一致**,按 label 传即可(取值以 `enumList` 为准):
|
|
389
391
|
|
|
@@ -409,7 +411,7 @@ gangtise indicator cross-section --indicator scr_indu_citic --indicator scr_indu
|
|
|
409
411
|
|
|
410
412
|
两者都是点时序列,但切换时机和历史期所用的财报版本都可能不同:发生过财报重述的标的,两条序列会从被重述的第一期起持续分叉,直到重述覆盖的期数过完。**做估值分位 / 回测先想清楚要哪个版本**——要「当时能看到的」用 `valuation-analysis`,要「按现在的口径回看」用 EDE;**两个都拉一遍交叉核**能定位分叉来源。
|
|
411
413
|
|
|
412
|
-
|
|
414
|
+
判别方法(以 `finc_pe_ttm` / `peTtm` 为例):用**总市值 ÷ PE 反推隐含净利润**,再分别对照利润表原披露与重述后的滚动 TTM(= 上年全年 − 上年同期累计 + 本年累计),能精确复现哪一版就是哪一版。`finc_pb_mrq` 等非 TTM 口径的指标同样会在报告期节点变化,但分母是净资产(MRQ)不是 TTM,切换规则未单独核对——分叉时按同法反推净资产对照资产负债表。
|
|
413
415
|
|
|
414
416
|
⚠️ **时点对齐用三大报表的 `earliestAnncDate`(首次公告日),不要用 `announcementDate`**——后者是返回数值所属公告的日期,被重述过的报告期显示的是重述公告日。`--report-type consolidated` 对重述过的期返回的也是重述后数值(与 `consolidatedRestated` 相同),要「当时披露的原始数」需以 `earliestAnncDate` 为时点自行核对公告;交叉核实披露日查 `insight announcement list`。
|
|
415
417
|
|
|
@@ -417,6 +419,6 @@ gangtise indicator cross-section --indicator scr_indu_citic --indicator scr_indu
|
|
|
417
419
|
|
|
418
420
|
- **发现流程**:`indicator search --format json` → 核对 `indicatorName` + `description`、`scopeList`(含 `usageRestriction`)、`parameterList`(**参数名以此为准**)→ 三项都通过才用 `cross-section` / `time-series` / `screener`
|
|
419
421
|
- **积分**:`search` 免费;`cross-section` / `time-series` / `screener` 按请求单元格数量计费,标价为每 100 单元格 A 股 0.05 / 港股 0.1 / 美股 0.2 积分,每次查询不足 100 单元格按 100 计
|
|
420
|
-
-
|
|
422
|
+
- **空结果排查顺序**:代码、参数名写错与缺必填参数会直接报错并点名(`100003` / `100001`),不会以空结果出现——已知例外是漏传 `fiscalYear`(按默认年度取数,该年度无数据时返回 `null`)。拿到整批 `null` 或 `screener` 空集时按序排查:① 日期语义对不对(`tradeDate` vs `reportDate`——报告期类指标日期用错会整批返 `null`,看着像「没数据」;`parameterList` 要 `fiscalYear` 的传了没有)② 该指标覆不覆盖这批证券(`scopeList`,单查一行确认)③ 真的没有数据
|
|
421
423
|
- **数据权限**:正式账号行情 / 财务 / 指标类可回溯的年限按服务等级而定,试用账号更短。这个时间窗口按**账号**配、不按接口配——三个 EDE 接口同界,区间跨过下界也整批返 `110003`(`quote day-kline` 在同一条界上,但跨界时从下界起返回、不报错),**换接口绕不过去**;整段区间都早于下界时缩短窗口无用,要更长历史联系客户经理开通
|
|
422
424
|
- 所有格式(table/json/jsonl/csv/markdown)均可用;导出宽表给 Excel 直接用 `--format csv --output xxx.csv`
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
# Insight 命令详细参数
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
`insight ... list` 大多共享:`--keyword <text>` `--start-time <datetime>` `--end-time <datetime>` `--from <n>` `--size <n>`。**例外**:`highlight list` 与 `qa list` 没有 `--keyword`;`report-image list` 用 `--top` 而不是 `--from` / `--size`;`performance-calendar list` 用 `--start-date` / `--end-date` 且没有 `--keyword`
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
按条计费的列表省略 `--size` 时,CLI 先估算全量积分,超过 1000 积分报错退出 1(报错写明估算值);确认后加 `--yes` 拉全量,或改传 `--size N`。
|
|
6
|
+
|
|
7
|
+
时间格式:`"YYYY-MM-DD HH:mm:ss"`(datetime,需引号)。**`--end-time` 写到当天末尾 `23:59:59`**——只写日期时,A 股公告按当日 00:00:00 处理,截止日当天的数据取不到。
|
|
6
8
|
|
|
7
9
|
支持 `--rank-type` 的命令:opinion / summary / **pamirs-summary** / research / foreign-report / announcement / announcement-hk / announcement-us / foreign-opinion / independent-opinion / official-account。
|
|
8
10
|
|
|
@@ -13,33 +15,21 @@
|
|
|
13
15
|
| 最相关的内容(可以是旧的) | `--rank-type 1` + `--keyword` |
|
|
14
16
|
| 最新的内容(按时间铺) | `--rank-type 2` |
|
|
15
17
|
|
|
16
|
-
🔴
|
|
17
|
-
|
|
18
|
-
| 关键词 | `research` 两档交集 | `summary` 两档交集 |
|
|
19
|
-
| :--- | ---: | ---: |
|
|
20
|
-
| `机器人` / `PCB` | 50/50(**完全相同**) | 50/50 |
|
|
21
|
-
| `固态电池` / `半导体设备` | 50/50 | 50/50 |
|
|
22
|
-
| `人形机器人` | 9/50 | 15/50 |
|
|
23
|
-
| `新能源汽车` | 2/50 | 0/50 |
|
|
24
|
-
|
|
25
|
-
**判据不是「词够不够具体」**(`固态电池` / `半导体设备` 都很具体,却毫无差别),而是**看 `total` 与组成词的关系**——用 `--size 1` 各查一次即可,免费:
|
|
18
|
+
🔴 **两档差别有多大取决于关键词,别拿一个关键词去判断这个参数有没有用**:有的关键词下两档取回的条目完全相同(如 `机器人`、`固态电池`),有的几乎没有交集(如 `新能源汽车`、`人形机器人`)。
|
|
26
19
|
|
|
27
|
-
|
|
28
|
-
| :--- | --: | :--- | --: |
|
|
29
|
-
| `新能源汽车` | 79059 | **大于**「新能源」42406 与「汽车」48474 单独查 → 近似并集 | 差别大 |
|
|
30
|
-
| `人形机器人` | 12165 | ≈ 最大组成词「机器人」12164 → 也是拆词 | 差别大 |
|
|
31
|
-
| `固态电池` | 1156 | **小于**「固态」1541 与「电池」12569 → 近似交集 | 无差别 |
|
|
20
|
+
**判据不是「词够不够具体」,而是看 `total` 与组成词的关系**——用 `--size 1` 各查一次即可(每次最多扣 1 条的积分,研报 / 纪要是 0.1):
|
|
32
21
|
|
|
33
|
-
`total`
|
|
22
|
+
- `total` **比组成词单独查都大**(服务端把词拆开按 OR 找,近似并集)→ 候选里既有整词命中也有只中一半的,相关度拉得开,两档取的是不同的批
|
|
23
|
+
- `total` **比组成词小**(按整个短语找,近似交集)→ 全是真命中、相关度并列,两档就是同一批
|
|
34
24
|
|
|
35
|
-
|
|
25
|
+
**这属正常,不是参数没生效**。拆词的关键词下,`--rank-type 1` 的结果里含完整关键词的条目明显多于 `--rank-type 2`——综合排序确实在按相关度挑。
|
|
36
26
|
|
|
37
27
|
⚠️ **`--search-type` 不影响 `--rank-type 1` 取回哪些条目**:同一关键词下,`--search-type 1` 与 `2` 的 `--rank-type 1` 结果相同——即使 `--search-type 2` 把 `total` 放大一个数量级,取回的条目仍是同一批。`--search-type 2`(全文)扩大的是命中总数和 `--rank-type 2` 的候选池。**所以「要最相关」不需要加 `--search-type 2`。**
|
|
38
28
|
|
|
39
29
|
⚠️ **没有 `--keyword` 时两档结果一致**,这不是参数失效——没有关键词就无从计算相关度。
|
|
40
30
|
|
|
41
31
|
⚠️ **别用「返回结果是不是按时间倒序」判断综合排序有没有生效** —— `--rank-type 1` **挑完之后仍按时间倒序排列**,所以两种取值下返回序列都是时间单调的。要看差别就**比条目 ID 集合**,不是比排序。
|
|
42
|
-
**不支持** `--rank-type` 的命令:roadshow / site-visit / strategy / forum(API 无此参数)。
|
|
32
|
+
**不支持** `--rank-type` 的命令:roadshow / site-visit / strategy / forum / performance-calendar / qa / highlight / report-image(API 无此参数)。
|
|
43
33
|
|
|
44
34
|
`--rank-type`:`1` 综合排序(默认)| `2` 时间倒序
|
|
45
35
|
|
|
@@ -52,15 +42,17 @@ gangtise insight opinion list [--keyword <text>] [--research-area <id>] [--chief
|
|
|
52
42
|
gangtise insight opinion detail --chief-opinion-id <id> [--chief-opinion-id <id>...]
|
|
53
43
|
```
|
|
54
44
|
|
|
45
|
+
- **积分**:列表 1/条(只含摘要);`--with-content` 30/条;`detail` 30/条
|
|
46
|
+
|
|
55
47
|
- 🔴 **列表只含摘要**:`brief` 是正文前 200 字的截断,**1 积分/条**。要正文用 `detail` 按 `chiefOpinionId` 取(`content`,**30 积分/条**,按返回条数计);或 `list --with-content` 让列表直接带正文(30 积分/条)。只需判断相关性、做筛选时看 `brief` 就够,别默认加 `--with-content`
|
|
56
48
|
- `detail` 与 `--with-content` 都按返回条数计费,**超时 / 5xx 不自动重发**(重发可能对已交付的正文再计一次费),偶发失败自行重跑
|
|
57
49
|
- ⚠️ **`--with-content` 返回的是旧版结构**:标题与正文在 `contentList.title` / `contentList.content`(`contentList` 是对象,不是数组),顶层没有 `title` / `brief`。按 `content` 字段名取会取不到;要统一成 `detail` 的结构就走 `list` + `detail`
|
|
58
|
-
- `detail`:ID 可重复传或逗号分隔,CLI 去重后按 **20 个一批**自动拆分请求。**没有有效正文的 ID 不报错、直接跳过**(ID 写错时即如此;刚发布的观点也可能暂时取不到,稍后重取)。CLI 比对请求与返回,缺的 ID 列在 `missingIds
|
|
50
|
+
- `detail`:ID 可重复传或逗号分隔,CLI 去重后按 **20 个一批**自动拆分请求。**没有有效正文的 ID 不报错、直接跳过**(ID 写错时即如此;刚发布的观点也可能暂时取不到,稍后重取)。CLI 比对请求与返回,缺的 ID 列在 `missingIds`;某一批请求失败或返回异常时,已取到的正文(包括这一批里已返回的)照常输出,没取到的 ID 列在 `unfetchedIds`、原因在 `unfetchedError`,只需对这些 ID 重跑。两种情况都标 `partial`、**退出 3**
|
|
59
51
|
- 返回字段(list):`chiefOpinionId` / `publishTime` / `title` / `brief` / `author{chiefId, chiefName, researchAreaList, brokerID, brokerName}` / `securityList[]` / `industryList[]` / `conceptList[]` / `llmTagList`;`detail` 另加 `content`。`author.chiefId` / `chiefName` 在机构点评类观点上为 `null`
|
|
60
52
|
|
|
61
53
|
- `--llm-tag`:`strongRcmd` 强烈推荐 | `earningsReview` 业绩点评 | `topBroker` 头部券商 | `newFortune` 新财富团队
|
|
62
54
|
- `--source`:`realTime` 实时 | `openSource` 开放来源
|
|
63
|
-
- `--industry`:用 `citicIndustry` 码 `1008001xx`;申万码 `104xx0000`
|
|
55
|
+
- `--industry`:用 `citicIndustry` 码 `1008001xx`;申万码 `104xx0000` 也生效,但**两套码的行业成分不同、取回的结果集不一致**,同一批查询别混用。`--research-area`:行业用 `citicIndustry` 码 `1008001xx`、方向用 `gangtiseIndustry` 码 `122000xxx`,**申万码在本端点返 0**。详见 `reference-and-lookup.md`
|
|
64
56
|
|
|
65
57
|
## 纪要 `insight summary list/download`
|
|
66
58
|
|
|
@@ -69,9 +61,11 @@ gangtise insight summary list [--search-type <n>] [--rank-type <n>] [--source <n
|
|
|
69
61
|
gangtise insight summary download --summary-id <id> [--file-type <n>] [--output <path>]
|
|
70
62
|
```
|
|
71
63
|
|
|
64
|
+
- **积分**:列表 0.1/条;下载 50/篇
|
|
65
|
+
|
|
72
66
|
- `--search-type`:`1` 标题搜索(默认,速度快)| `2` 全文搜索
|
|
73
67
|
- `--source`:`1` 实时 | `2` 开放来源
|
|
74
|
-
- `--research-area`:行业用 `citicIndustry` 码 `1008001xx`、方向用 `gangtiseIndustry` 码 `122000xxx`。summary 是少数**申万码 `104xx0000`
|
|
68
|
+
- `--research-area`:行业用 `citicIndustry` 码 `1008001xx`、方向用 `gangtiseIndustry` 码 `122000xxx`。summary 是少数**申万码 `104xx0000` 也生效**的端点,但两套行业码取到的集合略有出入,同一批查询里别混用
|
|
75
69
|
- `--market`:`aShares` | `hkStocks` | `usChinaConcept` | `usStocks`
|
|
76
70
|
- `--participant-role`:`management` 管理层 | `expert` 专家
|
|
77
71
|
- `--category`:`earningsCall` 业绩会 | `strategyMeeting` 策略会 | `fundRoadshow` 基金路演 | `shareholdersMeeting` 股东大会 | `maMeeting` 并购会议 | `specialMeeting` 特别会议 | `companyAnalysis` 公司分析 | `industryAnalysis` 行业分析 | `other`
|
|
@@ -85,7 +79,7 @@ gangtise insight highlight list [--from N] [--size N] [--start-time <t>] [--end-
|
|
|
85
79
|
|
|
86
80
|
Gangtise 会议内容的核心要点信息流(官方名「会议线索」),固定按发布时间倒序,适合做每日会议跟踪看板。
|
|
87
81
|
|
|
88
|
-
- 🔴 **5
|
|
82
|
+
- 🔴 **5 积分/条**,按返回条数计。**务必带 `--size`**——省略时 CLI 先取 1 条拿到 `total` 估算,超过 1000 积分(约 200 条)报错退出 1,要全量须加 `--yes`。先 `--size 1` 看 stderr 的 `Total: N` 探量级,再决定取多少
|
|
89
83
|
- `--size` 单页上限 50
|
|
90
84
|
- 按偏移量**最多取到第 10000 条**(`--from` + 条数不能超过 10000)。命中更多时 CLI 取到第 10000 条为止、stderr 说明并**退出 3**;`--from` 本身 ≥10000 直接拒绝。要更多请缩短时间范围分段取
|
|
91
85
|
- `--start-time` / `--end-time`:`yyyy-MM-dd HH:mm:ss`,也接受 `yyyy-MM-dd`(自动补全)。超出账号数据权限窗口返回 `110003`
|
|
@@ -113,7 +107,7 @@ gangtise insight pamirs-summary download --summary-id <id> [--file-type <n>] [--
|
|
|
113
107
|
- `--market`:`aShares` | `hkStocks` | `usChinaConcept` | `usStocks`
|
|
114
108
|
- `--research-area`:**行业码两套都生效**——citic `1008001xx` 和申万 `104xx0000`。申万码这点与多数 insight list 不同(那些只有 summary 认申万码)。⚠️ 反过来,**方向码 `122000xxx` 在本端点返 0**,别在这里传方向
|
|
115
109
|
- `--file-type`(download 可选):`1` 原始文件(默认)| `2` HTML;**只有这两种**
|
|
116
|
-
-
|
|
110
|
+
- 单页上限 50,CLI 按 50 自动翻页;省略 `--size` 拉全量
|
|
117
111
|
- 返回字段:`summaryId` / `title` / `brief`(摘要)/ `summaryTime`(纪要注明的生成时间)/ `publishTime`(发布时间)/ `categoryList` / `securityList[]{securityCode, securityName}` / `researchAreaList[]{researchAreaId, researchAreaName}` / `conceptList[]{conceptId, conceptName}` / `marketList`
|
|
118
112
|
- ⚠️ **`conceptList` / `categoryList` / `marketList` 三个标签字段稀疏,且是否有值随记录和查法而变**:
|
|
119
113
|
- **不带筛选时经常整条为空**,用 `--category` 或 `--market` 过滤时回填率明显更高(这两个字段是绑定的:用任一过滤,两个都会有值)。有值时给的是该记录的**全部**值(多市场纪要按 `aShares` 过滤也回 `["aShares","hkStocks"]`,不是"回显过滤值")
|
|
@@ -123,7 +117,7 @@ gangtise insight pamirs-summary download --summary-id <id> [--file-type <n>] [--
|
|
|
123
117
|
|
|
124
118
|
```bash
|
|
125
119
|
# 近一周的帕米尔纪要
|
|
126
|
-
gangtise insight pamirs-summary list --start-time 2026-08-01 --end-time 2026-08-07 --format table
|
|
120
|
+
gangtise insight pamirs-summary list --start-time "2026-08-01 00:00:00" --end-time "2026-08-07 23:59:59" --format table
|
|
127
121
|
|
|
128
122
|
# 全文搜 + 时间倒序,只要前 20 条
|
|
129
123
|
gangtise insight pamirs-summary list --keyword PCB --search-type 2 --rank-type 2 --size 20
|
|
@@ -142,8 +136,10 @@ gangtise insight strategy list [--institution <id>] [--location <id>]
|
|
|
142
136
|
gangtise insight forum list [--research-area <id>] [--location <id>]
|
|
143
137
|
```
|
|
144
138
|
|
|
139
|
+
- **积分**:列表 **20/条**——务必带 `--size`
|
|
140
|
+
|
|
145
141
|
- 共用:`--keyword` `--start-time` `--end-time` `--from` `--size` `--location`
|
|
146
|
-
- `--location`:城市/省份 ID(`reference constant-list --category domesticCity` 查,如 `156440000`
|
|
142
|
+
- `--location`:城市/省份 ID(`reference constant-list --category domesticCity` 查,如 `156440000` 广东省)。传省份 ID 会命中该省
|
|
147
143
|
- 路演 `--category`:`earningsCall` | `strategyMeeting` | `companyAnalysis` | `industryAnalysis` | `fundRoadshow`
|
|
148
144
|
- 调研 `--category`:`single` 单场 | `series` 系列
|
|
149
145
|
- 调研 `--object`(仅调研):`company` | `industry`
|
|
@@ -166,9 +162,9 @@ gangtise insight performance-calendar download --performance-report-id <id> [--o
|
|
|
166
162
|
- `--market` / `--category` 拼错 CLI 本地直接报错(不是静默返全量)——这两个参数的枚举值不必猜
|
|
167
163
|
- `--security`:证券代码,如 `000001.SZ`(可重复)
|
|
168
164
|
- 自动翻页(`{total,list}`,单页上限 50)。**不加任何筛选时 total 十万量级**(含未来已排期的财报日程)——CLI 因此要求至少一个约束:`--start-date` + `--end-date`、或 `--security`、或显式 `--size`,裸跑直接报 `ValidationError`(不发请求、不扣分)
|
|
169
|
-
- 只给 `--security`(不给日期/`--size`)时,CLI 额外套一个 **1000
|
|
165
|
+
- 只给 `--security`(不给日期/`--size`)时,CLI 额外套一个 **1000 行隐式上限**:单只证券的整段日历只有几十条,正常查询感知不到;筛选没有收窄时,结果会在 1000 行截断并标 `partial`(stderr 警告 + 退出码 3),而不是翻完全表。判据是 `total`:只有「取满 1000 行且 total 显示还有更多」才告警——恰好 1000 行且 total=1000 是完整结果,退出码仍是 0。看到告警说明筛选**可能**没生效,改用日期范围重查
|
|
170
166
|
- 返回字段:`performanceReportId`(下载用)/ `securityCodeList[]`(A+H 同时上市会有多个代码)/ `securityName` / `category` / `publishDate` / `title` / `hasAttachment`
|
|
171
|
-
- `publishDate` 返回的是 `yyyy-MM-dd 00:00:00
|
|
167
|
+
- `publishDate` 返回的是 `yyyy-MM-dd 00:00:00`,取日期请截前 10 位
|
|
172
168
|
- download:**只有 `hasAttachment: true` 的记录能下**(先 list 确认);省略 `--output` 用 title-cache 里的真实标题命名,**未命中不自动回查**,退回服务端文件名或 `<type>-<id>`。要回查加 `--resolve-title`——拉 200 条、按 0.1/条 约 20 积分,取回的标题会写回缓存供同批复用
|
|
173
169
|
- **积分**:list 0.1/条;download A 股 10/篇、港美股 20/篇
|
|
174
170
|
|
|
@@ -195,7 +191,9 @@ gangtise insight foreign-report list [--search-type <n>] [--rank-type <n>] [--se
|
|
|
195
191
|
gangtise insight foreign-report download --report-id <id> [--file-type <n>] [--output <path>]
|
|
196
192
|
```
|
|
197
193
|
|
|
198
|
-
-
|
|
194
|
+
- **积分**:列表 0.1/条;下载 50/篇
|
|
195
|
+
|
|
196
|
+
- `--region`:`cn` 中国 | `cnHk` 香港 | `us` 美国 | `jp` 日本 | `sea` 东南亚 | `gl` 全球 | `uk` 英国 | `kr` 韩国 | `in` 印度(完整列表见 `references/lookup-ids.md`)。⚠️ 写错区域码不会报错,会返回不按区域筛选的全量结果——传之前核对取值
|
|
199
197
|
- `--category` / `--llm-tag` / `--rating` / `--rating-change`:同研报
|
|
200
198
|
- `--file-type`(download):`1` 原始PDF | `2` Markdown | `3` 中文翻译PDF | `4` 中文翻译Markdown
|
|
201
199
|
|
|
@@ -206,9 +204,11 @@ gangtise insight announcement list [--search-type <n>] [--rank-type <n>] [--secu
|
|
|
206
204
|
gangtise insight announcement download --announcement-id <id> [--file-type <n>] [--output <path>]
|
|
207
205
|
```
|
|
208
206
|
|
|
207
|
+
- **积分**:列表 0.1/条;下载 10/篇
|
|
208
|
+
|
|
209
209
|
- `--category`:公告分类 ID,用 `reference constant-list --category aShareAnnouncementCategory` 查。常用:`103910200` 财务报告、`103910700` 股权股本、`103910201` 业绩预告、`103910703` 质押冻结、`103910803` 股权激励、`103910818` 股份增减持、`103910823` 问询函(完整列表见 `references/lookup-ids.md`)
|
|
210
210
|
- `--file-type`(download):`1` 原始PDF | `2` Markdown
|
|
211
|
-
- 时间过滤时区:本命令(A 股公告)会把 `--start-time`/`--end-time` 换算成毫秒时间戳发出,日期与时刻一律按**北京时间**解释,与运行机器的时区无关(UTC 云环境与本机结果相同);10
|
|
211
|
+
- 时间过滤时区:本命令(A 股公告)会把 `--start-time`/`--end-time` 换算成毫秒时间戳发出,日期与时刻一律按**北京时间**解释,与运行机器的时区无关(UTC 云环境与本机结果相同);13 位毫秒时间戳原样发出,10 位按秒换算成毫秒。其余 insight 列表把字符串直传服务端。
|
|
212
212
|
|
|
213
213
|
## 港股公告 `insight announcement-hk list/download`
|
|
214
214
|
|
|
@@ -217,6 +217,8 @@ gangtise insight announcement-hk list [--search-type <n>] [--rank-type <n>] [--s
|
|
|
217
217
|
gangtise insight announcement-hk download --announcement-id <id> [--file-type <n>] [--output <path>]
|
|
218
218
|
```
|
|
219
219
|
|
|
220
|
+
- **积分**:列表 0.1/条;下载 20/篇
|
|
221
|
+
|
|
220
222
|
- `--security`:港股代码,如 `01913.HK`(两位数字前缀需补零)
|
|
221
223
|
- `--category`:港股公告类型 ID(见 `references/lookup-ids.md`)
|
|
222
224
|
- `--file-type`(download):`1` 原始(默认)| `2` Markdown
|
|
@@ -229,7 +231,7 @@ gangtise insight announcement-us download --announcement-id <id> [--file-type <n
|
|
|
229
231
|
```
|
|
230
232
|
|
|
231
233
|
- `--security`:美股代码,如 `TSLA.O`(可重复)
|
|
232
|
-
- `--category`:美股公告分类 ID,用 `reference constant-list --category usShareAnnouncementCategory` 查(美股独立的 `103980xxx`
|
|
234
|
+
- `--category`:美股公告分类 ID,用 `reference constant-list --category usShareAnnouncementCategory` 查(美股独立的 `103980xxx` 段,一级分类:财务报告 / 证券发行 / 重大事项 / 交易提示 / 股本股东 / 股东大会 / 一般公告)
|
|
233
235
|
- `--file-type`(download):`1` 原始PDF(默认)| `2` Markdown
|
|
234
236
|
- **积分**:list 0.1/条;download 20/篇
|
|
235
237
|
- `--security TSLA.O` 的 `sourceName` 为「美国证券交易委员会」
|
|
@@ -241,6 +243,8 @@ gangtise insight foreign-opinion list [--rank-type <n>] [--security <code>] [--r
|
|
|
241
243
|
gangtise insight foreign-opinion detail --foreign-opinion-id <id> [--foreign-opinion-id <id>...]
|
|
242
244
|
```
|
|
243
245
|
|
|
246
|
+
- **积分**:列表 1/条(只含摘要);`--with-content` 30/条;`detail` 30/条
|
|
247
|
+
|
|
244
248
|
- 🔴 **列表只含摘要**:`brief`(英文)/ `briefTranslate`(中文),取正文前 200 字,**1 积分/条**。原文与译文(`content` / `contentTranslate`)用 `detail` 按 `foreignOpinionId` 取(**30 积分/条**),或 `list --with-content`(30 积分/条,`content` / `contentTranslate` 直接在顶层,不含 `brief`)。`detail` 的分批与缺失 ID 处理同内资 `opinion detail`
|
|
245
249
|
|
|
246
250
|
- `--security`:境外证券代码,如 `UBER.N`
|
|
@@ -257,6 +261,8 @@ gangtise insight independent-opinion list [--rank-type <n>] [--security <code>]
|
|
|
257
261
|
gangtise insight independent-opinion download --independent-opinion-id <id> --file-type <n> [--output <path>]
|
|
258
262
|
```
|
|
259
263
|
|
|
264
|
+
- **积分**:列表 **5/条**——务必带 `--size`;下载 30/篇
|
|
265
|
+
|
|
260
266
|
- `--security`:境外证券代码,如 `GSK.N`
|
|
261
267
|
- ⚠️ `--industry`:**只认申万码**(`104xx0000`),中信码报 `100005 枚举值非法`(同 `foreign-opinion`,见上)。返回记录的 `industryList[]` 两套码都带,回查挑申万那条
|
|
262
268
|
- `--rating` / `--rating-change`:同外资观点
|
|
@@ -270,6 +276,8 @@ gangtise insight official-account list [--search-type <n>] [--rank-type <n>] [--
|
|
|
270
276
|
gangtise insight official-account download --article-id <id> [--file-type <n>] [--output <path>]
|
|
271
277
|
```
|
|
272
278
|
|
|
279
|
+
- **积分**:列表 0.1/条;下载 10/篇
|
|
280
|
+
|
|
273
281
|
- `--search-type`:`1` 标题搜索(默认)| `2` 全文搜索
|
|
274
282
|
- `--account-id`:公众号 ID(取自 list 返回的 `accountId`),可多次传入限定账号
|
|
275
283
|
- `--category`:文章类型,可多选——`news` 新闻资讯 | `law` 法律法规 | `report` 报告类 | `view` 个人观点 | `data` 产业数据 | `event` 日程活动 | `meeting` 会议纪要 | `notice` 通知 | `recruit` 招聘 | `investEdu` 投资科普 | `brand` 品牌宣传 | `notes` 个人随笔 | `other` 其他
|
|
@@ -2,23 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
通用:`--field` 可重复(`--field open --field close`),可用字段见 `references/fields.md`。
|
|
4
4
|
|
|
5
|
-
**`--field` 字段名必须核对**:上游对不存在的字段名有两套处理——day-kline / minute-kline / fund-flow / realtime 把字段名和值**一起丢掉**(不报错,结果里就是少一列);`fundamental main-business` / `valuation-analysis` 则**只丢值、字段名照请求回显**,按位置拍平就把值贴到了错误的字段上。CLI 对后一种长度不匹配直接失败(退出码 1),不输出错位数据;对前一种比对请求与返回的列名,**缺列就标 `partial` + `missingFields`、退出码 3 并在 stderr 点名是哪几列**(字段名写错或已下线,按 `references/fields.md` 核对)。**不确定字段名就别传 `--field`**(返回全量最稳)。另外 `--field`
|
|
5
|
+
**`--field` 字段名必须核对**:上游对不存在的字段名有两套处理——day-kline / minute-kline / fund-flow / realtime 把字段名和值**一起丢掉**(不报错,结果里就是少一列);`fundamental main-business` / `valuation-analysis` 则**只丢值、字段名照请求回显**,按位置拍平就把值贴到了错误的字段上。CLI 对后一种长度不匹配直接失败(退出码 1),不输出错位数据;对前一种比对请求与返回的列名,**缺列就标 `partial` + `missingFields`、退出码 3 并在 stderr 点名是哪几列**(字段名写错或已下线,按 `references/fields.md` 核对)。**不确定字段名就别传 `--field`**(返回全量最稳)。另外 `--field` 只返回点名的列,所以**多只证券或全市场关键字**时 CLI 会补上区分行所需的列并在 stderr 说明:日 K 补 `securityCode` / `tradeDate`、分钟 K 补 `securityCode` / `tradeTime`、实时行情补 `securityCode`(需要时点自己加 `tradeDate` / `tradeTime`);单只证券按点名的列原样返回。`fund-flow` 由服务端自动附带 `securityCode` / `tradeDate`。
|
|
6
6
|
|
|
7
7
|
**关键规则**:查"最近"K线必须显式 `--start-date`/`--end-date` 拉范围,再从 `tradeDate` 取尾部最近 N 条;不要只用 `--limit N`(会截取查询窗口开头)。
|
|
8
8
|
|
|
9
|
-
🔴 **全市场关键字**:`quote day-kline` 不认 `--security all`,只认三个市场关键字之一——`aShares` / `hkStocks` / `usStocks`,且**必须单独传**(不能与证券代码或另一个关键字混填)。传 `all` 或混填 CLI
|
|
9
|
+
🔴 **全市场关键字**:`quote day-kline` 不认 `--security all`,只认三个市场关键字之一——`aShares` / `hkStocks` / `usStocks`,且**必须单独传**(不能与证券代码或另一个关键字混填)。传 `all` 或混填 CLI 会直接报错并提示正确写法。已弃用的旧命令里,`day-kline-hk` / `day-kline-us` 仍认 `all`;`index-day-kline` 对 `all` 返回空结果,CLI 在发请求前直接拒绝——**全部沪深京指数没有一次拿全的写法**,要逐个传指数代码。
|
|
10
10
|
|
|
11
|
-
**自动分片**:全市场关键字跨日期范围时 CLI
|
|
11
|
+
**自动分片**:全市场关键字跨日期范围时 CLI 自动按日切片并并发执行,合并结果返回,无需手动分批。**全市场关键字必须同时给 `--start-date` 与 `--end-date`**,缺一个 CLI 在发请求前拒绝(不分片的全市场请求会被接口以「查询规模过大」拒绝)。分片粒度按各市场单个交易日的行数规模定,保证单请求不撞 10000 行的 API 上限:
|
|
12
12
|
|
|
13
13
|
| 命令 | 全市场关键字 | 分片粒度 |
|
|
14
14
|
| :-- | :-- | :-- |
|
|
15
|
-
| `day-kline` | `aShares` | 1
|
|
16
|
-
| `day-kline` | `hkStocks` | 2
|
|
17
|
-
| `day-kline` | `usStocks` | 1
|
|
18
|
-
| `fund-flow` | `aShares` | 1
|
|
19
|
-
| `day-kline-hk` / `day-kline-us`(旧) | `all` | 2 / 1
|
|
15
|
+
| `day-kline` | `aShares` | 1 个工作日/片 |
|
|
16
|
+
| `day-kline` | `hkStocks` | 2 个工作日/片 |
|
|
17
|
+
| `day-kline` | `usStocks` | 1 个工作日/片 |
|
|
18
|
+
| `fund-flow` | `aShares` | 1 个工作日/片 |
|
|
19
|
+
| `day-kline-hk` / `day-kline-us`(旧) | `all` | 2 / 1 个工作日/片 |
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
分片路径在没传 `--limit` 时自动把它抬到 10000(API 上限),避免默认 6000 行截断;传了 `--limit` 就按每片生效,低于单日行数时每片都会截断(标 `partial`)。分片只数工作日:周六日不单独发请求,跨周末的一片(如周五 + 周一)照常覆盖两边的交易日。
|
|
22
22
|
|
|
23
23
|
**日K线历史性**:所有日K线接口仅返回**历史数据**,不提供实时行情。盘中实时数据请改用 `quote realtime`。当日数据入库时间:A 股约 15:30、港股约 16:30、美股约 07:00(北京时间)。
|
|
24
24
|
|
|
@@ -41,9 +41,9 @@ gangtise quote day-kline [--security <code>] [--start-date <YYYY-MM-DD>] [--end-
|
|
|
41
41
|
| 概念指数 | `.GT` | `880134.GT` 机器人 |
|
|
42
42
|
| 行业指数 | `.CI` 中信 / `.SWI` 申万(一二三级) | `821031.SWI` |
|
|
43
43
|
| ETF(沪深) | `.SH` `.SZ` | `512800.SH` 银行ETF、`159887.SZ` 银行ETF富国 |
|
|
44
|
-
| 全球指数 | 数据源后缀(`.SPI` `.N` `.O` `.NKI` `.HI` `.FRA`
|
|
44
|
+
| 全球指数 | 数据源后缀(`.SPI` `.N` `.O` `.NKI` `.HI` `.FRA` …),清单见下表 | `SPX.SPI` 标普500、`N225.NKI` 日经225、`HSI.HI` 恒生 |
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
**全球指数清单(`realtime` / `day-kline` / `minute-kline` 三接口通用)**——代码后缀是数据源码,不是交易所后缀,照抄即可:
|
|
47
47
|
|
|
48
48
|
| 代码 | 名称 | 代码 | 名称 |
|
|
49
49
|
| :-- | :-- | :-- | :-- |
|
|
@@ -62,14 +62,14 @@ gangtise quote day-kline [--security <code>] [--start-date <YYYY-MM-DD>] [--end-
|
|
|
62
62
|
|
|
63
63
|
- **全市场**:`--security aShares` / `hkStocks` / `usStocks`,**必须单独传**(见文件开头)。⚠️ **关键字只覆盖个股**:指数不支持全市场关键字,**`aShares` 也不含 ETF**——ETF 与各类指数都要逐个传代码
|
|
64
64
|
- 混市场查询时各证券只返回其所属交易所的交易日:春节期间 A 股休市而美股正常,则当期只有美股行;美国独立日反之
|
|
65
|
-
- `--limit` 默认 6000,上限 10000。**显式多证券且「证券数 ×
|
|
65
|
+
- `--limit` 默认 6000,上限 10000。**显式多证券且「证券数 × 交易日数」达到 `--limit` 时,CLI 自动分批请求并按传入顺序合并**(每批按行数上限装入尽量多的证券,未传 `--limit` 时上限按 10000 算;单只行数超过 `--limit` 的标 `partial` + `truncatedSecurities`);估算低于上限时仍是单请求,单请求的行按证券代码升序返回
|
|
66
66
|
- 常用字段:`open` `high` `low` `close` `pctChange` `volume` `amount` `adjustFactor`
|
|
67
67
|
- `adjustFactor` 复权因子:后复权价 = 不复权价 × `adjustFactor`;前复权价 = 不复权价 × `adjustFactor` ÷ 最新交易日的 `adjustFactor`。**指数无复权因子,该字段为 `null`**;ETF 有,EDE 的 `qte_adj_factor` 同样覆盖场内基金
|
|
68
68
|
- ETF 的 `volume` 单位是「份」(由「万份」× 10000 换算,可能有细微误差)
|
|
69
69
|
|
|
70
|
-
## ⚠️
|
|
70
|
+
## ⚠️ 已弃用的三个旧命令(仍可调用)
|
|
71
71
|
|
|
72
|
-
`quote day-kline-hk` / `quote day-kline-us` / `quote index-day-kline` 的能力已并入上面的 `day-kline
|
|
72
|
+
`quote day-kline-hk` / `quote day-kline-us` / `quote index-day-kline` 的能力已并入上面的 `day-kline`,CLI 标为已弃用,接口仍可调用。**新代码一律用 `day-kline`**,理由不止是少记三个命令:
|
|
73
73
|
|
|
74
74
|
- 旧命令**不校验证券代码**——传错代码返回空结果(`{"total":0,"list":[]}`)而不是报错,与「该票该区间真无数据」无法区分;`day-kline` 会报 `120001`
|
|
75
75
|
- 参数与字段和 `day-kline` 完全一致(`--security` / `--start-date` / `--end-date` / `--limit` / `--field`),迁移只是换命令名
|
|
@@ -81,7 +81,7 @@ gangtise quote day-kline [--security <code>] [--start-date <YYYY-MM-DD>] [--end-
|
|
|
81
81
|
gangtise quote realtime [--security <code>] [--field <name>]
|
|
82
82
|
```
|
|
83
83
|
|
|
84
|
-
- **覆盖三大市场 + ETF + 指数**:A 股 / 港股 / 美股个股、沪深 ETF(`512800.SH`)、交易所指数(`.SH`/`.SZ`/`.BJ`)、概念指数(`.GT`)、行业指数(`.CI`/`.SWI
|
|
84
|
+
- **覆盖三大市场 + ETF + 指数**:A 股 / 港股 / 美股个股、沪深 ETF(`512800.SH`)、交易所指数(`.SH`/`.SZ`/`.BJ`)、概念指数(`.GT`)、行业指数(`.CI`/`.SWI`)、全球指数(`SPX.SPI` / `N225.NKI` / `HSI.HI`…,清单见上方日 K 一节)可混合传入(如 `--security 600519.SH --security 00700.HK --security 512800.SH --security 880134.GT --security SPX.SPI`)
|
|
85
85
|
- **全市场关键字**:`--security aShares` 全部 A 股 / `hkStocks` 全部港股 / `usStocks` 全部美股,**必须单独传**(不能与代码或另一个关键字混填,CLI 会本地拦截);建议配合 `--field` 精简返回字段。⚠️ 关键字只覆盖个股:指数不支持全市场关键字,`aShares` 也不含 ETF
|
|
86
86
|
- 指数返回的是点位,无货币单位;概念 / 行业指数交易时间与 A 股一致
|
|
87
87
|
- **`tradeDate` / `tradeTime` 的时区**:A 股 / 港股 / ETF / 沪深各类指数为北京时间;**美股与全球指数是交易所当地时间**(美股收盘快照的 `tradeTime` 是 `16:00`,不是北京时间的凌晨)
|
|
@@ -101,18 +101,18 @@ gangtise quote fund-flow [--security <code>] [--start-date <YYYY-MM-DD>] [--end-
|
|
|
101
101
|
```
|
|
102
102
|
|
|
103
103
|
- A 股个股**日频**资金流向(沪深京 `.SH` / `.SZ` / `.BJ`),仅历史数据;交易日数据约 16:30 入库
|
|
104
|
-
- `--security`:证券代码(可重复),或 `aShares` 全市场 A 股(**须显式传 `--start-date`/`--end-date`**,CLI
|
|
104
|
+
- `--security`:证券代码(可重复),或 `aShares` 全市场 A 股(**须显式传 `--start-date`/`--end-date`**,CLI 按日自动分片并发合并;缺日期会本地报错)。⚠️ **多只代码不会逐只拆分**:一次请求、共用一个 `--limit`,证券数 × 交易日数超过 `--limit` 就会截断(标 `partial`、退出码 3)——按「证券数 × 交易日数 ≤ 10000」自己分批
|
|
105
105
|
- `--start-date` / `--end-date`:`yyyy-MM-dd`;省略时 `end-date` 默认最新交易日、`start-date` 默认往前 1 年
|
|
106
106
|
- `--limit`:默认 6000,**上限 10000**(超 10000 本地直接报错)
|
|
107
107
|
- **单只证券**:接口无翻页,返回行数撞上 `--limit` 时结果标 `partial`、退出码 3、stderr 警告——缩小日期区间分批拉取
|
|
108
|
-
- **`aShares`
|
|
108
|
+
- **`aShares` 全市场**(单日数千行):**须显式传 `--start-date`/`--end-date`**,CLI 按日自动分片并发合并、无需手动分批(缺日期的全市场请求会被接口以 `100003`「查询规模过大」拒绝,CLI 在发请求前就报错)
|
|
109
109
|
- `--field`:指定返回字段(`securityCode` / `tradeDate` 默认返回,恒在最前);不传返回全部
|
|
110
110
|
- 小/中/大/特大单:`{small|medium|large|xlarge}{Inflow|Outflow|NetInflow|InflowRatio|OutflowRatio}`
|
|
111
111
|
- 汇总与主力:`total{Inflow|Outflow|NetInflow}` / `main{Inflow|Outflow|NetInflow|InflowRatio|OutflowRatio}`(主力 = 大单 + 特大单)
|
|
112
112
|
- 金额单位:元;占比单位:%(各分类流入占比之和 = 100)
|
|
113
113
|
- 无积分消耗
|
|
114
114
|
|
|
115
|
-
## 指数日 K 线 `quote index-day-kline`(⚠️
|
|
115
|
+
## 指数日 K 线 `quote index-day-kline`(⚠️ 已弃用,改用 `day-kline`)
|
|
116
116
|
|
|
117
117
|
```bash
|
|
118
118
|
gangtise quote index-day-kline [--security <code>] [--start-date <YYYY-MM-DD>] [--end-date <YYYY-MM-DD>] [--limit <n>] [--field <name>]
|
|
@@ -130,7 +130,7 @@ gangtise quote index-day-kline [--security <code>] [--start-date <YYYY-MM-DD>] [
|
|
|
130
130
|
gangtise quote minute-kline --security <code> [--start-time <datetime>] [--end-time <datetime>] [--limit <n>] [--field <name>]
|
|
131
131
|
```
|
|
132
132
|
|
|
133
|
-
- 支持**沪深** A 股个股(`.SH` / `.SZ`,不含北交所)、沪深 ETF(`512800.SH`)、交易所指数(`.SH` / `.SZ`)、概念指数(`.GT`)、行业指数(`.CI` / `.SWI
|
|
133
|
+
- 支持**沪深** A 股个股(`.SH` / `.SZ`,不含北交所)、沪深 ETF(`512800.SH`)、交易所指数(`.SH` / `.SZ`)、概念指数(`.GT`)、行业指数(`.CI` / `.SWI`)、全球指数(`SPX.SPI` / `N225.NKI` / `HSI.HI`…,清单见日 K 一节);**必须传 `--security`**(缺了 CLI 在本地报错)
|
|
134
134
|
- `--security` 可重复传多只:接口一次只收一只,CLI 逐只并发请求后按传入顺序合并;任一只撞上 `--limit` 时结果标 `partial` + `truncatedSecurities`、退出码 3
|
|
135
135
|
- `--start-time` / `--end-time`:`yyyy-MM-dd HH:mm:ss`(兼容 `yyyy-MM-dd` 自动补全)
|
|
136
136
|
- `--limit` 默认 6000,上限 10000
|