akshare 1.15.59__py3-none-any.whl → 1.15.61__py3-none-any.whl

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.

Potentially problematic release.


This version of akshare might be problematic. Click here for more details.

akshare/__init__.py CHANGED
@@ -2969,9 +2969,11 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
2969
2969
  1.15.57 fix: fix add 2025 trade date
2970
2970
  1.15.58 fix: fix futures_hold_pos_sina interface
2971
2971
  1.15.59 fix: fix stock_sy_hy_em interface
2972
+ 1.15.60 fix: fix stock_hot_keyword_em interface
2973
+ 1.15.61 fix: fix stock_zt_pool_strong_em interface
2972
2974
  """
2973
2975
 
2974
- __version__ = "1.15.59"
2976
+ __version__ = "1.15.61"
2975
2977
  __author__ = "AKFamily"
2976
2978
 
2977
2979
  import sys
@@ -3390,6 +3392,20 @@ from akshare.index.index_option_qvix import (
3390
3392
  index_option_300etf_min_qvix,
3391
3393
  index_option_300etf_qvix,
3392
3394
  index_option_50etf_min_qvix,
3395
+ index_option_1000index_min_qvix,
3396
+ index_option_1000index_qvix,
3397
+ index_option_100etf_min_qvix,
3398
+ index_option_100etf_qvix,
3399
+ index_option_300index_min_qvix,
3400
+ index_option_300index_qvix,
3401
+ index_option_500etf_min_qvix,
3402
+ index_option_500etf_qvix,
3403
+ index_option_50index_min_qvix,
3404
+ index_option_50index_qvix,
3405
+ index_option_cyb_min_qvix,
3406
+ index_option_cyb_qvix,
3407
+ index_option_kcb_min_qvix,
3408
+ index_option_kcb_qvix,
3393
3409
  )
3394
3410
 
3395
3411
  """
akshare/datasets.py CHANGED
@@ -1,7 +1,7 @@
1
1
  # -*- coding:utf-8 -*-
2
2
  # !/usr/bin/env python
3
3
  """
4
- Date: 2024/9/3 15:30
4
+ Date: 2024/12/30 15:30
5
5
  Desc: 导入文件工具,可以正确处理路径问题
6
6
  """
7
7
 
@@ -15,7 +15,7 @@ def get_ths_js(file: str = "ths.js") -> pathlib.Path:
15
15
  :return: 文件路径
16
16
  :rtype: pathlib.Path
17
17
  """
18
- with resources.path(package="akshare.data", resource=file) as f:
18
+ with resources.path("akshare.data", file) as f:
19
19
  data_file_path = f
20
20
  return data_file_path
21
21
 
@@ -26,7 +26,7 @@ def get_crypto_info_csv(file: str = "crypto_info.zip") -> pathlib.Path:
26
26
  :return: 文件路径
27
27
  :rtype: pathlib.Path
28
28
  """
29
- with resources.path(package="akshare.data", resource=file) as f:
29
+ with resources.path("akshare.data", file) as f:
30
30
  data_file_path = f
31
31
  return data_file_path
32
32
 
@@ -92,6 +92,293 @@ def index_option_300etf_min_qvix() -> pd.DataFrame:
92
92
  return temp_df
93
93
 
94
94
 
95
+ def index_option_500etf_qvix() -> pd.DataFrame:
96
+ """
97
+ 500 ETF 期权波动率指数 QVIX
98
+ http://1.optbbs.com/s/vix.shtml?500ETF
99
+ :return: 500 ETF 期权波动率指数 QVIX
100
+ :rtype: pandas.DataFrame
101
+ """
102
+ url = "http://1.optbbs.com/d/csv/d/k.csv"
103
+ temp_df = pd.read_csv(url).iloc[:, [0, 67, 68, 69, 70]]
104
+ temp_df.columns = [
105
+ "date",
106
+ "open",
107
+ "high",
108
+ "low",
109
+ "close",
110
+ ]
111
+ temp_df["date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
112
+ temp_df["open"] = pd.to_numeric(temp_df["open"], errors="coerce")
113
+ temp_df["high"] = pd.to_numeric(temp_df["high"], errors="coerce")
114
+ temp_df["low"] = pd.to_numeric(temp_df["low"], errors="coerce")
115
+ temp_df["close"] = pd.to_numeric(temp_df["close"], errors="coerce")
116
+ return temp_df
117
+
118
+
119
+ def index_option_500etf_min_qvix() -> pd.DataFrame:
120
+ """
121
+ 500 ETF 期权波动率指数 QVIX-分时
122
+ http://1.optbbs.com/s/vix.shtml?500ETF
123
+ :return: 500 ETF 期权波动率指数 QVIX-分时
124
+ :rtype: pandas.DataFrame
125
+ """
126
+ url = "http://1.optbbs.com/d/csv/d/vix500.csv"
127
+ temp_df = pd.read_csv(url).iloc[:, :2]
128
+ temp_df.columns = [
129
+ "time",
130
+ "qvix",
131
+ ]
132
+ temp_df["qvix"] = pd.to_numeric(temp_df["qvix"], errors="coerce")
133
+ return temp_df
134
+
135
+
136
+ def index_option_cyb_qvix() -> pd.DataFrame:
137
+ """
138
+ 创业板 期权波动率指数 QVIX
139
+ http://1.optbbs.com/s/vix.shtml?CYB
140
+ :return: 创业板 期权波动率指数 QVIX
141
+ :rtype: pandas.DataFrame
142
+ """
143
+ url = "http://1.optbbs.com/d/csv/d/k.csv"
144
+ temp_df = pd.read_csv(url).iloc[:, [0, 71, 72, 73, 74]]
145
+ temp_df.columns = [
146
+ "date",
147
+ "open",
148
+ "high",
149
+ "low",
150
+ "close",
151
+ ]
152
+ temp_df["date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
153
+ temp_df["open"] = pd.to_numeric(temp_df["open"], errors="coerce")
154
+ temp_df["high"] = pd.to_numeric(temp_df["high"], errors="coerce")
155
+ temp_df["low"] = pd.to_numeric(temp_df["low"], errors="coerce")
156
+ temp_df["close"] = pd.to_numeric(temp_df["close"], errors="coerce")
157
+ return temp_df
158
+
159
+
160
+ def index_option_cyb_min_qvix() -> pd.DataFrame:
161
+ """
162
+ 创业板 期权波动率指数 QVIX-分时
163
+ http://1.optbbs.com/s/vix.shtml?CYB
164
+ :return: 创业板 期权波动率指数 QVIX-分时
165
+ :rtype: pandas.DataFrame
166
+ """
167
+ url = "http://1.optbbs.com/d/csv/d/vixcyb.csv"
168
+ temp_df = pd.read_csv(url).iloc[:, :2]
169
+ temp_df.columns = [
170
+ "time",
171
+ "qvix",
172
+ ]
173
+ temp_df["qvix"] = pd.to_numeric(temp_df["qvix"], errors="coerce")
174
+ return temp_df
175
+
176
+
177
+ def index_option_kcb_qvix() -> pd.DataFrame:
178
+ """
179
+ 科创板 期权波动率指数 QVIX
180
+ http://1.optbbs.com/s/vix.shtml?KCB
181
+ :return: 科创板 期权波动率指数 QVIX
182
+ :rtype: pandas.DataFrame
183
+ """
184
+ url = "http://1.optbbs.com/d/csv/d/k.csv"
185
+ temp_df = pd.read_csv(url).iloc[:, [0, 83, 84, 85, 86]]
186
+ temp_df.columns = [
187
+ "date",
188
+ "open",
189
+ "high",
190
+ "low",
191
+ "close",
192
+ ]
193
+ temp_df["date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
194
+ temp_df["open"] = pd.to_numeric(temp_df["open"], errors="coerce")
195
+ temp_df["high"] = pd.to_numeric(temp_df["high"], errors="coerce")
196
+ temp_df["low"] = pd.to_numeric(temp_df["low"], errors="coerce")
197
+ temp_df["close"] = pd.to_numeric(temp_df["close"], errors="coerce")
198
+ return temp_df
199
+
200
+
201
+ def index_option_kcb_min_qvix() -> pd.DataFrame:
202
+ """
203
+ 科创板 期权波动率指数 QVIX-分时
204
+ http://1.optbbs.com/s/vix.shtml?KCB
205
+ :return: 科创板 期权波动率指数 QVIX-分时
206
+ :rtype: pandas.DataFrame
207
+ """
208
+ url = "http://1.optbbs.com/d/csv/d/vixkcb.csv"
209
+ temp_df = pd.read_csv(url).iloc[:, :2]
210
+ temp_df.columns = [
211
+ "time",
212
+ "qvix",
213
+ ]
214
+ temp_df["qvix"] = pd.to_numeric(temp_df["qvix"], errors="coerce")
215
+ return temp_df
216
+
217
+
218
+ def index_option_100etf_qvix() -> pd.DataFrame:
219
+ """
220
+ 深证100ETF 期权波动率指数 QVIX
221
+ http://1.optbbs.com/s/vix.shtml?100ETF
222
+ :return: 深证100ETF 期权波动率指数 QVIX
223
+ :rtype: pandas.DataFrame
224
+ """
225
+ url = "http://1.optbbs.com/d/csv/d/k.csv"
226
+ temp_df = pd.read_csv(url).iloc[:, [0, 75, 76, 77, 78]]
227
+ temp_df.columns = [
228
+ "date",
229
+ "open",
230
+ "high",
231
+ "low",
232
+ "close",
233
+ ]
234
+ temp_df["date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
235
+ temp_df["open"] = pd.to_numeric(temp_df["open"], errors="coerce")
236
+ temp_df["high"] = pd.to_numeric(temp_df["high"], errors="coerce")
237
+ temp_df["low"] = pd.to_numeric(temp_df["low"], errors="coerce")
238
+ temp_df["close"] = pd.to_numeric(temp_df["close"], errors="coerce")
239
+ return temp_df
240
+
241
+
242
+ def index_option_100etf_min_qvix() -> pd.DataFrame:
243
+ """
244
+ 深证100ETF 期权波动率指数 QVIX-分时
245
+ http://1.optbbs.com/s/vix.shtml?100ETF
246
+ :return: 深证100ETF 期权波动率指数 QVIX-分时
247
+ :rtype: pandas.DataFrame
248
+ """
249
+ url = "http://1.optbbs.com/d/csv/d/vix100.csv"
250
+ temp_df = pd.read_csv(url).iloc[:, :2]
251
+ temp_df.columns = [
252
+ "time",
253
+ "qvix",
254
+ ]
255
+ temp_df["qvix"] = pd.to_numeric(temp_df["qvix"], errors="coerce")
256
+ return temp_df
257
+
258
+
259
+ def index_option_300index_qvix() -> pd.DataFrame:
260
+ """
261
+ 中证300股指 期权波动率指数 QVIX
262
+ http://1.optbbs.com/s/vix.shtml?Index
263
+ :return: 中证300股指 期权波动率指数 QVIX
264
+ :rtype: pandas.DataFrame
265
+ """
266
+ url = "http://1.optbbs.com/d/csv/d/k.csv"
267
+ temp_df = pd.read_csv(url).iloc[:, [0, 17, 18, 19, 20]]
268
+ temp_df.columns = [
269
+ "date",
270
+ "open",
271
+ "high",
272
+ "low",
273
+ "close",
274
+ ]
275
+ temp_df["date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
276
+ temp_df["open"] = pd.to_numeric(temp_df["open"], errors="coerce")
277
+ temp_df["high"] = pd.to_numeric(temp_df["high"], errors="coerce")
278
+ temp_df["low"] = pd.to_numeric(temp_df["low"], errors="coerce")
279
+ temp_df["close"] = pd.to_numeric(temp_df["close"], errors="coerce")
280
+ return temp_df
281
+
282
+
283
+ def index_option_300index_min_qvix() -> pd.DataFrame:
284
+ """
285
+ 中证300股指 期权波动率指数 QVIX-分时
286
+ http://1.optbbs.com/s/vix.shtml?Index
287
+ :return: 中证300股指 期权波动率指数 QVIX-分时
288
+ :rtype: pandas.DataFrame
289
+ """
290
+ url = "http://1.optbbs.com/d/csv/d/vixindex.csv"
291
+ temp_df = pd.read_csv(url).iloc[:, :2]
292
+ temp_df.columns = [
293
+ "time",
294
+ "qvix",
295
+ ]
296
+ temp_df["qvix"] = pd.to_numeric(temp_df["qvix"], errors="coerce")
297
+ return temp_df
298
+
299
+
300
+ def index_option_1000index_qvix() -> pd.DataFrame:
301
+ """
302
+ 中证1000股指 期权波动率指数 QVIX
303
+ http://1.optbbs.com/s/vix.shtml?Index1000
304
+ :return: 中证1000股指 期权波动率指数 QVIX
305
+ :rtype: pandas.DataFrame
306
+ """
307
+ url = "http://1.optbbs.com/d/csv/d/k.csv"
308
+ temp_df = pd.read_csv(url).iloc[:, [0, 25, 26, 27, 28]]
309
+ temp_df.columns = [
310
+ "date",
311
+ "open",
312
+ "high",
313
+ "low",
314
+ "close",
315
+ ]
316
+ temp_df["date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
317
+ temp_df["open"] = pd.to_numeric(temp_df["open"], errors="coerce")
318
+ temp_df["high"] = pd.to_numeric(temp_df["high"], errors="coerce")
319
+ temp_df["low"] = pd.to_numeric(temp_df["low"], errors="coerce")
320
+ temp_df["close"] = pd.to_numeric(temp_df["close"], errors="coerce")
321
+ return temp_df
322
+
323
+
324
+ def index_option_1000index_min_qvix() -> pd.DataFrame:
325
+ """
326
+ 中证1000股指 期权波动率指数 QVIX-分时
327
+ http://1.optbbs.com/s/vix.shtml?Index1000
328
+ :return: 中证1000股指 期权波动率指数 QVIX-分时
329
+ :rtype: pandas.DataFrame
330
+ """
331
+ url = "http://1.optbbs.com/d/csv/d/vixindex1000.csv"
332
+ temp_df = pd.read_csv(url).iloc[:, :2]
333
+ temp_df.columns = [
334
+ "time",
335
+ "qvix",
336
+ ]
337
+ temp_df["qvix"] = pd.to_numeric(temp_df["qvix"], errors="coerce")
338
+ return temp_df
339
+
340
+
341
+ def index_option_50index_qvix() -> pd.DataFrame:
342
+ """
343
+ 上证50股指 期权波动率指数 QVIX
344
+ http://1.optbbs.com/s/vix.shtml?50index
345
+ :return: 上证50股指 期权波动率指数 QVIX
346
+ :rtype: pandas.DataFrame
347
+ """
348
+ url = "http://1.optbbs.com/d/csv/d/k.csv"
349
+ temp_df = pd.read_csv(url).iloc[:, [0, 79, 80, 81, 82]]
350
+ temp_df.columns = [
351
+ "date",
352
+ "open",
353
+ "high",
354
+ "low",
355
+ "close",
356
+ ]
357
+ temp_df["date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
358
+ temp_df["open"] = pd.to_numeric(temp_df["open"], errors="coerce")
359
+ temp_df["high"] = pd.to_numeric(temp_df["high"], errors="coerce")
360
+ temp_df["low"] = pd.to_numeric(temp_df["low"], errors="coerce")
361
+ temp_df["close"] = pd.to_numeric(temp_df["close"], errors="coerce")
362
+ return temp_df
363
+
364
+
365
+ def index_option_50index_min_qvix() -> pd.DataFrame:
366
+ """
367
+ 上证50股指 期权波动率指数 QVIX-分时
368
+ http://1.optbbs.com/s/vix.shtml?50index
369
+ :return: 上证50股指 期权波动率指数 QVIX-分时
370
+ :rtype: pandas.DataFrame
371
+ """
372
+ url = "http://1.optbbs.com/d/csv/d/vix50index.csv"
373
+ temp_df = pd.read_csv(url).iloc[:, :2]
374
+ temp_df.columns = [
375
+ "time",
376
+ "qvix",
377
+ ]
378
+ temp_df["qvix"] = pd.to_numeric(temp_df["qvix"], errors="coerce")
379
+ return temp_df
380
+
381
+
95
382
  if __name__ == "__main__":
96
383
  index_option_50etf_qvix_df = index_option_50etf_qvix()
97
384
  print(index_option_50etf_qvix_df)
@@ -104,3 +391,45 @@ if __name__ == "__main__":
104
391
 
105
392
  index_option_300etf_min_qvix_df = index_option_300etf_min_qvix()
106
393
  print(index_option_300etf_min_qvix_df)
394
+
395
+ index_option_500etf_qvix_df = index_option_500etf_qvix()
396
+ print(index_option_500etf_qvix_df)
397
+
398
+ index_option_500etf_min_qvix_df = index_option_500etf_min_qvix()
399
+ print(index_option_500etf_min_qvix_df)
400
+
401
+ index_option_cyb_qvix_df = index_option_cyb_qvix()
402
+ print(index_option_cyb_qvix_df)
403
+
404
+ index_option_cyb_min_qvix_df = index_option_cyb_min_qvix()
405
+ print(index_option_cyb_min_qvix_df)
406
+
407
+ index_option_kcb_qvix_df = index_option_kcb_qvix()
408
+ print(index_option_kcb_qvix_df)
409
+
410
+ index_option_kcb_min_qvix_df = index_option_kcb_min_qvix()
411
+ print(index_option_kcb_min_qvix_df)
412
+
413
+ index_option_100etf_qvix_df = index_option_100etf_qvix()
414
+ print(index_option_100etf_qvix_df)
415
+
416
+ index_option_100etf_min_qvix_df = index_option_100etf_min_qvix()
417
+ print(index_option_100etf_min_qvix_df)
418
+
419
+ index_option_300index_qvix_df = index_option_300index_qvix()
420
+ print(index_option_300index_qvix_df)
421
+
422
+ index_option_300index_min_qvix_df = index_option_300index_min_qvix()
423
+ print(index_option_300index_min_qvix_df)
424
+
425
+ index_option_1000index_qvix_df = index_option_1000index_qvix()
426
+ print(index_option_1000index_qvix_df)
427
+
428
+ index_option_1000index_min_qvix_df = index_option_1000index_min_qvix()
429
+ print(index_option_1000index_min_qvix_df)
430
+
431
+ index_option_50index_qvix_df = index_option_50index_qvix()
432
+ print(index_option_50index_qvix_df)
433
+
434
+ index_option_50index_min_qvix_df = index_option_50index_min_qvix()
435
+ print(index_option_50index_min_qvix_df)
@@ -186,7 +186,7 @@ def stock_zt_pool_previous_em(date: str = "20240415") -> pd.DataFrame:
186
186
  return temp_df
187
187
 
188
188
 
189
- def stock_zt_pool_strong_em(date: str = "20241009") -> pd.DataFrame:
189
+ def stock_zt_pool_strong_em(date: str = "20241231") -> pd.DataFrame:
190
190
  """
191
191
  东方财富网-行情中心-涨停板行情-强势股池
192
192
  https://quote.eastmoney.com/ztb/detail#type=qsgc
@@ -261,6 +261,18 @@ def stock_zt_pool_strong_em(date: str = "20241009") -> pd.DataFrame:
261
261
  ]
262
262
  temp_df["最新价"] = temp_df["最新价"] / 1000
263
263
  temp_df["涨停价"] = temp_df["涨停价"] / 1000
264
+ explained_map = {1: "60日新高", 2: "近期多次涨停", 3: "60日新高且近期多次涨停"}
265
+ temp_df["入选理由"] = temp_df["入选理由"].apply(lambda x: explained_map[x])
266
+ temp_df["是否新高"] = temp_df["是否新高"].apply(lambda x: "是" if x == 1 else "否")
267
+ temp_df["涨跌幅"] = pd.to_numeric(temp_df["涨跌幅"], errors="coerce")
268
+ temp_df["最新价"] = pd.to_numeric(temp_df["最新价"], errors="coerce")
269
+ temp_df["涨停价"] = pd.to_numeric(temp_df["涨停价"], errors="coerce")
270
+ temp_df["成交额"] = pd.to_numeric(temp_df["成交额"], errors="coerce")
271
+ temp_df["流通市值"] = pd.to_numeric(temp_df["流通市值"], errors="coerce")
272
+ temp_df["总市值"] = pd.to_numeric(temp_df["总市值"], errors="coerce")
273
+ temp_df["换手率"] = pd.to_numeric(temp_df["换手率"], errors="coerce")
274
+ temp_df["涨速"] = pd.to_numeric(temp_df["涨速"], errors="coerce")
275
+ temp_df["量比"] = pd.to_numeric(temp_df["量比"], errors="coerce")
264
276
  return temp_df
265
277
 
266
278
 
@@ -522,7 +534,7 @@ if __name__ == "__main__":
522
534
  stock_zt_pool_previous_em_df = stock_zt_pool_previous_em(date="20240415")
523
535
  print(stock_zt_pool_previous_em_df)
524
536
 
525
- stock_zt_pool_strong_em_df = stock_zt_pool_strong_em(date="20241122")
537
+ stock_zt_pool_strong_em_df = stock_zt_pool_strong_em(date="20241231")
526
538
  print(stock_zt_pool_strong_em_df)
527
539
 
528
540
  stock_zt_pool_sub_new_em_df = stock_zt_pool_sub_new_em(date="20241011")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: akshare
3
- Version: 1.15.59
3
+ Version: 1.15.61
4
4
  Summary: AKShare is an elegant and simple financial data interface library for Python, built for human beings!
5
5
  Home-page: https://github.com/akfamily/akshare
6
6
  Author: AKFamily
@@ -1,5 +1,5 @@
1
- akshare/__init__.py,sha256=-2x4m6WuSG-J4cKyC8scsciXiXnDaOdxAQgHezjlHlo,184736
2
- akshare/datasets.py,sha256=-qdwaQjgBlftX84uM74KJqCYJYkQ50PV416_neA4uls,995
1
+ akshare/__init__.py,sha256=0b6Nd0kDNX5xZNio8k6LY2qd3arSl-dMMR-6lQN__GI,185283
2
+ akshare/datasets.py,sha256=rKuRNZrqi6IMsZ9nyvO3Rx02js0tH3zMLjz8HQNAoPQ,963
3
3
  akshare/exceptions.py,sha256=WEJjIhSmJ_xXNW6grwV4nufE_cfmmyuhmueVGiN1VAg,878
4
4
  akshare/request.py,sha256=HtFFf9MhfEibR-ETWe-1Tts6ELU4VKSqA-ghaXjegQM,4252
5
5
  akshare/air/__init__.py,sha256=RMTf1bT5EOE3ttWpn3hGu1LtUmsVxDoa0W7W0gXHOy8,81
@@ -158,7 +158,7 @@ akshare/index/index_eri.py,sha256=7X0KNDBntEkE_qSb2jb6IBv-S8PsevLFdxGT8nKT3W0,21
158
158
  akshare/index/index_hog.py,sha256=kb867BVagt70_ycZMn22ks5Z9jlVbMiuTsvq5ygjeig,1657
159
159
  akshare/index/index_kq_fz.py,sha256=Y-cbxWLpRyGcFcMSDxZZQXdAuD85IuQH5xC2rhtGbRc,3395
160
160
  akshare/index/index_kq_ss.py,sha256=m4hAMNnzHk8JNAnKjkYYVeyG4zUC5zR5i0-u-OxmaGU,3333
161
- akshare/index/index_option_qvix.py,sha256=sCx0iiIetkp5ELE9sDwesVFgJNfa_1tAEWVCJI-I2u4,3270
161
+ akshare/index/index_option_qvix.py,sha256=11GRd47p81_7nfeexbHUiy0Vfj3FfdQMErr6OwqbyU8,14055
162
162
  akshare/index/index_research_fund_sw.py,sha256=kVYjBl3vZg6CyYBCrxZiSv8taHMnqmG7PQ-LVmMNd3I,4603
163
163
  akshare/index/index_research_sw.py,sha256=Mm1YtiP-PXhDysJwmFidX3RZSZZ92AyXpjl_tVrjdwA,21758
164
164
  akshare/index/index_spot.py,sha256=meTBTCp2DPVTX_N3qpCLtkI-0q3XhrJ3gndNugRBGKg,1767
@@ -346,7 +346,7 @@ akshare/stock_feature/stock_zdhtmx_em.py,sha256=2BpJQntGgUlEIOmDlepOiOkw-e-tKLRa
346
346
  akshare/stock_feature/stock_zf_pg.py,sha256=nYJ1uLOBdzM_PDyq4MNeWoCTripFMAPoAiaPfhDqkcg,6343
347
347
  akshare/stock_feature/stock_zh_valuation_baidu.py,sha256=oxYIHP68pFvAYyqjCvZp3a9tpczTFiWhSxZ0w4eyo7I,1904
348
348
  akshare/stock_feature/stock_zh_vote_baidu.py,sha256=SsSNnCq7PDFMzWFcPFcC_MSc9rua412P14vHc923gmo,1761
349
- akshare/stock_feature/stock_ztb_em.py,sha256=NwDP_ujq-vxeqo6hsactZo7oNdJULjJIv4UEy9fH7-8,17024
349
+ akshare/stock_feature/stock_ztb_em.py,sha256=bjG1r1Ax-qWgE7ww02M0krs1A9RICQS2HIm2IJAE5mg,18027
350
350
  akshare/stock_feature/ths.js,sha256=AWPkHf3L2Il1UUL0F5qDqNn1dfU0OlZBNUbMf8AmI3Y,39664
351
351
  akshare/stock_fundamental/__init__.py,sha256=jiXoO9OXiMxB0wHaPQkuxNckYuoFKtzuhZL1ytnE2nQ,82
352
352
  akshare/stock_fundamental/stock_finance.py,sha256=WuYvLo8xZxH-VS-6P-S31yzsKA1ojrwegcLXP2byle4,30676
@@ -377,8 +377,8 @@ akshare/utils/token_process.py,sha256=K4rGXjh_tgugbRcyOK2h2x0jP3PT65IIK7nxhUKhOe
377
377
  akshare/utils/tqdm.py,sha256=MuPNwcswkOGjwWQOMWXi9ZvQ_RmW4obCWRj2i7HM7FE,847
378
378
  tests/__init__.py,sha256=gNzhlO0UPjFq6Ieb38kaVIODXv4cTDByrdohAZnDYt4,82
379
379
  tests/test_func.py,sha256=j1MGYbZI2if2j_LY1S4FLsf4qfq4NwVqD5wmRlv5Log,832
380
- akshare-1.15.59.dist-info/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
381
- akshare-1.15.59.dist-info/METADATA,sha256=MbOf1jZXf1HHhDjaa_DwgfyHgxxXWrW-qanLsGbP3PE,13423
382
- akshare-1.15.59.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
383
- akshare-1.15.59.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
384
- akshare-1.15.59.dist-info/RECORD,,
380
+ akshare-1.15.61.dist-info/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
381
+ akshare-1.15.61.dist-info/METADATA,sha256=kZdcKvpUsJgcN3ehjbYOp5MQ6rJ_TvRX4d73CNt0QMQ,13423
382
+ akshare-1.15.61.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
383
+ akshare-1.15.61.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
384
+ akshare-1.15.61.dist-info/RECORD,,