levistock 0.1.0__tar.gz

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.
Files changed (50) hide show
  1. levistock-0.1.0/LICENSE +21 -0
  2. levistock-0.1.0/PKG-INFO +651 -0
  3. levistock-0.1.0/README.md +639 -0
  4. levistock-0.1.0/levistock/__init__.py +105 -0
  5. levistock-0.1.0/levistock/market/__init__.py +0 -0
  6. levistock-0.1.0/levistock/market/market_emotion_cls.py +126 -0
  7. levistock-0.1.0/levistock/market/market_index_em.py +176 -0
  8. levistock-0.1.0/levistock/market/market_wind_cls.py +205 -0
  9. levistock-0.1.0/levistock/news/__init__.py +0 -0
  10. levistock-0.1.0/levistock/news/news_cls.py +201 -0
  11. levistock-0.1.0/levistock/sector/__init__.py +0 -0
  12. levistock-0.1.0/levistock/sector/sector_cls.py +105 -0
  13. levistock-0.1.0/levistock/sector/sector_em.py +317 -0
  14. levistock-0.1.0/levistock/sector/sector_kph.py +256 -0
  15. levistock-0.1.0/levistock/stock/__init__.py +0 -0
  16. levistock-0.1.0/levistock/stock/stock_changes_em.py +301 -0
  17. levistock-0.1.0/levistock/stock/stock_em.py +158 -0
  18. levistock-0.1.0/levistock/stock/stock_hot_ths.py +186 -0
  19. levistock-0.1.0/levistock/stock/stock_kline_cls.py +221 -0
  20. levistock-0.1.0/levistock/stock/stock_spot_em.py +149 -0
  21. levistock-0.1.0/levistock/stock/stock_strategy_wencai.py +117 -0
  22. levistock-0.1.0/levistock/stock/stock_zt_cls.py +93 -0
  23. levistock-0.1.0/levistock/stock/stock_zt_em.py +138 -0
  24. levistock-0.1.0/levistock/utils/__init__.py +0 -0
  25. levistock-0.1.0/levistock/utils/trade_day.py +40 -0
  26. levistock-0.1.0/levistock.egg-info/PKG-INFO +651 -0
  27. levistock-0.1.0/levistock.egg-info/SOURCES.txt +48 -0
  28. levistock-0.1.0/levistock.egg-info/dependency_links.txt +1 -0
  29. levistock-0.1.0/levistock.egg-info/requires.txt +2 -0
  30. levistock-0.1.0/levistock.egg-info/top_level.txt +1 -0
  31. levistock-0.1.0/pyproject.toml +16 -0
  32. levistock-0.1.0/setup.cfg +4 -0
  33. levistock-0.1.0/tests/test_changes.py +15 -0
  34. levistock-0.1.0/tests/test_cls_news.py +69 -0
  35. levistock-0.1.0/tests/test_hot.py +6 -0
  36. levistock-0.1.0/tests/test_init.py +4 -0
  37. levistock-0.1.0/tests/test_market_emotion.py +10 -0
  38. levistock-0.1.0/tests/test_market_index.py +11 -0
  39. levistock-0.1.0/tests/test_market_wind.py +17 -0
  40. levistock-0.1.0/tests/test_news.py +18 -0
  41. levistock-0.1.0/tests/test_sector_cls.py +10 -0
  42. levistock-0.1.0/tests/test_sector_em.py +20 -0
  43. levistock-0.1.0/tests/test_sector_kph.py +11 -0
  44. levistock-0.1.0/tests/test_spot.py +5 -0
  45. levistock-0.1.0/tests/test_stock.py +9 -0
  46. levistock-0.1.0/tests/test_stock_kline_cls.py +21 -0
  47. levistock-0.1.0/tests/test_stock_strategy_wencai.py +5 -0
  48. levistock-0.1.0/tests/test_trade_day.py +6 -0
  49. levistock-0.1.0/tests/test_zt.py +20 -0
  50. levistock-0.1.0/tests/test_zt_cls.py +6 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 fleetinglife
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,651 @@
1
+ Metadata-Version: 2.4
2
+ Name: levistock
3
+ Version: 0.1.0
4
+ Summary: A股市场数据SDK
5
+ License: MIT
6
+ Requires-Python: >=3.8
7
+ Description-Content-Type: text/markdown
8
+ License-File: LICENSE
9
+ Requires-Dist: requests>=2.28.0
10
+ Requires-Dist: tqdm>=4.0.0
11
+ Dynamic: license-file
12
+
13
+ # levistock
14
+
15
+ A股市场数据 SDK,封装东方财富、财联社、同花顺、开盘红、i问财常用接口。
16
+
17
+ ## 安装
18
+
19
+ ```bash
20
+ pip install levistock
21
+ ```
22
+
23
+ 或从 GitHub 安装最新版:
24
+
25
+ ```bash
26
+ pip install git+https://github.com/levizhang/levistock.git
27
+ ```
28
+
29
+ ## 快速开始
30
+
31
+ ```python
32
+ import levistock as lk
33
+
34
+ # 大盘指数
35
+ lk.market_index_em()
36
+
37
+ # 涨停池
38
+ lk.stock_zt_pool_em()
39
+
40
+ # 行业板块
41
+ lk.sector_em()
42
+ ```
43
+
44
+ ---
45
+
46
+ ## 接口文档
47
+
48
+ ### 工具
49
+
50
+ #### `is_trade_day()`
51
+
52
+ 判断今天是否为A股交易日。
53
+
54
+ ```python
55
+ if lk.is_trade_day():
56
+ print("今天是交易日")
57
+ ```
58
+
59
+ | 返回值 | 说明 |
60
+ |--------|------|
61
+ | `bool` | True=交易日,False=非交易日 |
62
+
63
+ ---
64
+
65
+ ### 大盘 market
66
+
67
+ #### `market_index_em()`
68
+
69
+ 获取A股常用大盘指数实时行情(东方财富),返回上证指数、深证成指、创业板指、科创50、沪深300、中证500。
70
+
71
+ ```python
72
+ data = lk.market_index_em()
73
+ for item in data:
74
+ print(f"{item['name']}: {item['price']} ({item['change_pct']}%)")
75
+ ```
76
+
77
+ | 字段 | 说明 |
78
+ |------|------|
79
+ | name | 指数名称 |
80
+ | code | 指数代码 |
81
+ | price | 最新价 |
82
+ | change_pct | 涨跌幅(%) |
83
+ | change_amt | 涨跌额 |
84
+ | volume | 成交量 |
85
+ | amount | 成交额(元) |
86
+ | high | 最高价 |
87
+ | low | 最低价 |
88
+ | open | 开盘价 |
89
+ | pre_close | 昨收价 |
90
+
91
+ ---
92
+
93
+ #### `market_index_all_em()`
94
+
95
+ 获取全部大盘指数,字段同 `market_index_em()`。
96
+
97
+ ```python
98
+ data = lk.market_index_all_em()
99
+ print(f"共 {len(data)} 个指数")
100
+ ```
101
+
102
+ ---
103
+
104
+ #### `market_emotion_cls()`
105
+
106
+ 获取A股市场情绪数据(财联社),包含涨跌分布、封板率、连板梯队等。
107
+
108
+ ```python
109
+ data = lk.market_emotion_cls()
110
+ print(f"市场热度: {data['market_degree']}")
111
+ print(f"上涨家数: {data['up_down_dis']['rise_num']}")
112
+ print(f"涨停家数: {data['up_down_dis']['up_num']}")
113
+ print(f"封板率: {data['up_ratio']}")
114
+ ```
115
+
116
+ | 字段 | 说明 |
117
+ |------|------|
118
+ | market_degree | 市场热度(0-100) |
119
+ | shsz_balance | 两市成交额 |
120
+ | shsz_balance_change_px | 较上日成交额变化 |
121
+ | up_ratio | 封板率 |
122
+ | up_ratio_num | 封板数量 |
123
+ | up_open_num | 炸板数量 |
124
+ | performance | 昨涨停今表现 |
125
+ | up_open_ratio | 高开率 |
126
+ | profit_ratio | 获利率 |
127
+ | up_down_dis | 涨跌分布(dict) |
128
+ | limit_up_board | 连板梯队(dict) |
129
+
130
+ ---
131
+
132
+ #### `market_wind_cls()`
133
+
134
+ 获取今日风口板块列表(财联社)。
135
+
136
+ ```python
137
+ data = lk.market_wind_cls()
138
+ for item in data:
139
+ print(f"{item['plate_name']}: {item['catalyst'][:30]}...")
140
+ ```
141
+
142
+ | 字段 | 说明 |
143
+ |------|------|
144
+ | plate_code | 板块代码 |
145
+ | plate_name | 板块名称 |
146
+ | catalyst | 催化剂描述 |
147
+
148
+ ---
149
+
150
+ #### `market_wind_stocks_cls(plate_code)`
151
+
152
+ 获取风口板块龙头股(财联社)。
153
+
154
+ | 参数 | 说明 |
155
+ |------|------|
156
+ | plate_code | 板块代码,通过 `market_wind_cls()` 获取 |
157
+
158
+ ```python
159
+ wind = lk.market_wind_cls()
160
+ stocks = lk.market_wind_stocks_cls(wind[0]["plate_code"])
161
+ ```
162
+
163
+ | 字段 | 说明 |
164
+ |------|------|
165
+ | secu_code | 股票代码(含市场前缀) |
166
+ | secu_name | 股票名称 |
167
+ | last_px | 现价 |
168
+ | change | 涨跌幅 |
169
+ | continuous | 连板次数 |
170
+
171
+ ---
172
+
173
+ #### `market_mainline_cls()`
174
+
175
+ 获取今日主线机会(财联社),返回主线题材、板块及龙头股。
176
+
177
+ ```python
178
+ data = lk.market_mainline_cls()
179
+ print(data)
180
+ ```
181
+
182
+ ---
183
+
184
+ ### 板块 sector
185
+
186
+ #### `sector_em(sector_type="industry")`
187
+
188
+ 获取A股板块列表(东方财富),支持行业板块和概念板块。
189
+
190
+ | 参数 | 说明 |
191
+ |------|------|
192
+ | sector_type | `"industry"` 行业板块(默认),`"concept"` 概念板块 |
193
+
194
+ ```python
195
+ # 行业板块
196
+ industry = lk.sector_em()
197
+
198
+ # 概念板块
199
+ concept = lk.sector_em(sector_type="concept")
200
+ ```
201
+
202
+ | 字段 | 说明 |
203
+ |------|------|
204
+ | sector_code | 板块代码 |
205
+ | sector_name | 板块名称 |
206
+ | change_pct | 涨跌幅(%) |
207
+ | amount | 成交额(元) |
208
+ | main_inflow | 主力净流入(元) |
209
+ | lead_stock_name | 领涨股名称 |
210
+ | lead_stock_code | 领涨股代码 |
211
+ | lead_stock_chg | 领涨股涨跌幅(%) |
212
+ | up_count | 上涨家数 |
213
+ | down_count | 下跌家数 |
214
+
215
+ ---
216
+
217
+ #### `sector_stocks_em(sector_code)`
218
+
219
+ 获取板块成分股(东方财富),行业板块和概念板块通用。
220
+
221
+ | 参数 | 说明 |
222
+ |------|------|
223
+ | sector_code | 板块代码,如 `"BK1033"` |
224
+
225
+ ```python
226
+ stocks = lk.sector_stocks_em("BK1033")
227
+ ```
228
+
229
+ | 字段 | 说明 |
230
+ |------|------|
231
+ | stock_code | 股票代码 |
232
+ | stock_name | 股票名称 |
233
+
234
+ ---
235
+
236
+ #### `sector_stock_belong_em(stock_codes)`
237
+
238
+ 批量查询股票所属行业板块(东方财富)。
239
+
240
+ | 参数 | 说明 |
241
+ |------|------|
242
+ | stock_codes | 股票代码列表,如 `["000001", "600001"]` |
243
+
244
+ ```python
245
+ data = lk.sector_stock_belong_em(["000001", "600001", "300001"])
246
+ for item in data:
247
+ print(f"{item['stock_name']} → {item['sector_name']}")
248
+ ```
249
+
250
+ | 字段 | 说明 |
251
+ |------|------|
252
+ | stock_code | 股票代码 |
253
+ | stock_name | 股票名称 |
254
+ | sector_name | 所属行业板块 |
255
+
256
+ ---
257
+
258
+ #### `sector_industry_cls()`
259
+
260
+ 获取A股行业板块实时行情(财联社),按涨跌幅从高到低排序。
261
+
262
+ ```python
263
+ data = lk.sector_industry_cls()
264
+ # 按主力净流入排序
265
+ sorted_data = sorted(data, key=lambda x: x["main_fund_diff"], reverse=True)
266
+ ```
267
+
268
+ | 字段 | 说明 |
269
+ |------|------|
270
+ | secu_name | 板块名称 |
271
+ | secu_code | 板块代码 |
272
+ | change | 涨跌幅 |
273
+ | main_fund_diff | 主力净流入(元) |
274
+ | limit_up | 上涨家数 |
275
+ | limit_down | 下跌家数 |
276
+ | limit_up_num | 涨停家数 |
277
+ | limit_down_num | 跌停家数 |
278
+ | first_stock | 领涨股信息(dict) |
279
+
280
+ ---
281
+
282
+ #### `sector_ranking_kph(date)`
283
+
284
+ 获取历史精选板块列表(开盘红),仅支持历史日期。
285
+
286
+ | 参数 | 说明 |
287
+ |------|------|
288
+ | date | 交易日期,格式 `"YYYY-MM-DD"`,必须小于今天 |
289
+
290
+ ```python
291
+ data = lk.sector_ranking_kph(date="2026-05-06")
292
+ ```
293
+
294
+ | 字段 | 说明 |
295
+ |------|------|
296
+ | plate_id | 板块ID |
297
+ | plate_name | 板块名称 |
298
+ | change_pct | 涨跌幅(%) |
299
+ | amount | 成交额(元) |
300
+ | net_inflow | 净流入(元) |
301
+ | turnover_rate | 换手率(%) |
302
+ | stock_count | 成分股数量 |
303
+
304
+ ---
305
+
306
+ #### `sector_ranking_stocks_kph(plate_id, date)`
307
+
308
+ 获取精选板块内股票详情(开盘红),每个板块返回前20条。
309
+
310
+ | 参数 | 说明 |
311
+ |------|------|
312
+ | plate_id | 板块ID,通过 `sector_ranking_kph()` 获取 |
313
+ | date | 交易日期,格式 `"YYYY-MM-DD"`,必须小于今天 |
314
+
315
+ ```python
316
+ plates = lk.sector_ranking_kph(date="2026-05-06")
317
+ stocks = lk.sector_ranking_stocks_kph(plates[0]["plate_id"], date="2026-05-06")
318
+ ```
319
+
320
+ | 字段 | 说明 |
321
+ |------|------|
322
+ | code | 股票代码 |
323
+ | name | 股票名称 |
324
+ | price | 现价 |
325
+ | change_pct | 涨跌幅(%) |
326
+ | amount | 成交额(元) |
327
+ | main_net | 主力净额(元) |
328
+ | limit_tag | 板块标签 |
329
+ | rank_tag | 龙虎榜标签 |
330
+ | chg_1d | 1日涨幅(%) |
331
+ | chg_5d | 5日涨幅(%) |
332
+ | chg_20d | 20日涨幅(%) |
333
+
334
+ ---
335
+
336
+ ### 股票 stock
337
+
338
+ #### `stock_zh_spot_em(filter_st=True)`
339
+
340
+ 获取A股全量实时行情(东方财富)。
341
+
342
+ | 参数 | 说明 |
343
+ |------|------|
344
+ | filter_st | 是否过滤ST股,默认 `True` |
345
+
346
+ ```python
347
+ data = lk.stock_zh_spot_em()
348
+ print(f"股票数: {len(data)}")
349
+ ```
350
+
351
+ | 字段 | 说明 |
352
+ |------|------|
353
+ | stock_code | 股票代码 |
354
+ | stock_name | 股票名称 |
355
+ | price | 现价 |
356
+ | change_pct | 涨跌幅(%) |
357
+ | change_amt | 涨跌额 |
358
+ | volume | 成交量(手) |
359
+ | amount | 成交额(元) |
360
+ | turnover_rate | 换手率(%) |
361
+ | pe_ttm | 市盈率TTM |
362
+ | volume_ratio | 量比 |
363
+ | high | 最高价 |
364
+ | low | 最低价 |
365
+ | open | 开盘价 |
366
+ | pre_close | 昨收价 |
367
+ | total_market | 总市值(元) |
368
+ | circ_market | 流通市值(元) |
369
+ | pb | 市净率PB |
370
+
371
+ ---
372
+
373
+ #### `stock_spot_em(stock_codes)`
374
+
375
+ 获取指定股票实时行情(东方财富),最多支持100只。
376
+
377
+ | 参数 | 说明 |
378
+ |------|------|
379
+ | stock_codes | 股票代码列表,如 `["000001", "600001"]`,最多100只 |
380
+
381
+ ```python
382
+ data = lk.stock_spot_em(["000001", "600001", "300001"])
383
+ for item in data:
384
+ print(f"{item['stock_name']}: {item['price']} ({item['change_pct']}%)")
385
+ ```
386
+
387
+ 字段同 `stock_zh_spot_em()`。
388
+
389
+ ---
390
+
391
+ #### `stock_zt_pool_em(date=None)`
392
+
393
+ 获取涨停板股票池(东方财富),支持历史日期查询。
394
+
395
+ | 参数 | 说明 |
396
+ |------|------|
397
+ | date | 交易日期,格式 `"YYYYMMDD"`,默认今天 |
398
+
399
+ ```python
400
+ # 今日涨停
401
+ data = lk.stock_zt_pool_em()
402
+
403
+ # 历史涨停
404
+ data = lk.stock_zt_pool_em(date="20260506")
405
+ ```
406
+
407
+ | 字段 | 说明 |
408
+ |------|------|
409
+ | stock_code | 股票代码 |
410
+ | stock_name | 股票名称 |
411
+ | price | 现价(元) |
412
+ | change_pct | 涨跌幅(%) |
413
+ | continuous | 连板次数 |
414
+ | first_zt_time | 首次涨停时间 |
415
+ | last_zt_time | 最后涨停时间 |
416
+ | open_times | 炸板次数 |
417
+ | amount | 成交额(元) |
418
+ | turnover_rate | 换手率(%) |
419
+ | main_inflow | 主力净流入(元) |
420
+ | sector | 所属行业板块 |
421
+
422
+ ---
423
+
424
+ #### `stock_zt_pool_cls()`
425
+
426
+ 获取当日涨停池(财联社),含涨停原因,仅支持当天。
427
+
428
+ ```python
429
+ data = lk.stock_zt_pool_cls()
430
+ for item in data:
431
+ print(f"{item['secu_name']}: {item['up_reason']}")
432
+ ```
433
+
434
+ | 字段 | 说明 |
435
+ |------|------|
436
+ | secu_code | 股票代码(含市场前缀) |
437
+ | secu_name | 股票名称 |
438
+ | last_px | 现价(元) |
439
+ | change | 涨跌幅 |
440
+ | up_reason | 涨停原因 |
441
+
442
+ ---
443
+
444
+ #### `stock_changes_em(change_type="8201", filter_st=True)`
445
+
446
+ 获取实时盘口异动股票列表(东方财富)。
447
+
448
+ | 参数 | 说明 |
449
+ |------|------|
450
+ | change_type | 异动类型,默认 `"8201"` 火箭发射,支持22种类型 |
451
+ | filter_st | 是否过滤ST及三板,默认 `True` |
452
+
453
+ 常用异动类型:
454
+
455
+ | 类型值 | 说明 |
456
+ |--------|------|
457
+ | `"8201"` | 火箭发射 |
458
+ | `"8202"` | 快速反弹 |
459
+ | `"8193"` | 大笔买入 |
460
+ | `"8205"` | 封涨停板 |
461
+ | `"64"` | 有大买盘 |
462
+
463
+ ```python
464
+ # 火箭发射
465
+ data = lk.stock_changes_em()
466
+
467
+ # 大笔买入
468
+ data = lk.stock_changes_em(change_type="8193")
469
+ ```
470
+
471
+ ---
472
+
473
+ #### `stock_changes_detail_em(stock_code, market, date=None)`
474
+
475
+ 获取个股盘口异动明细(东方财富)。
476
+
477
+ | 参数 | 说明 |
478
+ |------|------|
479
+ | stock_code | 股票代码,如 `"000001"` |
480
+ | market | 市场,`"0"` 深市,`"1"` 沪市 |
481
+ | date | 日期,格式 `"YYYYMMDD"`,默认今天 |
482
+
483
+ ```python
484
+ data = lk.stock_changes_detail_em(stock_code="000001", market="0")
485
+ ```
486
+
487
+ ---
488
+
489
+ #### `stock_hot_rank_ths(limit=100)`
490
+
491
+ 获取A股人气股排行榜(同花顺)。
492
+
493
+ | 参数 | 说明 |
494
+ |------|------|
495
+ | limit | 返回条数,默认100 |
496
+
497
+ ```python
498
+ data = lk.stock_hot_rank_ths()
499
+ for item in data[:5]:
500
+ print(f"{item['rank']}. {item['name']} {item['change_pct']}%")
501
+ ```
502
+
503
+ | 字段 | 说明 |
504
+ |------|------|
505
+ | rank | 排名 |
506
+ | code | 股票代码 |
507
+ | name | 股票名称 |
508
+ | price | 现价(元) |
509
+ | change_pct | 涨跌幅(%) |
510
+ | change_amt | 涨跌额 |
511
+ | tag | 标签信息(dict) |
512
+
513
+ ---
514
+
515
+ #### `stock_timeline_cls(stock_code)`
516
+
517
+ 获取个股分时数据(财联社)。
518
+
519
+ | 参数 | 说明 |
520
+ |------|------|
521
+ | stock_code | 股票代码,支持 `"002664"` 或 `"sz002664"` 格式 |
522
+
523
+ ```python
524
+ data = lk.stock_timeline_cls("002664")
525
+ ```
526
+
527
+ | 字段 | 说明 |
528
+ |------|------|
529
+ | date | 交易日期 |
530
+ | minute | 分钟时间 |
531
+ | last_px | 最新价 |
532
+ | business_balance | 成交额 |
533
+ | business_amount | 成交量 |
534
+ | open_px | 开盘价 |
535
+ | preclose_px | 昨收价 |
536
+ | av_px | 均价 |
537
+
538
+ ---
539
+
540
+ #### `stock_kline_cls(stock_code, kline_type="daily", limit=50, offset=0)`
541
+
542
+ 获取个股K线数据(财联社)。
543
+
544
+ | 参数 | 说明 |
545
+ |------|------|
546
+ | stock_code | 股票代码,支持 `"002664"` 或 `"sz002664"` 格式 |
547
+ | kline_type | K线类型,默认 `"daily"` |
548
+ | limit | 返回条数,默认50 |
549
+ | offset | 偏移量,默认0 |
550
+
551
+ K线类型:
552
+
553
+ | 类型值 | 说明 |
554
+ |--------|------|
555
+ | `"daily"` | 日K(默认) |
556
+ | `"weekly"` | 周K |
557
+ | `"monthly"` | 月K |
558
+ | `"yearly"` | 年K |
559
+
560
+ ```python
561
+ # 日K
562
+ data = lk.stock_kline_cls("002664")
563
+
564
+ # 周K,返回100条
565
+ data = lk.stock_kline_cls("002664", kline_type="weekly", limit=100)
566
+ ```
567
+
568
+ ---
569
+
570
+ #### `stock_strategy_wencai(query, page=1, limit=50)`
571
+
572
+ i问财自然语言股票策略查询。
573
+
574
+ | 参数 | 说明 |
575
+ |------|------|
576
+ | query | 自然语言查询条件 |
577
+ | page | 页码,默认1 |
578
+ | limit | 每页条数,默认50 |
579
+
580
+ ```python
581
+ data = lk.stock_strategy_wencai(query="连板3板以上")
582
+ print(data["title"]) # 表头
583
+ print(data["result"]) # 数据
584
+ ```
585
+
586
+ ---
587
+
588
+ ### 资讯 news
589
+
590
+ #### `news_telegraph_cls(date=None, category=None)`
591
+
592
+ 获取财联社电报快讯,数据超过20条时自动显示进度条。
593
+
594
+ | 参数 | 说明 |
595
+ |------|------|
596
+ | date | 日期,格式 `"YYYY-MM-DD"`,默认今天 |
597
+ | category | 消息类型,默认 `None` |
598
+
599
+ 消息类型:
600
+
601
+ | 类型值 | 说明 |
602
+ |--------|------|
603
+ | `None` | 全部电报(默认) |
604
+ | `"important"` | 加红重要消息 |
605
+ | `"company"` | 公司公告 |
606
+
607
+ ```python
608
+ # 今日全部
609
+ data = lk.news_telegraph_cls()
610
+
611
+ # 今日重要消息
612
+ data = lk.news_telegraph_cls(category="important")
613
+
614
+ # 历史公司公告
615
+ data = lk.news_telegraph_cls(date="2026-05-07", category="company")
616
+ for item in data:
617
+ print(f"{item['time']} | {item['title']}")
618
+ ```
619
+
620
+ | 字段 | 说明 |
621
+ |------|------|
622
+ | id | 电报ID |
623
+ | title | 标题 |
624
+ | content | 正文内容 |
625
+ | time | 发布时间,格式 `"YYYY-MM-DD HH:MM:SS"` |
626
+
627
+ ---
628
+
629
+ ## 数据源
630
+
631
+ | 模块 | 数据源 | 接口类型 |
632
+ |------|--------|----------|
633
+ | `market_index_em` | 东方财富 | HTTP API |
634
+ | `market_emotion_cls` | 财联社 | HTTP API |
635
+ | `market_wind_cls` | 财联社 | HTTP API(含签名) |
636
+ | `sector_em` | 东方财富 | HTTP API |
637
+ | `sector_industry_cls` | 财联社 | HTTP API(含签名) |
638
+ | `sector_ranking_kph` | 开盘红 | HTTP API |
639
+ | `stock_zh_spot_em` | 东方财富 | HTTP API |
640
+ | `stock_spot_em` | 东方财富 | HTTP API |
641
+ | `stock_zt_pool_em` | 东方财富 | HTTP API |
642
+ | `stock_zt_pool_cls` | 财联社 | HTTP API(含签名) |
643
+ | `stock_changes_em` | 东方财富 | HTTP API |
644
+ | `stock_hot_rank_ths` | 同花顺 | HTTP API |
645
+ | `stock_kline_cls` | 财联社 | HTTP API(含签名) |
646
+ | `stock_strategy_wencai` | i问财 | HTTP API(需 cookie) |
647
+ | `news_telegraph_cls` | 财联社 | HTTP API(含签名) |
648
+
649
+ ## License
650
+
651
+ MIT