akshare 1.15.98__py3-none-any.whl → 1.15.99__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
@@ -3008,9 +3008,10 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
3008
3008
  1.15.96 fix: fix bond_cov_comparison interface
3009
3009
  1.15.97 fix: fix stock_intraday_em interface
3010
3010
  1.15.98 fix: fix stock_board_concept_name_em interface
3011
+ 1.15.99 fix: fix stock_esg_zd_sina interface
3011
3012
  """
3012
3013
 
3013
- __version__ = "1.15.98"
3014
+ __version__ = "1.15.99"
3014
3015
  __author__ = "AKFamily"
3015
3016
 
3016
3017
  import sys
@@ -8,6 +8,7 @@ http://www.szse.cn/market/product/option/index.html
8
8
  http://www.cffex.com.cn/hs300gzqq/
9
9
  http://www.cffex.com.cn/zz1000gzqq/
10
10
  """
11
+
11
12
  from io import BytesIO
12
13
 
13
14
  import pandas as pd
@@ -69,7 +70,7 @@ def option_finance_sse_underlying(symbol: str = "华夏科创50ETF期权") -> pd
69
70
 
70
71
 
71
72
  def option_finance_board(
72
- symbol: str = "嘉实沪深300ETF期权", end_month: str = "2306"
73
+ symbol: str = "嘉实沪深300ETF期权", end_month: str = "2306"
73
74
  ) -> pd.DataFrame:
74
75
  """
75
76
  期权当前交易日的行情数据
@@ -79,7 +80,8 @@ def option_finance_board(
79
80
  http://www.szse.cn/market/product/option/index.html
80
81
  http://www.cffex.com.cn/hs300gzqq/
81
82
  http://www.cffex.com.cn/zz1000gzqq/
82
- :param symbol: choice of {"华夏上证50ETF期权", "华泰柏瑞沪深300ETF期权", "南方中证500ETF期权", "华夏科创50ETF期权", "易方达科创50ETF期权", "嘉实沪深300ETF期权", "沪深300股指期权", "中证1000股指期权", "上证50股指期权"}
83
+ :param symbol: choice of {"华夏上证50ETF期权", "华泰柏瑞沪深300ETF期权", "南方中证500ETF期权",
84
+ "华夏科创50ETF期权", "易方达科创50ETF期权", "嘉实沪深300ETF期权", "沪深300股指期权", "中证1000股指期权", "上证50股指期权"}
83
85
  :type symbol: str
84
86
  :param end_month: 2003; 2020 年 3 月到期的期权
85
87
  :type end_month: str
@@ -100,7 +102,15 @@ def option_finance_board(
100
102
  raw_data.columns = ["合约交易代码", "当前价", "涨跌幅", "前结价", "行权价"]
101
103
  raw_data["数量"] = [data_json["total"]] * data_json["total"]
102
104
  raw_data.reset_index(inplace=True)
103
- raw_data.columns = ["日期", "合约交易代码", "当前价", "涨跌幅", "前结价", "行权价", "数量"]
105
+ raw_data.columns = [
106
+ "日期",
107
+ "合约交易代码",
108
+ "当前价",
109
+ "涨跌幅",
110
+ "前结价",
111
+ "行权价",
112
+ "数量",
113
+ ]
104
114
  return raw_data
105
115
  elif symbol == "华泰柏瑞沪深300ETF期权":
106
116
  r = requests.get(
@@ -115,7 +125,15 @@ def option_finance_board(
115
125
  raw_data.columns = ["合约交易代码", "当前价", "涨跌幅", "前结价", "行权价"]
116
126
  raw_data["数量"] = [data_json["total"]] * data_json["total"]
117
127
  raw_data.reset_index(inplace=True)
118
- raw_data.columns = ["日期", "合约交易代码", "当前价", "涨跌幅", "前结价", "行权价", "数量"]
128
+ raw_data.columns = [
129
+ "日期",
130
+ "合约交易代码",
131
+ "当前价",
132
+ "涨跌幅",
133
+ "前结价",
134
+ "行权价",
135
+ "数量",
136
+ ]
119
137
  return raw_data
120
138
  elif symbol == "南方中证500ETF期权":
121
139
  r = requests.get(
@@ -130,7 +148,15 @@ def option_finance_board(
130
148
  raw_data.columns = ["合约交易代码", "当前价", "涨跌幅", "前结价", "行权价"]
131
149
  raw_data["数量"] = [data_json["total"]] * data_json["total"]
132
150
  raw_data.reset_index(inplace=True)
133
- raw_data.columns = ["日期", "合约交易代码", "当前价", "涨跌幅", "前结价", "行权价", "数量"]
151
+ raw_data.columns = [
152
+ "日期",
153
+ "合约交易代码",
154
+ "当前价",
155
+ "涨跌幅",
156
+ "前结价",
157
+ "行权价",
158
+ "数量",
159
+ ]
134
160
  return raw_data
135
161
  elif symbol == "华夏科创50ETF期权":
136
162
  r = requests.get(
@@ -145,7 +171,15 @@ def option_finance_board(
145
171
  raw_data.columns = ["合约交易代码", "当前价", "涨跌幅", "前结价", "行权价"]
146
172
  raw_data["数量"] = [data_json["total"]] * data_json["total"]
147
173
  raw_data.reset_index(inplace=True)
148
- raw_data.columns = ["日期", "合约交易代码", "当前价", "涨跌幅", "前结价", "行权价", "数量"]
174
+ raw_data.columns = [
175
+ "日期",
176
+ "合约交易代码",
177
+ "当前价",
178
+ "涨跌幅",
179
+ "前结价",
180
+ "行权价",
181
+ "数量",
182
+ ]
149
183
  return raw_data
150
184
  elif symbol == "易方达科创50ETF期权":
151
185
  r = requests.get(
@@ -160,7 +194,15 @@ def option_finance_board(
160
194
  raw_data.columns = ["合约交易代码", "当前价", "涨跌幅", "前结价", "行权价"]
161
195
  raw_data["数量"] = [data_json["total"]] * data_json["total"]
162
196
  raw_data.reset_index(inplace=True)
163
- raw_data.columns = ["日期", "合约交易代码", "当前价", "涨跌幅", "前结价", "行权价", "数量"]
197
+ raw_data.columns = [
198
+ "日期",
199
+ "合约交易代码",
200
+ "当前价",
201
+ "涨跌幅",
202
+ "前结价",
203
+ "行权价",
204
+ "数量",
205
+ ]
164
206
  return raw_data
165
207
  elif symbol == "嘉实沪深300ETF期权":
166
208
  url = "http://www.szse.cn/api/report/ShowReport/data"
@@ -206,7 +248,7 @@ def option_finance_board(
206
248
  return big_df
207
249
  elif symbol == "沪深300股指期权":
208
250
  headers = {
209
- 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36'
251
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36"
210
252
  }
211
253
  r = requests.get(CFFEX_OPTION_URL_300, headers=headers)
212
254
  raw_df = pd.read_table(BytesIO(r.content), sep=",")
@@ -224,7 +266,7 @@ def option_finance_board(
224
266
  return raw_df
225
267
  elif symbol == "中证1000股指期权":
226
268
  headers = {
227
- 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36'
269
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36"
228
270
  }
229
271
  url = "http://www.cffex.com.cn/quote_MO.txt"
230
272
  r = requests.get(url, headers=headers)
@@ -243,7 +285,7 @@ def option_finance_board(
243
285
  return raw_df
244
286
  elif symbol == "上证50股指期权":
245
287
  headers = {
246
- 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36'
288
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36"
247
289
  }
248
290
  url = "http://www.cffex.com.cn/quote_HO.txt"
249
291
  r = requests.get(url, headers=headers)
@@ -298,7 +340,9 @@ if __name__ == "__main__":
298
340
  )
299
341
  print(option_finance_board_df)
300
342
 
301
- option_finance_board_df = option_finance_board(symbol="沪深300股指期权", end_month="2306")
343
+ option_finance_board_df = option_finance_board(
344
+ symbol="沪深300股指期权", end_month="2306"
345
+ )
302
346
  print(option_finance_board_df)
303
347
 
304
348
  option_finance_board_df = option_finance_board(
@@ -306,5 +350,7 @@ if __name__ == "__main__":
306
350
  )
307
351
  print(option_finance_board_df)
308
352
 
309
- option_finance_board_df = option_finance_board(symbol="上证50股指期权", end_month="2306")
353
+ option_finance_board_df = option_finance_board(
354
+ symbol="上证50股指期权", end_month="2306"
355
+ )
310
356
  print(option_finance_board_df)
@@ -7,10 +7,10 @@ https://finance.sina.com.cn/esg/
7
7
  """
8
8
 
9
9
  import math
10
+ from akshare.utils.tqdm import get_tqdm
10
11
 
11
12
  import pandas as pd
12
13
  import requests
13
- from tqdm import tqdm
14
14
 
15
15
 
16
16
  def stock_esg_msci_sina() -> pd.DataFrame:
@@ -25,6 +25,7 @@ def stock_esg_msci_sina() -> pd.DataFrame:
25
25
  data_json = r.json()
26
26
  page_num = math.ceil(int(data_json["result"]["data"]["total"]) / 100)
27
27
  big_df = pd.DataFrame()
28
+ tqdm = get_tqdm()
28
29
  for page in tqdm(range(1, page_num + 1), leave=False):
29
30
  headers = {
30
31
  "Referer": "https://finance.sina.com.cn/",
@@ -175,6 +176,7 @@ def stock_esg_rate_sina() -> pd.DataFrame:
175
176
  data_json = r.json()
176
177
  page_num = math.ceil(int(data_json["result"]["data"]["info"]["total"]) / 200)
177
178
  big_df = pd.DataFrame()
179
+ tqdm = get_tqdm()
178
180
  for page in tqdm(range(1, page_num + 1), leave=False):
179
181
  url = f"https://global.finance.sina.com.cn/api/openapi.php/EsgService.getEsgStocks?page={page}&num=200"
180
182
  r = requests.get(url)
@@ -223,10 +225,20 @@ def stock_esg_zd_sina() -> pd.DataFrame:
223
225
  :return: 秩鼎
224
226
  :rtype: pandas.DataFrame
225
227
  """
226
- url = "https://global.finance.sina.com.cn/api/openapi.php/EsgService.getZdEsgStocks?p=1&num=20000"
227
- r = requests.get(url)
228
+ url = "https://global.finance.sina.com.cn/api/openapi.php/EsgService.getZdEsgStocks"
229
+ params = {"p": "1", "num": "100"}
230
+ r = requests.get(url, params=params)
228
231
  data_json = r.json()
229
- big_df = pd.DataFrame(data_json["result"]["data"]["data"])
232
+ tqdm = get_tqdm()
233
+ total_page = math.ceil(int(data_json["result"]["data"]["total"]) / 100)
234
+ temp_list = []
235
+ for page in tqdm(range(1, total_page + 1), leave=False):
236
+ params = {"p": str(page), "num": "100"}
237
+ r = requests.get(url, params=params)
238
+ data_json = r.json()
239
+ temp_df = pd.DataFrame(data_json["result"]["data"]["data"])
240
+ temp_list.append(temp_df)
241
+ big_df = pd.concat(temp_list, ignore_index=True)
230
242
  big_df.rename(
231
243
  columns={
232
244
  "ticker": "股票代码",
@@ -265,6 +277,7 @@ def stock_esg_hz_sina() -> pd.DataFrame:
265
277
  data_json = r.json()
266
278
  total_page = math.ceil(int(data_json["result"]["data"]["total"]) / 100)
267
279
  big_df = pd.DataFrame()
280
+ tqdm = get_tqdm()
268
281
  for page in tqdm(range(1, total_page + 1), leave=False):
269
282
  params = {"p": str(page), "num": "100"}
270
283
  r = requests.get(url, params=params)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: akshare
3
- Version: 1.15.98
3
+ Version: 1.15.99
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=I2klQSyfHypnVa11tG7e1M1KRHnX4aNXNHvTmaxGTFQ,187478
1
+ akshare/__init__.py,sha256=A7PXQwrV1Zg07nFz4vVEUuJvqmhjqpAhFcxHJwyH3Y4,187523
2
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
@@ -195,7 +195,7 @@ akshare/option/option_commodity_sina.py,sha256=r6qK_K7w3A6Uqp5ZtBb4pW7vH04oMyeCE
195
195
  akshare/option/option_czce.py,sha256=L4i7TVKcOns5ZKoqq-mrSykdx3SGwu6OL4eI77-A_lc,1812
196
196
  akshare/option/option_daily_stats_sse_szse.py,sha256=Ip_vE81qbEGt4ocbtWfUT7XGu0HWU0zKkzauZeq9RJA,4962
197
197
  akshare/option/option_em.py,sha256=Q7t1z5GI4SQ9x9lpS7NClMikT4GP_a9vWcoEc9UIFiU,5949
198
- akshare/option/option_finance.py,sha256=K91iFIEUVQOWVrJOjMazixkTAxR4_kgHEPeDkK0GOBU,12064
198
+ akshare/option/option_finance.py,sha256=7rnEeHo-7Sddrs36Q4c99CXL_9m8IJzw9S1Aqh3Bw90,12568
199
199
  akshare/option/option_finance_sina.py,sha256=-bFes2XzYE84eMOQZIm_fVCMS17ltBL45J0HAnf5hCg,37848
200
200
  akshare/option/option_lhb_em.py,sha256=VHrV2BWAPE7tj8q7J5Crjm-sey8QarYd1lgxKbkX2CQ,9090
201
201
  akshare/option/option_premium_analysis_em.py,sha256=uL-wxwsZu3UbeUmHs5W1x3PBfk0HfVyGubx6FvkeyPg,2471
@@ -301,7 +301,7 @@ akshare/stock_feature/stock_cyq_em.py,sha256=ijHL6BWGDLI8dctYQ4pYWDK2UHOSfn5mRu0
301
301
  akshare/stock_feature/stock_disclosure_cninfo.py,sha256=1Eje6abqk6HNOlpCueGnaR_r1-aqTv2f51h4QAHCQzo,10661
302
302
  akshare/stock_feature/stock_dxsyl_em.py,sha256=9d5tfHCB9Ls1FQdyOCElZt8YF5ltKwPa4AvnXL8u48o,18789
303
303
  akshare/stock_feature/stock_ebs_lg.py,sha256=rnFbOHnZPZUJ3K7-QdTZXqbIFazL1wSkTvn4Mpwn7bI,1750
304
- akshare/stock_feature/stock_esg_sina.py,sha256=RJmeYi2YDns3Do-vydtKgJEQsLVgmmV1GVZtTXlxKqk,11029
304
+ akshare/stock_feature/stock_esg_sina.py,sha256=NKHbyYtuSgYubko1jDWgW0qQFTTcEVEtKA0kasHsahc,11544
305
305
  akshare/stock_feature/stock_fhps_em.py,sha256=85gfdMP3OtA3wsEGlB2RkdHiOEZjFff1ls5x1oWSQPQ,9469
306
306
  akshare/stock_feature/stock_fhps_ths.py,sha256=NosH1xyT1Pif4T9tchdtJTBEpe6g1Wq2kjvxJDsZD_Y,1805
307
307
  akshare/stock_feature/stock_fund_flow.py,sha256=cqBqsFrzwmuLP3k3wYQzvW085QUUfHZ4nBW8Zx7egkQ,18669
@@ -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=j1MGYbZI2if2j_LY1S4FLsf4qfq4NwVqD5wmRlv5Log,832
383
- akshare-1.15.98.dist-info/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
384
- akshare-1.15.98.dist-info/METADATA,sha256=xBzpSWj7TT31-9hoWxCFlwz4aX3I_jXjaCqkC7Uqhb4,13679
385
- akshare-1.15.98.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
386
- akshare-1.15.98.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
387
- akshare-1.15.98.dist-info/RECORD,,
383
+ akshare-1.15.99.dist-info/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
384
+ akshare-1.15.99.dist-info/METADATA,sha256=lAYoXAL-syR6Mg73zy_xiTUCSkvxnFIxOxyK-lUTQNA,13679
385
+ akshare-1.15.99.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
386
+ akshare-1.15.99.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
387
+ akshare-1.15.99.dist-info/RECORD,,