stock-sdk 1.0.0

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.
@@ -0,0 +1,177 @@
1
+ /**
2
+ * A 股 / 指数 全量行情
3
+ */
4
+ export interface FullQuote {
5
+ /** 市场标识 */
6
+ marketId: string;
7
+ /** 名称 */
8
+ name: string;
9
+ /** 股票代码 */
10
+ code: string;
11
+ /** 最新价 */
12
+ price: number;
13
+ /** 昨收 */
14
+ prevClose: number;
15
+ /** 今开 */
16
+ open: number;
17
+ /** 成交量(手) */
18
+ volume: number;
19
+ /** 外盘 */
20
+ outerVolume: number;
21
+ /** 内盘 */
22
+ innerVolume: number;
23
+ /** 买一~买五 { price, volume }[] */
24
+ bid: {
25
+ price: number;
26
+ volume: number;
27
+ }[];
28
+ /** 卖一~卖五 { price, volume }[] */
29
+ ask: {
30
+ price: number;
31
+ volume: number;
32
+ }[];
33
+ /** 时间戳 yyyyMMddHHmmss */
34
+ time: string;
35
+ /** 涨跌额 */
36
+ change: number;
37
+ /** 涨跌幅% */
38
+ changePercent: number;
39
+ /** 最高 */
40
+ high: number;
41
+ /** 最低 */
42
+ low: number;
43
+ /** 成交量(手) (字段36) */
44
+ volume2: number;
45
+ /** 成交额(万) */
46
+ amount: number;
47
+ /** 换手率% */
48
+ turnoverRate: number | null;
49
+ /** 市盈率 */
50
+ pe: number | null;
51
+ /** 流通市值(亿) */
52
+ circulatingMarketCap: number | null;
53
+ /** 总市值(亿) */
54
+ totalMarketCap: number | null;
55
+ /** 市净率 */
56
+ pb: number | null;
57
+ /** 涨停价 */
58
+ limitUp: number | null;
59
+ /** 跌停价 */
60
+ limitDown: number | null;
61
+ /** 原始字段数组(供扩展使用) */
62
+ raw: string[];
63
+ }
64
+ /**
65
+ * 简要行情(股票 / 指数)
66
+ */
67
+ export interface SimpleQuote {
68
+ marketId: string;
69
+ name: string;
70
+ code: string;
71
+ price: number;
72
+ change: number;
73
+ changePercent: number;
74
+ volume: number;
75
+ amount: number;
76
+ /** 总市值(亿) */
77
+ marketCap: number | null;
78
+ /** 市场类型标识 如 GP-A / ZS */
79
+ marketType: string;
80
+ raw: string[];
81
+ }
82
+ /**
83
+ * 资金流向
84
+ */
85
+ export interface FundFlow {
86
+ code: string;
87
+ /** 主力流入 */
88
+ mainInflow: number;
89
+ /** 主力流出 */
90
+ mainOutflow: number;
91
+ /** 主力净流入 */
92
+ mainNet: number;
93
+ /** 主力净流入占比 */
94
+ mainNetRatio: number;
95
+ /** 散户流入 */
96
+ retailInflow: number;
97
+ /** 散户流出 */
98
+ retailOutflow: number;
99
+ /** 散户净流入 */
100
+ retailNet: number;
101
+ /** 散户净流入占比 */
102
+ retailNetRatio: number;
103
+ /** 总资金流 */
104
+ totalFlow: number;
105
+ name: string;
106
+ date: string;
107
+ raw: string[];
108
+ }
109
+ /**
110
+ * 盘口大单占比
111
+ */
112
+ export interface PanelLargeOrder {
113
+ /** 买盘大单占比 */
114
+ buyLargeRatio: number;
115
+ /** 买盘小单占比 */
116
+ buySmallRatio: number;
117
+ /** 卖盘大单占比 */
118
+ sellLargeRatio: number;
119
+ /** 卖盘小单占比 */
120
+ sellSmallRatio: number;
121
+ raw: string[];
122
+ }
123
+ /**
124
+ * 港股扩展行情
125
+ */
126
+ export interface HKQuote {
127
+ marketId: string;
128
+ name: string;
129
+ code: string;
130
+ price: number;
131
+ prevClose: number;
132
+ open: number;
133
+ volume: number;
134
+ time: string;
135
+ change: number;
136
+ changePercent: number;
137
+ high: number;
138
+ low: number;
139
+ amount: number;
140
+ lotSize: number | null;
141
+ circulatingMarketCap: number | null;
142
+ totalMarketCap: number | null;
143
+ currency: string;
144
+ raw: string[];
145
+ }
146
+ /**
147
+ * 美股简要行情
148
+ */
149
+ export interface USQuote {
150
+ marketId: string;
151
+ name: string;
152
+ code: string;
153
+ price: number;
154
+ change: number;
155
+ changePercent: number;
156
+ volume: number;
157
+ amount: number;
158
+ marketCap: number | null;
159
+ raw: string[];
160
+ }
161
+ /**
162
+ * 公募基金行情
163
+ */
164
+ export interface FundQuote {
165
+ code: string;
166
+ name: string;
167
+ /** 最新单位净值 */
168
+ nav: number;
169
+ /** 累计净值 */
170
+ accNav: number;
171
+ /** 当日涨跌额 */
172
+ change: number;
173
+ /** 净值日期 */
174
+ navDate: string;
175
+ raw: string[];
176
+ }
177
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/new-doc.md ADDED
@@ -0,0 +1,98 @@
1
+ # qt.gtimg.cn 接口验证版(2025-12-10)
2
+
3
+ > 本文基于实际请求 `qt.gtimg.cn`(2025-12-10 14:43 CST)验证所得,均为 GBK 编码返回,需先 GBK/GB2312 解码后再解析。所有示例均为实时数据,数值会随时间变化。
4
+
5
+ ## 通用说明
6
+ - 请求:`GET http://qt.gtimg.cn/q=<参数串>`,多个标的用英文逗号`,`拼接。
7
+ - 返回:若成功,为若干行 `v_<query>="字段~字段~..."`,字段以 `~` 分隔,行以 `;` 结束。
8
+ - 解析建议:按 `;` 拆行 → 去掉前缀 `v_`、两端引号 → 按 `~` 拆字段;不同前缀对应不同字段布局。
9
+
10
+ ## 接口验证与修正
11
+
12
+ ### 1) 实时全量行情 `q=<market><code>`
13
+ - 示例:`http://qt.gtimg.cn/q=sz000858`
14
+ - 返回示例:
15
+ ```
16
+ v_sz000858="51~五 粮 液~000858~111.70~110.88~110.50~167220~88174~79034~111.69~57~111.68~190~...~20251210144239~0.82~0.74~111.75~109.51~111.70/167220/1856027539~167220~185603~0.43~15.25~~111.75~109.51~..."
17
+ ```
18
+ - 已确认字段位置(仅列常用):
19
+ - 0 市场标识;1 名称;2 代码
20
+ - 3 最新价;4 昨收;5 今开
21
+ - 6 成交量(手);7 外盘;8 内盘
22
+ - 9–18 买一~买五价及量;19–28 卖一~卖五价及量
23
+ - 30 时间戳 `yyyyMMddHHmmss`
24
+ - 31 涨跌额;32 涨跌幅%
25
+ - 33 最高;34 最低
26
+ - 35 价格/成交量/成交额组合字段 `现价/量/额`
27
+ - 36 成交量(手);37 成交额(万)
28
+ - 44 流通市值;45 总市值;46 市净率;47 涨停价;48 跌停价
29
+ - 结论:与原文档描述基本一致,确认保留。
30
+
31
+ ### 2) 简要行情 `q=s_<market><code>`
32
+ - 示例:`http://qt.gtimg.cn/q=s_sz000858`
33
+ - 返回示例:`v_s_sz000858="51~五 粮 液~000858~111.69~0.81~0.73~167222~185605~~4335.37~GP-A";`
34
+ - 字段顺序修正(对照原文档):
35
+ - 0 市场标识;1 名称;2 代码;3 最新价
36
+ - 4 涨跌额;5 涨跌幅%
37
+ - 6 成交量(手);7 成交额(万)
38
+ - 8、9 为空;10 可能为总市值(亿);11 市场类型标识
39
+ - 结论:原文档“8+ 其他”过于笼统,此处补充实际位置。
40
+
41
+ ### 3) 资金流向 `q=ff_<market><code>`
42
+ - 示例:`http://qt.gtimg.cn/q=ff_sz000858`
43
+ - 返回示例:`v_ff_sz000858="sz000858~0.00~0.00~0.00~0~0.00~0.00~0.00~0~0.00~98032.62~81719.27~五粮液~20200701~20191218^30622.71^18574.01~...~20200701085013";`
44
+ - 字段修正:
45
+ - 0 代码;1 主力流入;2 主力流出;3 主力净流入;4 主力净流入占比
46
+ - 5 散户流入;6 散户流出;7 散户净流入;8 散户净流入占比
47
+ - 9 总资金流;10 日主力累计;11 日散户累计
48
+ - 12 名称;13 最新日期
49
+ - 14 以后为历史记录,形如 `YYYYMMDD^主力^散户`
50
+ - 结论:与原文档字段描述一致,但补充了 10、11、14+ 的含义。
51
+
52
+ ### 4) 盘口大单占比 `q=s_pk<market><code>`
53
+ - 示例:`http://qt.gtimg.cn/q=s_pksz000858`
54
+ - 返回示例:`v_s_pksz000858="0.260~0.247~0.259~0.234";`
55
+ - 字段:0 买盘大单占比;1 买盘小单占比;2 卖盘大单占比;3 卖盘小单占比
56
+ - 结论:与原文档一致。
57
+
58
+ ### 5) 港股扩展行情 `q=r_hk<code>`
59
+ - 示例:`http://qt.gtimg.cn/q=r_hk09988`
60
+ - 返回示例(节选):`v_r_hk09988="100~阿里巴巴-W~09988~152.800~150.900~150.500~44409902.0~...~2025/12/10 14:42:41~1.900~1.26~153.400~149.600~152.800~44409902.0~6732214501.100~...~HKD~1~30";`
61
+ - 关键字段(实测):
62
+ - 0 市场标识 100;1 名称;2 代码;3 最新价;4 昨收;5 今开
63
+ - 6 成交量(股);30 时间 `YYYY/MM/DD HH:MM:SS`
64
+ - 31 涨跌额;32 涨跌幅%;33 最高;34 最低
65
+ - 36 成交额;40 每手股数;46 流通市值;47 总市值;尾部货币/精度等
66
+ - 结论:原文档仅笼统描述,现补充关键字段与时间格式。
67
+
68
+ ### 6) 美股简要行情 `q=s_us<code>`
69
+ - 示例:`http://qt.gtimg.cn/q=s_usBABA`
70
+ - 返回示例:`v_s_usBABA="200~阿里巴巴~BABA.N~155.96~-2.17~-1.37~6458051~1005193830~3721.26216~";`
71
+ - 字段顺序(实测):
72
+ - 0 市场标识 200;1 名称;2 代码;3 最新价
73
+ - 4 涨跌额;5 涨跌幅%;6 成交量(股);7 成交额
74
+ - 8 总市值(亿);9 预留/空
75
+ - 结论:补充了成交额、总市值的位置。
76
+
77
+ ### 7) 公募基金行情 `q=jj<六位代码>`
78
+ - 示例:`http://qt.gtimg.cn/q=jj000001`
79
+ - 返回示例:`v_jj000001="000001~华夏成长混合~0.0000~0.0000~~1.0590~3.6320~0.0945~2025-12-09~";`
80
+ - 实测字段:
81
+ - 0 基金代码;1 名称
82
+ - 2、3 旧净值位(多数为 0);4 为空
83
+ - 5 最新单位净值;6 累计净值;7 当日涨跌额;8 净值日期
84
+ - 结论:原文档未给出具体索引,此处补齐。
85
+
86
+ ### 8) 指数简要行情 `q=s_<market><index>`
87
+ - 示例:`http://qt.gtimg.cn/q=s_sh000001`
88
+ - 返回示例:`v_s_sh000001="1~上证指数~000001~3902.76~-6.76~-0.17~457931830~67455017~~634972.69~ZS";`
89
+ - 字段顺序(与股票简要类似):
90
+ - 0 市场标识;1 名称;2 代码;3 指数点位
91
+ - 4 涨跌点;5 涨跌幅%;6 成交量(手);7 成交额(万)
92
+ - 8、9 空;10 总市值或成交额扩展;11 市场/类型标识
93
+ - 结论:补充了指数简要的字段位置说明。
94
+
95
+ ## 结论
96
+ - 原文档总体方向正确,但简要行情、资金流向、港股扩展、美股简要、基金、指数简要的字段位置需按上表修正。
97
+ - 所有接口均确认可多标的逗号批量查询,返回顺序与请求顺序一致。
98
+