akshare 1.14.43__py3-none-any.whl → 1.14.45__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
@@ -2854,9 +2854,11 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
2854
2854
  1.14.41 fix: fix fund_report_asset_allocation_cninfo interface
2855
2855
  1.14.42 fix: fix stock_new_gh_cninfo interface
2856
2856
  1.14.43 fix: fix stock_share_change_cninfo interface
2857
+ 1.14.44 fix: fix stock_hk_famous_spot_em interface
2858
+ 1.14.45 fix: fix option_lhb_em interface
2857
2859
  """
2858
2860
 
2859
- __version__ = "1.14.43"
2861
+ __version__ = "1.14.45"
2860
2862
  __author__ = "AKFamily"
2861
2863
 
2862
2864
  import sys
@@ -1,12 +1,13 @@
1
1
  # -*- coding:utf-8 -*-
2
2
  # !/usr/bin/env python
3
3
  """
4
- Date: 2022/1/23 10:58
4
+ Date: 2024/7/30 17:00
5
5
  Desc: 东方财富网-数据中心-特色数据-期权龙虎榜单
6
6
  https://data.eastmoney.com/other/qqlhb.html
7
7
  """
8
- import requests
8
+
9
9
  import pandas as pd
10
+ import requests
10
11
 
11
12
 
12
13
  def option_lhb_em(
@@ -15,7 +16,7 @@ def option_lhb_em(
15
16
  trade_date: str = "20220121",
16
17
  ) -> pd.DataFrame:
17
18
  """
18
- 东方财富网-数据中心-特色数据-期权龙虎榜单
19
+ 东方财富网-数据中心-期货期权-期权龙虎榜单
19
20
  https://data.eastmoney.com/other/qqlhb.html
20
21
  :param symbol: 期权代码; choice of {"510050", "510300", "159919"}
21
22
  :type symbol: str
@@ -30,7 +31,8 @@ def option_lhb_em(
30
31
  params = {
31
32
  "type": "RPT_IF_BILLBOARD_TD",
32
33
  "sty": "ALL",
33
- "filter": f"""(SECURITY_CODE="{symbol}")(TRADE_DATE='{'-'.join([trade_date[:4], trade_date[4:6], trade_date[6:]])}')""",
34
+ "filter": f"""(SECURITY_CODE="{symbol}")(TRADE_DATE='{'-'.join([trade_date[:4],
35
+ trade_date[4:6], trade_date[6:]])}')""",
34
36
  "p": "1",
35
37
  "pss": "200",
36
38
  "source": "IFBILLBOARD",
@@ -84,12 +86,16 @@ def option_lhb_em(
84
86
  "占总交易量比例",
85
87
  ]
86
88
  ]
87
- temp_df["交易日期"] = pd.to_datetime(temp_df["交易日期"]).dt.date
88
- temp_df["名次"] = pd.to_numeric(temp_df["名次"])
89
- temp_df["交易量"] = pd.to_numeric(temp_df["交易量"])
90
- temp_df["增减"] = pd.to_numeric(temp_df["增减"])
91
- temp_df["净认沽量"] = pd.to_numeric(temp_df["净认沽量"])
92
- temp_df["占总交易量比例"] = pd.to_numeric(temp_df["占总交易量比例"])
89
+ temp_df["交易日期"] = pd.to_datetime(
90
+ temp_df["交易日期"], errors="coerce"
91
+ ).dt.date
92
+ temp_df["名次"] = pd.to_numeric(temp_df["名次"], errors="coerce")
93
+ temp_df["交易量"] = pd.to_numeric(temp_df["交易量"], errors="coerce")
94
+ temp_df["增减"] = pd.to_numeric(temp_df["增减"], errors="coerce")
95
+ temp_df["净认沽量"] = pd.to_numeric(temp_df["净认沽量"], errors="coerce")
96
+ temp_df["占总交易量比例"] = pd.to_numeric(
97
+ temp_df["占总交易量比例"], errors="coerce"
98
+ )
93
99
  temp_df.reset_index(drop=True, inplace=True)
94
100
  return temp_df
95
101
  elif indicator == "期权持仓情况-认沽持仓量":
@@ -135,12 +141,16 @@ def option_lhb_em(
135
141
  "占总交易量比例",
136
142
  ]
137
143
  ]
138
- temp_df["交易日期"] = pd.to_datetime(temp_df["交易日期"]).dt.date
139
- temp_df["名次"] = pd.to_numeric(temp_df["名次"])
140
- temp_df["持仓量"] = pd.to_numeric(temp_df["持仓量"])
141
- temp_df["增减"] = pd.to_numeric(temp_df["增减"])
142
- temp_df["净持仓量"] = pd.to_numeric(temp_df["净持仓量"])
143
- temp_df["占总交易量比例"] = pd.to_numeric(temp_df["占总交易量比例"])
144
+ temp_df["交易日期"] = pd.to_datetime(
145
+ temp_df["交易日期"], errors="coerce"
146
+ ).dt.date
147
+ temp_df["名次"] = pd.to_numeric(temp_df["名次"], errors="coerce")
148
+ temp_df["持仓量"] = pd.to_numeric(temp_df["持仓量"], errors="coerce")
149
+ temp_df["增减"] = pd.to_numeric(temp_df["增减"], errors="coerce")
150
+ temp_df["净持仓量"] = pd.to_numeric(temp_df["净持仓量"], errors="coerce")
151
+ temp_df["占总交易量比例"] = pd.to_numeric(
152
+ temp_df["占总交易量比例"], errors="coerce"
153
+ )
144
154
  temp_df.reset_index(drop=True, inplace=True)
145
155
  return temp_df
146
156
  elif indicator == "期权交易情况-认购交易量":
@@ -186,43 +196,35 @@ def option_lhb_em(
186
196
  "占总交易量比例",
187
197
  ]
188
198
  ]
189
- temp_df["交易日期"] = pd.to_datetime(temp_df["交易日期"]).dt.date
190
- temp_df["名次"] = pd.to_numeric(temp_df["名次"])
191
- temp_df["交易量"] = pd.to_numeric(temp_df["交易量"])
192
- temp_df["增减"] = pd.to_numeric(temp_df["增减"])
193
- temp_df["净交易量"] = pd.to_numeric(temp_df["净交易量"])
194
- temp_df["占总交易量比例"] = pd.to_numeric(temp_df["占总交易量比例"])
199
+ temp_df["交易日期"] = pd.to_datetime(
200
+ temp_df["交易日期"], errors="coerce"
201
+ ).dt.date
202
+ temp_df["名次"] = pd.to_numeric(temp_df["名次"], errors="coerce")
203
+ temp_df["交易量"] = pd.to_numeric(temp_df["交易量"], errors="coerce")
204
+ temp_df["增减"] = pd.to_numeric(temp_df["增减"], errors="coerce")
205
+ temp_df["净交易量"] = pd.to_numeric(temp_df["净交易量"], errors="coerce")
206
+ temp_df["占总交易量比例"] = pd.to_numeric(
207
+ temp_df["占总交易量比例"], errors="coerce"
208
+ )
195
209
  temp_df.reset_index(drop=True, inplace=True)
196
210
  return temp_df
197
211
  elif indicator == "期权持仓情况-认购持仓量":
198
212
  temp_df = temp_df.iloc[21:, :]
199
- temp_df.columns = [
200
- "交易类型",
201
- "交易日期",
202
- "证券代码",
203
- "标的名称",
204
- "-",
205
- "-",
206
- "机构",
207
- "名次",
208
- "-",
209
- "-",
210
- "-" "-",
211
- "-",
212
- "-",
213
- "-",
214
- "-",
215
- "-",
216
- "-",
217
- "-",
218
- "-",
219
- "-",
220
- "-",
221
- "持仓量",
222
- "增减",
223
- "净持仓量",
224
- "占总交易量比例",
225
- ]
213
+ temp_df.rename(
214
+ columns={
215
+ "MEMBER_RANK": "名次",
216
+ "MEMBER_NAME_ABBR": "机构",
217
+ "BUY_POSITION": "持仓量",
218
+ "BUY_POSITION_CHANGE": "增减",
219
+ "NET_BUY_POSITION": "净持仓量",
220
+ "BUY_POSITION_RATIO": "占总交易量比例",
221
+ "TRADE_TYPE": "交易类型",
222
+ "TRADE_DATE": "交易日期",
223
+ "SECURITY_CODE": "证券代码",
224
+ "TARGET_NAME": "标的名称",
225
+ },
226
+ inplace=True,
227
+ )
226
228
  temp_df = temp_df[
227
229
  [
228
230
  "交易类型",
@@ -237,12 +239,16 @@ def option_lhb_em(
237
239
  "占总交易量比例",
238
240
  ]
239
241
  ]
240
- temp_df["交易日期"] = pd.to_datetime(temp_df["交易日期"]).dt.date
241
- temp_df["名次"] = pd.to_numeric(temp_df["名次"])
242
- temp_df["持仓量"] = pd.to_numeric(temp_df["持仓量"])
243
- temp_df["增减"] = pd.to_numeric(temp_df["增减"])
244
- temp_df["净持仓量"] = pd.to_numeric(temp_df["净持仓量"])
245
- temp_df["占总交易量比例"] = pd.to_numeric(temp_df["占总交易量比例"])
242
+ temp_df["交易日期"] = pd.to_datetime(
243
+ temp_df["交易日期"], errors="coerce"
244
+ ).dt.date
245
+ temp_df["名次"] = pd.to_numeric(temp_df["名次"], errors="coerce")
246
+ temp_df["持仓量"] = pd.to_numeric(temp_df["持仓量"], errors="coerce")
247
+ temp_df["增减"] = pd.to_numeric(temp_df["增减"], errors="coerce")
248
+ temp_df["净持仓量"] = pd.to_numeric(temp_df["净持仓量"], errors="coerce")
249
+ temp_df["占总交易量比例"] = pd.to_numeric(
250
+ temp_df["占总交易量比例"], errors="coerce"
251
+ )
246
252
  temp_df.reset_index(drop=True, inplace=True)
247
253
  return temp_df
248
254
 
@@ -259,7 +265,7 @@ if __name__ == "__main__":
259
265
  print(option_lhb_em_df)
260
266
 
261
267
  option_lhb_em_df = option_lhb_em(
262
- symbol="510300", indicator="期权持仓情况-认购持仓量", trade_date="20220124"
268
+ symbol="159919", indicator="期权持仓情况-认购持仓量", trade_date="20240712"
263
269
  )
264
270
  print(option_lhb_em_df)
265
271
 
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
- Date: 2024/7/24 13:30
4
+ Date: 2024/7/26 18:30
5
5
  Desc: 东方财富网-行情中心-港股市场-知名港股
6
6
  https://quote.eastmoney.com/center/gridlist.html#hk_wellknown
7
7
  """
@@ -5,6 +5,7 @@ Date: 2023/10/14 22:00
5
5
  Desc: 东财财富-日内分时数据
6
6
  https://quote.eastmoney.com/f1.html?newcode=0.000001
7
7
  """
8
+
8
9
  import json
9
10
  from functools import lru_cache
10
11
 
@@ -130,11 +131,13 @@ def stock_intraday_em(symbol: str = "000001") -> pd.DataFrame:
130
131
  temp_df = pd.DataFrame(
131
132
  [item.split(",") for item in event_json["data"]["details"]]
132
133
  )
133
- big_df = pd.concat([big_df, temp_df], ignore_index=True)
134
+ big_df = pd.concat(objs=[big_df, temp_df], ignore_index=True)
134
135
  break
135
136
 
136
137
  big_df.columns = ["时间", "成交价", "手数", "-", "买卖盘性质"]
137
- big_df['买卖盘性质'] = big_df['买卖盘性质'].map({'2': '买盘', '1': '卖盘', '4': '中性盘'})
138
+ big_df["买卖盘性质"] = big_df["买卖盘性质"].map(
139
+ {"2": "买盘", "1": "卖盘", "4": "中性盘"}
140
+ )
138
141
  big_df = big_df[["时间", "成交价", "手数", "买卖盘性质"]]
139
142
  big_df["成交价"] = pd.to_numeric(big_df["成交价"], errors="coerce")
140
143
  big_df["手数"] = pd.to_numeric(big_df["手数"], errors="coerce")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: akshare
3
- Version: 1.14.43
3
+ Version: 1.14.45
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=LnUwj18g8PkkIa_nNDH2ts2oLlOBepdIMaIQ75sn5eg,179919
1
+ akshare/__init__.py,sha256=DtCCpn7g7OsBpdtGllo_xkvDfDqDQajNcTA52L55f7c,180011
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
@@ -202,7 +202,7 @@ akshare/option/option_daily_stats_sse_szse.py,sha256=Ip_vE81qbEGt4ocbtWfUT7XGu0H
202
202
  akshare/option/option_em.py,sha256=Q7t1z5GI4SQ9x9lpS7NClMikT4GP_a9vWcoEc9UIFiU,5949
203
203
  akshare/option/option_finance.py,sha256=K91iFIEUVQOWVrJOjMazixkTAxR4_kgHEPeDkK0GOBU,12064
204
204
  akshare/option/option_finance_sina.py,sha256=-bFes2XzYE84eMOQZIm_fVCMS17ltBL45J0HAnf5hCg,37848
205
- akshare/option/option_lhb_em.py,sha256=n89aFmZC_r1V8-vv7e1-Tba6Tq2fvIp6KELcDCCFE70,8417
205
+ akshare/option/option_lhb_em.py,sha256=VHrV2BWAPE7tj8q7J5Crjm-sey8QarYd1lgxKbkX2CQ,9090
206
206
  akshare/option/option_premium_analysis_em.py,sha256=uL-wxwsZu3UbeUmHs5W1x3PBfk0HfVyGubx6FvkeyPg,2471
207
207
  akshare/option/option_risk_analysis_em.py,sha256=WYwjXzZhIr8WpwoVKXfAnFA7Ylx_vLQiFDeTxDvrnBk,2577
208
208
  akshare/option/option_risk_indicator_sse.py,sha256=W1_mGrk8M9pbbadzSAy5euWMEGn4-cVWBc8Jk_I2WmI,2484
@@ -244,7 +244,7 @@ akshare/stock/stock_dzjy_em.py,sha256=AOgZTThw3kr_0N0y6-ujthaVg-OK0EYGGeetD58Xqm
244
244
  akshare/stock/stock_fund_em.py,sha256=wTpPCOh6PcwHK8iL8iWBgzIGXLGn5vDo-PLzHVM21xY,48849
245
245
  akshare/stock/stock_fund_hold.py,sha256=iFEmRFber7MF6aPi0QOJxpvYjO7I26KouUvC-xTQdCk,6056
246
246
  akshare/stock/stock_gsrl_em.py,sha256=oy5vO681ZPTEehZgz10T8jgIQ8dNm_E7MXGr1PGoHqI,1951
247
- akshare/stock/stock_hk_famous.py,sha256=2tAiC86vpcxwX-2fpV4jjQMExUhG2f7C450fbl_G_zY,3015
247
+ akshare/stock/stock_hk_famous.py,sha256=g-p1cdRibei9fw2HEMPyarLP-wT4bFwIK7Mxi77jH9E,3015
248
248
  akshare/stock/stock_hk_fhpx_ths.py,sha256=68soKJIOMoAGuCvJIMZBVU-2wL_umtv67SuqVzl2C14,2191
249
249
  akshare/stock/stock_hk_hot_rank_em.py,sha256=IhLGahWXfYPQRrCoB1Ph7DRbs_39BcrmXpIgXgEkttg,4746
250
250
  akshare/stock/stock_hk_sina.py,sha256=sRX977vZ_nbuJ2Y7a8WA6efHp79h2ikocH3xfZ1hLfg,9586
@@ -260,7 +260,7 @@ akshare/stock/stock_industry_pe_cninfo.py,sha256=0OjjsFGG90zJRZEBqaCsjKSpSAgrp3P
260
260
  akshare/stock/stock_industry_sw.py,sha256=C0FjDg976EA0EksRS3sChbmJOZmOPEOzKCrHVs2YqTg,1441
261
261
  akshare/stock/stock_info.py,sha256=AqzLzsTlYTSExBtyrZZBjI-D-VROj9e7Sq37WKHJ7XQ,16314
262
262
  akshare/stock/stock_info_em.py,sha256=3um5PdmmXb4aR4N1TZrnqNj8a3FDwbMESlZ70KgWhPo,2555
263
- akshare/stock/stock_intraday_em.py,sha256=tqbxOAXkabcW57XQ29vSPY6B4xVnxg_Rw3aykkBhLrw,4512
263
+ akshare/stock/stock_intraday_em.py,sha256=r1DvqVpRMJH_Y14GmgbKXQUWYi_KFhnEvsHD0Mp384o,4532
264
264
  akshare/stock/stock_intraday_sina.py,sha256=HMuAAO2Teu4NUrOcBvyJdxYgWx-51qJCdtcqFmFNQg8,2359
265
265
  akshare/stock/stock_ipo_summary_cninfo.py,sha256=Ma-54GsOOhRWxilLH-Qmm0VVbpJQGf2XWKaJ8NBSgAY,3847
266
266
  akshare/stock/stock_new_cninfo.py,sha256=EOuZowDLQSSHyPAwXcuPXbQkqhbz2nRBZsM7o2ZWILE,5725
@@ -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.43.dist-info/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
384
- akshare-1.14.43.dist-info/METADATA,sha256=RS22pTu3JedVL7DolFScGLcJgY4MHm2p-b4MDxcvlpE,13976
385
- akshare-1.14.43.dist-info/WHEEL,sha256=Wyh-_nZ0DJYolHNn1_hMa4lM7uDedD_RGVwbmTjyItk,91
386
- akshare-1.14.43.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
387
- akshare-1.14.43.dist-info/RECORD,,
383
+ akshare-1.14.45.dist-info/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
384
+ akshare-1.14.45.dist-info/METADATA,sha256=bYKgJn3zZrvoeWkvWXuEcvnU-e3rtRWjCXb_v-FCSog,13976
385
+ akshare-1.14.45.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
386
+ akshare-1.14.45.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
387
+ akshare-1.14.45.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (71.1.0)
2
+ Generator: setuptools (72.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5