akshare 1.14.61__py3-none-any.whl → 1.14.63__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
@@ -2872,9 +2872,11 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
2872
2872
  1.14.59 fix: fix macro_cnbs interface
2873
2873
  1.14.60 fix: fix bond_zh_cov_info_ths interface
2874
2874
  1.14.61 fix: fix stock_fund_flow_individual interface
2875
+ 1.14.62 fix: fix stock_zt_pool_em interface
2876
+ 1.14.63 add: add spot_quotations_sge interface
2875
2877
  """
2876
2878
 
2877
- __version__ = "1.14.61"
2879
+ __version__ = "1.14.63"
2878
2880
  __author__ = "AKFamily"
2879
2881
 
2880
2882
  import sys
@@ -3562,6 +3564,7 @@ from akshare.spot.spot_sge import (
3562
3564
  spot_symbol_table_sge,
3563
3565
  spot_silver_benchmark_sge,
3564
3566
  spot_golden_benchmark_sge,
3567
+ spot_quotations_sge,
3565
3568
  )
3566
3569
 
3567
3570
  """
akshare/futures/cot.py CHANGED
@@ -1371,7 +1371,7 @@ if __name__ == "__main__":
1371
1371
  print(futures_dce_position_rank_other_df)
1372
1372
 
1373
1373
  # 广州期货交易所
1374
- futures_gfex_position_rank_df = futures_gfex_position_rank(date="20231113")
1374
+ futures_gfex_position_rank_df = futures_gfex_position_rank(date="20240805")
1375
1375
  print(futures_gfex_position_rank_df)
1376
1376
 
1377
1377
  # 总接口
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
- Date: 2024/3/10 17:00
4
+ Date: 2024/8/21 17:00
5
5
  Desc: 新浪财经-外盘期货
6
6
  https://finance.sina.com.cn/money/future/hf.html
7
7
  """
@@ -129,7 +129,8 @@ def futures_foreign_commodity_realtime(symbol: Union[str, List[str]]) -> pd.Data
129
129
  "Sec-Fetch-Dest": "script",
130
130
  "Sec-Fetch-Mode": "no-cors",
131
131
  "Sec-Fetch-Site": "cross-site",
132
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36",
132
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
133
+ "Chrome/97.0.4692.71 Safari/537.36",
133
134
  }
134
135
  r = requests.get(url, headers=headers)
135
136
  data_text = r.text
@@ -10,11 +10,14 @@ https://www.nanhua.net/nhzc/varietychange.html
10
10
  南华期货-相关系数矩阵
11
11
  https://www.nanhua.net/nhzc/correltable.html
12
12
  """
13
+
13
14
  import pandas as pd
14
15
  import requests
15
16
 
16
17
 
17
- def futures_board_index_nh(start_date: str = "20231110", end_date: str = "20231116") -> pd.DataFrame:
18
+ def futures_board_index_nh(
19
+ start_date: str = "20231110", end_date: str = "20231116"
20
+ ) -> pd.DataFrame:
18
21
  """
19
22
  南华期货-市场涨跌-板块指数涨跌
20
23
  https://www.nanhua.net/nhzc/platechange.html
@@ -27,42 +30,40 @@ def futures_board_index_nh(start_date: str = "20231110", end_date: str = "202311
27
30
  """
28
31
  # 获取 start_date 的数据
29
32
  url = f"https://www.nanhua.net/ianalysis/plate/{start_date[:4]}/{start_date[4:6]}/{start_date}.json"
30
- params = {
31
- 't': '1649920913503'
32
- }
33
+ params = {"t": "1649920913503"}
33
34
  r = requests.get(url, params=params)
34
35
  start_df = pd.DataFrame(r.json())
35
36
  start_df.columns = [
36
- 'name',
37
- 'code',
37
+ "name",
38
+ "code",
38
39
  start_date,
39
40
  ]
40
41
 
41
42
  # 获取 end_date 的数据
42
43
  url = f"https://www.nanhua.net/ianalysis/plate/{end_date[:4]}/{end_date[4:6]}/{end_date}.json"
43
- params = {
44
- 't': '1649920913503'
45
- }
44
+ params = {"t": "1649920913503"}
46
45
  r = requests.get(url, params=params)
47
46
  end_df = pd.DataFrame(r.json())
48
47
  end_df.columns = [
49
- 'name',
50
- 'code',
48
+ "name",
49
+ "code",
51
50
  end_date,
52
51
  ]
53
52
  end_df.reset_index(inplace=True, drop=True)
54
53
 
55
54
  # 计算数据
56
- start_df = start_df.merge(end_df, on=['name', 'code'], how='inner')
55
+ start_df = start_df.merge(end_df, on=["name", "code"], how="inner")
57
56
  # 去除异常数据 IF
58
- start_df = start_df[start_df['code'] != 'IF']
59
- start_df['return'] = start_df[end_date] / start_df[start_date] - 1
60
- temp_df = start_df[['name', 'return']]
57
+ start_df = start_df[start_df["code"] != "IF"]
58
+ start_df["return"] = start_df[end_date] / start_df[start_date] - 1
59
+ temp_df = start_df[["name", "return"]]
61
60
 
62
61
  return temp_df
63
62
 
64
63
 
65
- def futures_variety_index_nh(start_date: str = "20231110", end_date: str = "20231116") -> pd.DataFrame:
64
+ def futures_variety_index_nh(
65
+ start_date: str = "20231110", end_date: str = "20231116"
66
+ ) -> pd.DataFrame:
66
67
  """
67
68
  南华期货-市场涨跌-品种指数涨跌
68
69
  https://www.nanhua.net/nhzc/varietychange.html
@@ -74,35 +75,31 @@ def futures_variety_index_nh(start_date: str = "20231110", end_date: str = "2023
74
75
  :rtype: pandas.DataFrame
75
76
  """
76
77
  url = f"https://www.nanhua.net/ianalysis/variety/{start_date[:4]}/{start_date[4:6]}/{start_date}.json"
77
- params = {
78
- 't': '1649920913503'
79
- }
78
+ params = {"t": "1649920913503"}
80
79
  r = requests.get(url, params=params)
81
80
  start_df = pd.DataFrame(r.json())
82
81
  start_df.columns = [
83
- 'name',
84
- 'code',
82
+ "name",
83
+ "code",
85
84
  start_date,
86
85
  ]
87
86
 
88
87
  url = f"http://www.nanhua.net/ianalysis/variety/{end_date[:4]}/{end_date[4:6]}/{end_date}.json"
89
- params = {
90
- 't': '1649920913503'
91
- }
88
+ params = {"t": "1649920913503"}
92
89
  r = requests.get(url, params=params)
93
90
  end_df = pd.DataFrame(r.json())
94
91
  end_df.columns = [
95
- 'name',
96
- 'code',
97
- 'end_date',
92
+ "name",
93
+ "code",
94
+ "end_date",
98
95
  ]
99
- start_df[end_date] = end_df['end_date']
96
+ start_df[end_date] = end_df["end_date"]
100
97
 
101
- start_df['gap'] = start_df[end_date] - start_df[start_date]
102
- start_df['return'] = start_df['gap'] / start_df[start_date]
98
+ start_df["gap"] = start_df[end_date] - start_df[start_date]
99
+ start_df["return"] = start_df["gap"] / start_df[start_date]
103
100
 
104
101
  temp_df = start_df
105
- temp_df = temp_df[['name', 'return']]
102
+ temp_df = temp_df[["name", "return"]]
106
103
  return temp_df
107
104
 
108
105
 
@@ -118,28 +115,30 @@ def futures_correlation_nh(date: str = "20231110", period: str = "20") -> pd.Dat
118
115
  :rtype: pandas.DataFrame
119
116
  """
120
117
  url = f"https://www.nanhua.net/ianalysis/correl/{period}/{date[:4]}/{date[4:6]}/{date}.json"
121
- params = {
122
- 't': '1649920913503'
123
- }
118
+ params = {"t": "1649920913503"}
124
119
  r = requests.get(url, params=params)
125
120
  temp_df = pd.DataFrame(r.json())
126
121
  temp_df.columns = [
127
- '品种代码1',
128
- '品种名称1',
129
- '品种代码2',
130
- '品种名称2',
131
- '相关系数',
122
+ "品种代码1",
123
+ "品种名称1",
124
+ "品种代码2",
125
+ "品种名称2",
126
+ "相关系数",
132
127
  ]
133
- temp_df['相关系数'] = pd.to_numeric(temp_df['相关系数'], errors="coerce")
128
+ temp_df["相关系数"] = pd.to_numeric(temp_df["相关系数"], errors="coerce")
134
129
  return temp_df
135
130
 
136
131
 
137
- if __name__ == '__main__':
138
- futures_board_index_nh_df = futures_board_index_nh(start_date="20230103", end_date="20231201")
132
+ if __name__ == "__main__":
133
+ futures_board_index_nh_df = futures_board_index_nh(
134
+ start_date="20230103", end_date="20231201"
135
+ )
139
136
  print(futures_board_index_nh_df)
140
137
 
141
- futures_variety_index_nh_df = futures_variety_index_nh(start_date="20231110", end_date="20231116")
138
+ futures_variety_index_nh_df = futures_variety_index_nh(
139
+ start_date="20231110", end_date="20231116"
140
+ )
142
141
  print(futures_variety_index_nh_df)
143
142
 
144
- futures_correlation_nh_df = futures_correlation_nh(date="20231110", period="20")
143
+ futures_correlation_nh_df = futures_correlation_nh(date="20240816", period="20")
145
144
  print(futures_correlation_nh_df)
akshare/spot/spot_sge.py CHANGED
@@ -1,7 +1,7 @@
1
1
  # -*- coding:utf-8 -*-
2
2
  # !/usr/bin/env python
3
3
  """
4
- Date: 2024/4/22 14:00
4
+ Date: 2024/8/22 10:00
5
5
  Desc: 上海黄金交易所-数据资讯-行情走势
6
6
  https://www.sge.com.cn/sjzx/mrhq
7
7
  上海黄金交易所-数据资讯-上海金基准价-历史数据
@@ -11,6 +11,8 @@ https://www.sge.com.cn/sjzx/mrhq
11
11
  import pandas as pd
12
12
  import requests
13
13
 
14
+ from akshare.utils.cons import headers
15
+
14
16
 
15
17
  def spot_symbol_table_sge() -> pd.DataFrame:
16
18
  """
@@ -45,11 +47,63 @@ def spot_symbol_table_sge() -> pd.DataFrame:
45
47
  return temp_df
46
48
 
47
49
 
50
+ def spot_quotations_sge(symbol: str = "Au99.99") -> pd.DataFrame:
51
+ """
52
+ 上海黄金交易所-实时行情数据
53
+ https://www.sge.com.cn/
54
+ https://www.sge.com.cn/graph/quotations
55
+ :param symbol: choice of {'Au99.99', 'Au99.95', 'Au100g', 'Pt99.95', 'Ag(T+D)', 'Au(T+D)',
56
+ 'mAu(T+D)', 'Au(T+N1)', 'Au(T+N2)', 'Ag99.99', 'iAu99.99', 'Au99.5', 'iAu100g',
57
+ 'iAu99.5', 'PGC30g', 'NYAuTN06', 'NYAuTN12'}; 可以通过 ak.spot_symbol_table_sge() 获取品种表
58
+ :type symbol: str
59
+ :return: 行情数据
60
+ :rtype: pandas.DataFrame
61
+ """
62
+ url = "https://www.sge.com.cn/graph/quotations"
63
+ payload = {"instid": symbol}
64
+ headers = {
65
+ "Accept": "application/json, text/javascript, */*; q=0.01",
66
+ "Accept-Encoding": "gzip, deflate, br, zstd",
67
+ "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8",
68
+ "Cache-Control": "no-cache",
69
+ "Connection": "keep-alive",
70
+ "Content-Length": "15",
71
+ "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
72
+ "Host": "www.sge.com.cn",
73
+ "Origin": "https://www.sge.com.cn",
74
+ "Pragma": "no-cache",
75
+ "Referer": "https://www.sge.com.cn/",
76
+ "sec-ch-ua": '"Google Chrome";v="107", "Chromium";v="107", "Not=A?Brand";v="24"',
77
+ "sec-ch-ua-mobile": "?0",
78
+ "sec-ch-ua-platform": '"Windows"',
79
+ "Sec-Fetch-Dest": "empty",
80
+ "Sec-Fetch-Mode": "cors",
81
+ "Sec-Fetch-Site": "same-origin",
82
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
83
+ "Chrome/107.0.0.0 Safari/537.36",
84
+ "X-Requested-With": "XMLHttpRequest",
85
+ }
86
+ r = requests.get(url, data=payload, headers=headers)
87
+ data_json = r.json()
88
+ temp_df = pd.DataFrame(
89
+ {
90
+ "品种": data_json["heyue"],
91
+ "时间": data_json["times"],
92
+ "现价": data_json["data"],
93
+ "更新时间": data_json["delaystr"],
94
+ }
95
+ )
96
+ temp_df["现价"] = pd.to_numeric(temp_df["现价"], errors="coerce")
97
+ return temp_df
98
+
99
+
48
100
  def spot_hist_sge(symbol: str = "Au99.99") -> pd.DataFrame:
49
101
  """
50
102
  上海黄金交易所-数据资讯-行情走势-历史数据
51
103
  https://www.sge.com.cn/sjzx/mrhq
52
- :param symbol: choice of {'Au99.99', 'Au99.95', 'Au100g', 'Pt99.95', 'Ag(T+D)', 'Au(T+D)', 'mAu(T+D)', 'Au(T+N1)', 'Au(T+N2)', 'Ag99.99', 'iAu99.99', 'Au99.5', 'iAu100g', 'iAu99.5', 'PGC30g', 'NYAuTN06', 'NYAuTN12'}; 可以通过 ak.spot_symbol_table_sge() 获取品种表
104
+ :param symbol: choice of {'Au99.99', 'Au99.95', 'Au100g', 'Pt99.95', 'Ag(T+D)', 'Au(T+D)',
105
+ 'mAu(T+D)', 'Au(T+N1)', 'Au(T+N2)', 'Ag99.99', 'iAu99.99', 'Au99.5', 'iAu100g', 'iAu99.5',
106
+ 'PGC30g', 'NYAuTN06', 'NYAuTN12'}; 可以通过 ak.spot_symbol_table_sge() 获取品种表
53
107
  :type symbol: str
54
108
  :return: 历史数据
55
109
  :rtype: pandas.DataFrame
@@ -74,7 +128,8 @@ def spot_hist_sge(symbol: str = "Au99.99") -> pd.DataFrame:
74
128
  "Sec-Fetch-Dest": "empty",
75
129
  "Sec-Fetch-Mode": "cors",
76
130
  "Sec-Fetch-Site": "same-origin",
77
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36",
131
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
132
+ "Chrome/107.0.0.0 Safari/537.36",
78
133
  "X-Requested-With": "XMLHttpRequest",
79
134
  }
80
135
  r = requests.post(url, data=payload, headers=headers)
@@ -105,9 +160,6 @@ def spot_golden_benchmark_sge() -> pd.DataFrame:
105
160
  """
106
161
  url = "https://www.sge.com.cn/graph/DayilyJzj"
107
162
  payload = {}
108
- headers = {
109
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36",
110
- }
111
163
  r = requests.post(url, data=payload, headers=headers)
112
164
  data_json = r.json()
113
165
  temp_df = pd.DataFrame(data_json["wp"])
@@ -139,9 +191,6 @@ def spot_silver_benchmark_sge() -> pd.DataFrame:
139
191
  """
140
192
  url = "https://www.sge.com.cn/graph/DayilyShsilverJzj"
141
193
  payload = {}
142
- headers = {
143
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36",
144
- }
145
194
  r = requests.post(url, data=payload, headers=headers)
146
195
  data_json = r.json()
147
196
  temp_df = pd.DataFrame(data_json["wp"])
@@ -180,3 +229,6 @@ if __name__ == "__main__":
180
229
  for spot in spot_symbol_table_sge_df["品种"].tolist():
181
230
  spot_hist_sge_df = spot_hist_sge(symbol=spot)
182
231
  print(spot_hist_sge_df)
232
+
233
+ spot_quotations_sge_df = spot_quotations_sge(symbol="Au99.99")
234
+ print(spot_quotations_sge_df)
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
- Date: 2024/4/25 20:00
4
+ Date: 2024/8/18 17:30
5
5
  Desc: 首页-行情中心-涨停板行情-涨停股池
6
6
  https://quote.eastmoney.com/ztb/detail#type=ztgc
7
7
 
@@ -44,6 +44,8 @@ def stock_zt_pool_em(date: str = "20231129") -> pd.DataFrame:
44
44
  data_json = r.json()
45
45
  if data_json["data"] is None:
46
46
  return pd.DataFrame()
47
+ if len(data_json["data"]["pool"]) == 0:
48
+ return pd.DataFrame()
47
49
  temp_df = pd.DataFrame(data_json["data"]["pool"])
48
50
  temp_df.reset_index(inplace=True)
49
51
  temp_df["index"] = range(1, len(temp_df) + 1)
@@ -129,6 +131,8 @@ def stock_zt_pool_previous_em(date: str = "20240415") -> pd.DataFrame:
129
131
  data_json = r.json()
130
132
  if data_json["data"] is None:
131
133
  return pd.DataFrame()
134
+ if len(data_json["data"]["pool"]) == 0:
135
+ return pd.DataFrame()
132
136
  temp_df = pd.DataFrame(data_json["data"]["pool"])
133
137
  temp_df.reset_index(inplace=True)
134
138
  temp_df["index"] = range(1, len(temp_df) + 1)
@@ -205,6 +209,8 @@ def stock_zt_pool_strong_em(date: str = "20231129") -> pd.DataFrame:
205
209
  data_json = r.json()
206
210
  if data_json["data"] is None:
207
211
  return pd.DataFrame()
212
+ if len(data_json["data"]["pool"]) == 0:
213
+ return pd.DataFrame()
208
214
  temp_df = pd.DataFrame(data_json["data"]["pool"])
209
215
  temp_df.reset_index(inplace=True)
210
216
  temp_df["index"] = range(1, len(temp_df) + 1)
@@ -279,7 +285,7 @@ def stock_zt_pool_sub_new_em(date: str = "20231129") -> pd.DataFrame:
279
285
  }
280
286
  r = requests.get(url, params=params)
281
287
  data_json = r.json()
282
- if data_json["data"]["pool"] == 0:
288
+ if len(data_json["data"]["pool"]) == 0:
283
289
  return pd.DataFrame()
284
290
  temp_df = pd.DataFrame(data_json["data"]["pool"])
285
291
  temp_df.reset_index(inplace=True)
@@ -367,6 +373,8 @@ def stock_zt_pool_zbgc_em(date: str = "20231129") -> pd.DataFrame:
367
373
  data_json = r.json()
368
374
  if data_json["data"] is None:
369
375
  return pd.DataFrame()
376
+ if len(data_json["data"]["pool"]) == 0:
377
+ return pd.DataFrame()
370
378
  temp_df = pd.DataFrame(data_json["data"]["pool"])
371
379
  temp_df.reset_index(inplace=True)
372
380
  temp_df["index"] = range(1, len(temp_df) + 1)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: akshare
3
- Version: 1.14.61
3
+ Version: 1.14.63
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,4 +1,4 @@
1
- akshare/__init__.py,sha256=cHN4e26HGO2wVkiuezG_GREKfXBiE1ks9zcDqrg0nKk,180882
1
+ akshare/__init__.py,sha256=CJdmywJ8pTFJlDkUKAiTGYYgjR827XXdayzoNxdKy94,180998
2
2
  akshare/datasets.py,sha256=oIu1zC7o_LMHY22lQmdM7vCnryHibKrJLBqJwQiitlI,1167
3
3
  akshare/air/__init__.py,sha256=RMTf1bT5EOE3ttWpn3hGu1LtUmsVxDoa0W7W0gXHOy8,81
4
4
  akshare/air/air_hebei.py,sha256=xIXNGLK7IGYqrkteM9fxnHAwWqk6PCQs6D9-ggZ7byY,4442
@@ -101,7 +101,7 @@ akshare/fund/fund_scale_sina.py,sha256=cQ39Pt6ia3GrVCFWv0GhLMqxyedX3qRrvkDLee7N9
101
101
  akshare/fund/fund_xq.py,sha256=qGMKYC0Vi2AXfnjsS0P9B2ITfpkQ85i4ayXA6kJ6a7o,11295
102
102
  akshare/futures/__init__.py,sha256=RMTf1bT5EOE3ttWpn3hGu1LtUmsVxDoa0W7W0gXHOy8,81
103
103
  akshare/futures/cons.py,sha256=sc0LW_k_Poc3V3r_Mz8DiKfLy7aisda28pK0u8ffMus,16193
104
- akshare/futures/cot.py,sha256=Ypo-zypEXWmCf9IsrfQAXeN5uBcMqyYV_tRX0wMp65w,58573
104
+ akshare/futures/cot.py,sha256=Kkza2slS7JQpXndKrQEEykzIjZIT3vhvtZHVJ7P1yac,58573
105
105
  akshare/futures/futures_basis.py,sha256=ixaucu9loaPUwa2BOhRek0bI6VhdXY_ScyQ2EOZEPBA,13884
106
106
  akshare/futures/futures_comex_em.py,sha256=V-mkKQkH5N8PyaZWKdyggb2lTnY8DDDxiUPt-1leQu0,3171
107
107
  akshare/futures/futures_comm_ctp.py,sha256=V8TEKO0R0i6LfE8DDFqrMA3JGwNlpmaQCvvMugKZ1I8,1004
@@ -110,7 +110,7 @@ akshare/futures/futures_contract_detail.py,sha256=auwzNdaoFi5hoJY6rNkO54v5FD2gmE
110
110
  akshare/futures/futures_daily_bar.py,sha256=Zmabe58qHxF0gJ8CKAw9uuuUtxfYMhLNWSJioMGYK04,25363
111
111
  akshare/futures/futures_foreign.py,sha256=oSIoAg5oy-CIlPWHkQffcvZGu02Y2GWOrt-6aPA53Xg,2059
112
112
  akshare/futures/futures_hf_em.py,sha256=OEUltaq1LKabl9eTQoNxswnl1BLKpB27eiIHwbu_Rh4,3178
113
- akshare/futures/futures_hq_sina.py,sha256=1gUz9t1o27khh9F5dAka3GdxZexoanbpIbfz9mrSf3I,9571
113
+ akshare/futures/futures_hq_sina.py,sha256=4qDv8U99Ic82QbFNvwsuaHZX2VPl8Ei-yNsEnRpaPZA,9582
114
114
  akshare/futures/futures_index_ccidx.py,sha256=9Rhk3ps-H69tU-NIV0W2NdLFUDTSUx0bwtePA6gLMZA,4566
115
115
  akshare/futures/futures_international.py,sha256=EE_JTjQKekx8_FU8M12wHSd1DSlfMXYFiBJ6_wmThfc,6946
116
116
  akshare/futures/futures_inventory_99.py,sha256=Nvw39obGGhgOkk_C4jOrV4gdq78dtHPOnits_B0Ljxk,8450
@@ -143,7 +143,7 @@ akshare/futures_derivative/futures_index_price_nh.py,sha256=TzrGGHvyz93UPdPGMokQ
143
143
  akshare/futures_derivative/futures_index_return_nh.py,sha256=56V3Mic8a-bKlkv4bUm_vTUC1u5qdDzrlZwsbUTCTPM,1734
144
144
  akshare/futures_derivative/futures_index_sina.py,sha256=G1dPeQcsHwMG81J4MqVjkHqFBM363ktzJmNI-EBsi3A,5902
145
145
  akshare/futures_derivative/futures_index_volatility_nh.py,sha256=IInn3yf2RqBStFcS8dHtqr3YW8myBD71v_04KA5JAy0,1824
146
- akshare/futures_derivative/futures_other_index_nh.py,sha256=03L_eJxTaQuUO1g4fnNBo-YRhZZ17hDsptMmR0YHi44,4443
146
+ akshare/futures_derivative/futures_other_index_nh.py,sha256=b2oUWSuUIEL-lr2tUK6bIVxIhFNXbp7y2IaVXWqkcz0,4414
147
147
  akshare/futures_derivative/futures_spot_sys.py,sha256=Ufqh7S7UAeW_zkASap_DZGqwyW_Vgrf2UOhedYhe-BU,3351
148
148
  akshare/fx/__init__.py,sha256=fvH_pVxTFPnzXvnPvJZDD_vv0IBJusHkJxZ3dJ8ogl8,82
149
149
  akshare/fx/cons.py,sha256=6xxySOGmJ-sd4mygg0dT48oz-vcyOQcqWY4T2h3wjQQ,585
@@ -228,7 +228,7 @@ akshare/sport/sport_olympic.py,sha256=CB1cvLpz2BWuadfonhHuQ17Qxt9X_3ks0Zc5Bff2w9
228
228
  akshare/spot/__init__.py,sha256=VGuha94pXYoezmMs3F3Q_ofaN8RZIrkJ2NtVv8hWCjY,83
229
229
  akshare/spot/spot_hog_soozhu.py,sha256=IEt7zrDs0ptAKgMA7QRIk45jcMLcA_LGq6Y3lKLFTi0,9397
230
230
  akshare/spot/spot_price_qh.py,sha256=rRv09vR8K0U_x6x8AiLgGluxytIXkLatFNVkFbIh8eQ,3756
231
- akshare/spot/spot_sge.py,sha256=Ta5EHUlGCSpNDlufIJcwgCErsJEUgH6HJHzYxoYtaMk,6313
231
+ akshare/spot/spot_sge.py,sha256=sXaUGPm8yEXogssNFyFgTlnpf363g7s3U6xO4Zyvk9g,8213
232
232
  akshare/stock/__init__.py,sha256=jSa9260d6aNZajaW68chI2mpPkDSXLOgi3eXrqo4MQ8,82
233
233
  akshare/stock/cons.py,sha256=0oyUW5Pu-iQ3qgh-TFemM_O5f1fAwVe-PsI4Qa8EYpQ,42956
234
234
  akshare/stock/stock_allotment_cninfo.py,sha256=qk--nWhskZWnUUOwBvfgiFJEOd1GqmQijzzVlORCG2I,6059
@@ -350,7 +350,7 @@ akshare/stock_feature/stock_zdhtmx_em.py,sha256=2BpJQntGgUlEIOmDlepOiOkw-e-tKLRa
350
350
  akshare/stock_feature/stock_zf_pg.py,sha256=nYJ1uLOBdzM_PDyq4MNeWoCTripFMAPoAiaPfhDqkcg,6343
351
351
  akshare/stock_feature/stock_zh_valuation_baidu.py,sha256=oxYIHP68pFvAYyqjCvZp3a9tpczTFiWhSxZ0w4eyo7I,1904
352
352
  akshare/stock_feature/stock_zh_vote_baidu.py,sha256=SsSNnCq7PDFMzWFcPFcC_MSc9rua412P14vHc923gmo,1761
353
- akshare/stock_feature/stock_ztb_em.py,sha256=-g4FeUypgf_K0B41udpBAdqa43o27KHDx8mXoyzCOfo,16718
353
+ akshare/stock_feature/stock_ztb_em.py,sha256=VaA1Hj0ExzTR7wi5mj_Ruhgvl5bZNyKINiKR2p9n73Y,17019
354
354
  akshare/stock_feature/ths.js,sha256=AWPkHf3L2Il1UUL0F5qDqNn1dfU0OlZBNUbMf8AmI3Y,39664
355
355
  akshare/stock_fundamental/__init__.py,sha256=jiXoO9OXiMxB0wHaPQkuxNckYuoFKtzuhZL1ytnE2nQ,82
356
356
  akshare/stock_fundamental/stock_finance.py,sha256=d10iE6BPMsEEPDk7-Xd5_3EnHWlUv5Y_7t7ibniW0A4,30687
@@ -380,8 +380,8 @@ akshare/utils/token_process.py,sha256=K4rGXjh_tgugbRcyOK2h2x0jP3PT65IIK7nxhUKhOe
380
380
  akshare/utils/tqdm.py,sha256=MuPNwcswkOGjwWQOMWXi9ZvQ_RmW4obCWRj2i7HM7FE,847
381
381
  tests/__init__.py,sha256=gNzhlO0UPjFq6Ieb38kaVIODXv4cTDByrdohAZnDYt4,82
382
382
  tests/test_func.py,sha256=tfvy_YnYmDra2dkKZ5JvprU1gNW5X9T634PszdSdH1A,944
383
- akshare-1.14.61.dist-info/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
384
- akshare-1.14.61.dist-info/METADATA,sha256=_nH8QPmIkI4M81cjUHqTJGidRnbdBwUSkUjZauJjgc0,13961
385
- akshare-1.14.61.dist-info/WHEEL,sha256=HiCZjzuy6Dw0hdX5R3LCFPDmFS4BWl8H-8W39XfmgX4,91
386
- akshare-1.14.61.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
387
- akshare-1.14.61.dist-info/RECORD,,
383
+ akshare-1.14.63.dist-info/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
384
+ akshare-1.14.63.dist-info/METADATA,sha256=3xjOwl22QmMxtxdLNnS3R23J9zXmEy5qFzkGpDupjNw,13961
385
+ akshare-1.14.63.dist-info/WHEEL,sha256=Mdi9PDNwEZptOjTlUcAth7XJDFtKrHYaQMPulZeBCiQ,91
386
+ akshare-1.14.63.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
387
+ akshare-1.14.63.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (72.2.0)
2
+ Generator: setuptools (73.0.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5