akshare 1.16.42__py3-none-any.whl → 1.16.43__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.
akshare/__init__.py CHANGED
@@ -3051,9 +3051,10 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
3051
3051
  1.16.40 add: add stock_individual_basic_info_xq interface
3052
3052
  1.16.41 fix: fix stock_individual_fund_flow_rank interface
3053
3053
  1.16.42 fix: fix stock_concept_fund_flow_hist interface
3054
+ 1.16.43 fix: fix option_value_analysis_em interface
3054
3055
  """
3055
3056
 
3056
- __version__ = "1.16.42"
3057
+ __version__ = "1.16.43"
3057
3058
  __author__ = "AKFamily"
3058
3059
 
3059
3060
  import sys
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
- Date: 2024/3/20 15:00
4
+ Date: 2025/3/11 17:00
5
5
  Desc: 东方财富-LOF 行情
6
6
  https://quote.eastmoney.com/center/gridlist.html#fund_lof
7
7
  https://quote.eastmoney.com/sz166009.html
@@ -12,6 +12,8 @@ from functools import lru_cache
12
12
  import pandas as pd
13
13
  import requests
14
14
 
15
+ from akshare.utils.func import fetch_paginated_data
16
+
15
17
 
16
18
  @lru_cache()
17
19
  def _fund_lof_code_id_map_em() -> dict:
@@ -24,21 +26,19 @@ def _fund_lof_code_id_map_em() -> dict:
24
26
  url = "https://2.push2.eastmoney.com/api/qt/clist/get"
25
27
  params = {
26
28
  "pn": "1",
27
- "pz": "5000",
29
+ "pz": "100",
28
30
  "po": "1",
29
- "np": "2",
31
+ "np": "1",
30
32
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
31
33
  "fltt": "2",
32
34
  "invt": "2",
33
35
  "wbp2u": "|0|0|0|web",
34
- "fid": "f3",
36
+ "fid": "f12",
35
37
  "fs": "b:MK0404,b:MK0405,b:MK0406,b:MK0407",
36
- "fields": "f12,f13",
38
+ "fields": "f3,f12,f13",
37
39
  "_": "1672806290972",
38
40
  }
39
- r = requests.get(url, params=params)
40
- data_json = r.json()
41
- temp_df = pd.DataFrame(data_json["data"]["diff"]).T
41
+ temp_df = fetch_paginated_data(url, params)
42
42
  temp_dict = dict(zip(temp_df["f12"], temp_df["f13"]))
43
43
  return temp_dict
44
44
 
@@ -53,9 +53,9 @@ def fund_lof_spot_em() -> pd.DataFrame:
53
53
  url = "https://88.push2.eastmoney.com/api/qt/clist/get"
54
54
  params = {
55
55
  "pn": "1",
56
- "pz": "5000",
56
+ "pz": "100",
57
57
  "po": "1",
58
- "np": "2",
58
+ "np": "1",
59
59
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
60
60
  "fltt": "2",
61
61
  "invt": "2",
@@ -66,9 +66,7 @@ def fund_lof_spot_em() -> pd.DataFrame:
66
66
  "f15,f16,f17,f18,f20,f21,f23,f24,f25,f22,f11,f62,f128,f136,f115,f152",
67
67
  "_": "1672806290972",
68
68
  }
69
- r = requests.get(url, params=params)
70
- data_json = r.json()
71
- temp_df = pd.DataFrame(data_json["data"]["diff"]).T
69
+ temp_df = fetch_paginated_data(url, params)
72
70
  temp_df.rename(
73
71
  columns={
74
72
  "f12": "代码",
@@ -348,7 +346,7 @@ if __name__ == "__main__":
348
346
  symbol="166009",
349
347
  period="daily",
350
348
  start_date="20000101",
351
- end_date="20230703",
349
+ end_date="20250311",
352
350
  adjust="hfq",
353
351
  )
354
352
  print(fund_lof_hist_em_df)
@@ -357,7 +355,7 @@ if __name__ == "__main__":
357
355
  symbol="166009",
358
356
  period="1",
359
357
  adjust="",
360
- start_date="2024-03-20 09:30:00",
361
- end_date="2024-03-20 14:40:00",
358
+ start_date="2025-03-11 09:30:00",
359
+ end_date="2025-03-11 14:40:00",
362
360
  )
363
361
  print(fund_lof_hist_min_em_df)
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
- Date: 2025/2/24 18:20
4
+ Date: 2025/3/11 17:00
5
5
  Desc: 东方财富网-指数行情数据
6
6
  """
7
7
 
@@ -10,6 +10,8 @@ from functools import lru_cache
10
10
  import pandas as pd
11
11
  import requests
12
12
 
13
+ from akshare.utils.func import fetch_paginated_data
14
+
13
15
 
14
16
  @lru_cache()
15
17
  def index_code_id_map_em() -> dict:
@@ -22,63 +24,50 @@ def index_code_id_map_em() -> dict:
22
24
  url = "https://80.push2.eastmoney.com/api/qt/clist/get"
23
25
  params = {
24
26
  "pn": "1",
25
- "pz": "50000",
27
+ "pz": "100",
26
28
  "po": "1",
27
- "np": "2",
29
+ "np": "1",
28
30
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
29
31
  "fltt": "2",
30
32
  "invt": "2",
31
33
  "fid": "f3",
32
34
  "fs": "m:1 t:2,m:1 t:23",
33
- "fields": "f12",
35
+ "fields": "f3,f12",
34
36
  "_": "1623833739532",
35
37
  }
36
- r = requests.get(url, params=params)
37
- data_json = r.json()
38
- if not data_json["data"]["diff"]:
39
- return dict()
40
- temp_df = pd.DataFrame(data_json["data"]["diff"]).T
38
+ temp_df = fetch_paginated_data(url, params)
41
39
  temp_df["market_id"] = 1
42
- temp_df.columns = ["sh_code", "sh_id"]
43
- code_id_dict = dict(zip(temp_df["sh_code"], temp_df["sh_id"]))
40
+ code_id_dict = dict(zip(temp_df["f12"], temp_df["market_id"]))
44
41
  params = {
45
42
  "pn": "1",
46
- "pz": "10000",
43
+ "pz": "100",
47
44
  "po": "1",
48
- "np": "2",
45
+ "np": "1",
49
46
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
50
47
  "fltt": "2",
51
48
  "invt": "2",
52
49
  "fid": "f3",
53
50
  "fs": "m:0 t:6,m:0 t:80",
54
- "fields": "f12",
51
+ "fields": "f3,f12",
55
52
  "_": "1623833739532",
56
53
  }
57
- r = requests.get(url, params=params)
58
- data_json = r.json()
59
- if not data_json["data"]["diff"]:
60
- return dict()
61
- temp_df_sz = pd.DataFrame(data_json["data"]["diff"]).T
54
+ temp_df_sz = fetch_paginated_data(url, params)
62
55
  temp_df_sz["sz_id"] = 0
63
56
  code_id_dict.update(dict(zip(temp_df_sz["f12"], temp_df_sz["sz_id"])))
64
57
  params = {
65
58
  "pn": "1",
66
- "pz": "10000",
59
+ "pz": "100",
67
60
  "po": "1",
68
- "np": "2",
61
+ "np": "1",
69
62
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
70
63
  "fltt": "2",
71
64
  "invt": "2",
72
65
  "fid": "f3",
73
66
  "fs": "m:0 t:81 s:2048",
74
- "fields": "f12",
67
+ "fields": "f3,f12",
75
68
  "_": "1623833739532",
76
69
  }
77
- r = requests.get(url, params=params)
78
- data_json = r.json()
79
- if not data_json["data"]["diff"]:
80
- return dict()
81
- temp_df_sz = pd.DataFrame(data_json["data"]["diff"]).T
70
+ temp_df_sz = fetch_paginated_data(url, params)
82
71
  temp_df_sz["bj_id"] = 0
83
72
  code_id_dict.update(dict(zip(temp_df_sz["f12"], temp_df_sz["bj_id"])))
84
73
  code_id_dict = {
@@ -440,7 +429,7 @@ if __name__ == "__main__":
440
429
  index_zh_a_hist_min_em_df = index_zh_a_hist_min_em(
441
430
  symbol="000001",
442
431
  period="1",
443
- start_date="2025-02-24 09:30:00",
444
- end_date="2025-02-24 19:00:00",
432
+ start_date="2025-03-11 09:30:00",
433
+ end_date="2025-03-11 19:00:00",
445
434
  )
446
435
  print(index_zh_a_hist_min_em_df)
@@ -1,14 +1,15 @@
1
1
  # -*- coding:utf-8 -*-
2
2
  # !/usr/bin/env python
3
3
  """
4
- Date: 2025/2/22 21:00
4
+ Date: 2025/3/11 17:00
5
5
  Desc: 东方财富网-数据中心-特色数据-期权折溢价
6
6
  https://data.eastmoney.com/other/premium.html
7
7
  """
8
8
 
9
- import requests
10
9
  import pandas as pd
11
10
 
11
+ from akshare.utils.func import fetch_paginated_data
12
+
12
13
 
13
14
  def option_premium_analysis_em() -> pd.DataFrame:
14
15
  """
@@ -21,19 +22,18 @@ def option_premium_analysis_em() -> pd.DataFrame:
21
22
  params = {
22
23
  "fid": "f250",
23
24
  "po": "1",
24
- "pz": "50000",
25
+ "pz": "100",
25
26
  "pn": "1",
26
- "np": "2",
27
+ "np": "1",
27
28
  "fltt": "2",
28
29
  "invt": "2",
29
30
  "ut": "b2884a393a59ad64002292a3e90d46a5",
30
31
  "fields": "f1,f2,f3,f12,f13,f14,f161,f250,f330,f331,f332,f333,f334,f335,f337,f301,f152",
31
32
  "fs": "m:10",
32
33
  }
33
- r = requests.get(url, params=params)
34
- data_json = r.json()
35
- temp_df = pd.DataFrame(data_json["data"]["diff"]).T
34
+ temp_df = fetch_paginated_data(url, params)
36
35
  temp_df.columns = [
36
+ "-",
37
37
  "-",
38
38
  "最新价",
39
39
  "涨跌幅",
@@ -74,7 +74,9 @@ def option_premium_analysis_em() -> pd.DataFrame:
74
74
  temp_df["标的最新价"] = pd.to_numeric(temp_df["标的最新价"], errors="coerce")
75
75
  temp_df["标的涨跌幅"] = pd.to_numeric(temp_df["标的涨跌幅"], errors="coerce")
76
76
  temp_df["盈亏平衡价"] = pd.to_numeric(temp_df["盈亏平衡价"], errors="coerce")
77
- temp_df["到期日"] = pd.to_datetime(temp_df["到期日"].astype(str)).dt.date
77
+ temp_df["到期日"] = pd.to_datetime(
78
+ temp_df["到期日"].astype(str), errors="coerce"
79
+ ).dt.date
78
80
  return temp_df
79
81
 
80
82
 
@@ -1,14 +1,15 @@
1
1
  # -*- coding:utf-8 -*-
2
2
  # !/usr/bin/env python
3
3
  """
4
- Date: 2025/2/22 21:00
4
+ Date: 2025/3/11 17:00
5
5
  Desc: 东方财富网-数据中心-特色数据-期权价值分析
6
6
  https://data.eastmoney.com/other/valueAnal.html
7
7
  """
8
8
 
9
- import requests
10
9
  import pandas as pd
11
10
 
11
+ from akshare.utils.func import fetch_paginated_data
12
+
12
13
 
13
14
  def option_value_analysis_em() -> pd.DataFrame:
14
15
  """
@@ -21,19 +22,18 @@ def option_value_analysis_em() -> pd.DataFrame:
21
22
  params = {
22
23
  "fid": "f301",
23
24
  "po": "1",
24
- "pz": "50000",
25
+ "pz": "100",
25
26
  "pn": "1",
26
- "np": "2",
27
+ "np": "1",
27
28
  "fltt": "2",
28
29
  "invt": "2",
29
30
  "ut": "b2884a393a59ad64002292a3e90d46a5",
30
31
  "fields": "f1,f2,f3,f12,f13,f14,f298,f299,f249,f300,f330,f331,f332,f333,f334,f335,f336,f301,f152",
31
32
  "fs": "m:10",
32
33
  }
33
- r = requests.get(url, params=params)
34
- data_json = r.json()
35
- temp_df = pd.DataFrame(data_json["data"]["diff"]).T
34
+ temp_df = fetch_paginated_data(url, params)
36
35
  temp_df.columns = [
36
+ "-",
37
37
  "-",
38
38
  "最新价",
39
39
  "-",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: akshare
3
- Version: 1.16.42
3
+ Version: 1.16.43
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=-P-dQVfwAFdwj_EGC3J8pDdvbBtFkBP7AlNzVTuJQ8w,190842
1
+ akshare/__init__.py,sha256=a_dpWJP5iCmEGpOG3P7mmgzwkUO3Jb1rnniKImVO-aQ,190894
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
@@ -95,7 +95,7 @@ akshare/fund/fund_etf_ths.py,sha256=vb_jy0h2-Kz2dNWUrwBYxPB0MAotv0KZgnFhE98ohSM,
95
95
  akshare/fund/fund_fee_em.py,sha256=fa_Nfr4GWx4FNzNY0blBPhIZ3fGW5qedQOuYIAlVsvE,4158
96
96
  akshare/fund/fund_fhsp_em.py,sha256=-zSwwveiCB4HHRxwAuaLDTQHmNe3FxwxxeoPeiG8JbM,5546
97
97
  akshare/fund/fund_init_em.py,sha256=4kOhsOkEs50B-RAxz-fTyWxNC1J4jNBDoKGJlFUpIjQ,2210
98
- akshare/fund/fund_lof_em.py,sha256=h3rpSeRenQYau-T8FnhfzrMpXmAkO7bxUzzSVROQhQE,12477
98
+ akshare/fund/fund_lof_em.py,sha256=SpH6HjLZXHB42YZZoqNrXkKqL4NWStU8tJGySweRg0E,12384
99
99
  akshare/fund/fund_manager.py,sha256=yhpXp_WKradzSc0dMfGKJibNCksts2L2Bg_gvUU4_VQ,2801
100
100
  akshare/fund/fund_portfolio_em.py,sha256=8kk7a8hA22ANfnlnK1j4f5qXepfkgJOiEMpuazP2Xlk,10785
101
101
  akshare/fund/fund_position_lg.py,sha256=dxwGvfc8SXlRziWBWHIcaqOOltsKlxHgHL0Cxr7cCeM,3857
@@ -178,7 +178,7 @@ akshare/index/index_sugar.py,sha256=B_Nj9Q6JP-Y_d7myZ0C79izTxxrbuZIp1Vv_CilVMOc,
178
178
  akshare/index/index_sw.py,sha256=hETMmFszQb7JDY8UHjLK8szfwkr7Ui_6QcseOoEfxaI,10456
179
179
  akshare/index/index_yw.py,sha256=6FF38kooLQulnMTqAd1__TNWip4XC1VA72k3T049xYc,4319
180
180
  akshare/index/index_zh_a_scope.py,sha256=4Ej2Gnqtd66EBiI67sQZKhblcIJXdD5CoMIJYD_KwYU,1367
181
- akshare/index/index_zh_em.py,sha256=5UseU40Mk-XO3vyTbrq6GHiLdG4_-c5iZXHVdCNw4o0,16362
181
+ akshare/index/index_zh_em.py,sha256=da1Rx9Xh6Lw_uUtZUSsJ3jOq0EMWqwv32aak5s9jPNg,15973
182
182
  akshare/interest_rate/__init__.py,sha256=O6dl1roEQUWwtXgRpa6wOABUU7MH0YmFDrkfhBpYOX4,81
183
183
  akshare/interest_rate/interbank_rate_em.py,sha256=iKvmWxM4bpl9JgHNvavq0yhzMRq69BPEON1cGcWJrf4,4549
184
184
  akshare/movie/__init__.py,sha256=YzijIIzvGpcc9hORC6qJSEK6vkjH5c4Docb5tQq2iHs,82
@@ -203,10 +203,10 @@ akshare/option/option_em.py,sha256=SV_pBGDE4rer1wZ3wsBsfjtOIIudBAHPuk6_5kPAPBc,5
203
203
  akshare/option/option_finance.py,sha256=7rnEeHo-7Sddrs36Q4c99CXL_9m8IJzw9S1Aqh3Bw90,12568
204
204
  akshare/option/option_finance_sina.py,sha256=Pzsrl_NKN99nWPSAirq7ushGwSfd738ISVYeCHxMZXE,37843
205
205
  akshare/option/option_lhb_em.py,sha256=VHrV2BWAPE7tj8q7J5Crjm-sey8QarYd1lgxKbkX2CQ,9090
206
- akshare/option/option_premium_analysis_em.py,sha256=vPOndT5I7j_bS0rIsJpmu0QbCec7TQinON8OAdE06vc,2538
206
+ akshare/option/option_premium_analysis_em.py,sha256=E0_RVSnEcUBlicHv1GdWG5gJYzCgqx6uTXY81y4LY5c,2543
207
207
  akshare/option/option_risk_analysis_em.py,sha256=3IlE-OxJprB8MOmSXd2Ym4y8xM01zHCML9lUQxJFa0g,2581
208
208
  akshare/option/option_risk_indicator_sse.py,sha256=W1_mGrk8M9pbbadzSAy5euWMEGn4-cVWBc8Jk_I2WmI,2484
209
- akshare/option/option_value_analysis_em.py,sha256=lueBvtDelpYPccEYH0LSUvgUQqOGloVFqZFSyT2J2_0,2684
209
+ akshare/option/option_value_analysis_em.py,sha256=KIzLJxax1P8SuIUFD0CnnEpTntSnaObwYotGn28DgoY,2658
210
210
  akshare/other/__init__.py,sha256=guH4GLhFcE_5iaMHOHtgK7QKa0i7esYdmZFfJMG6E10,82
211
211
  akshare/other/other_car_cpca.py,sha256=hCBNUrCI2l3OCP3Gqgr_4zpyzhO99XCBoiwkIhUM3r0,34987
212
212
  akshare/other/other_car_gasgoo.py,sha256=KaCMVPydiGJvhJN9eZEvObygYquCsSgsZkQRB0J6srk,3046
@@ -389,8 +389,8 @@ akshare/utils/token_process.py,sha256=K4rGXjh_tgugbRcyOK2h2x0jP3PT65IIK7nxhUKhOe
389
389
  akshare/utils/tqdm.py,sha256=MuPNwcswkOGjwWQOMWXi9ZvQ_RmW4obCWRj2i7HM7FE,847
390
390
  tests/__init__.py,sha256=gNzhlO0UPjFq6Ieb38kaVIODXv4cTDByrdohAZnDYt4,82
391
391
  tests/test_func.py,sha256=j1MGYbZI2if2j_LY1S4FLsf4qfq4NwVqD5wmRlv5Log,832
392
- akshare-1.16.42.dist-info/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
393
- akshare-1.16.42.dist-info/METADATA,sha256=cMDLR_9CY4c3wt0agfAyRralyf1AFqhie9DuNIbIEX0,13653
394
- akshare-1.16.42.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
395
- akshare-1.16.42.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
396
- akshare-1.16.42.dist-info/RECORD,,
392
+ akshare-1.16.43.dist-info/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
393
+ akshare-1.16.43.dist-info/METADATA,sha256=FoI3Ny-ZK10vaEl1Nl2ZdhG72wUReyE7GLOXuS_tSiM,13653
394
+ akshare-1.16.43.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
395
+ akshare-1.16.43.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
396
+ akshare-1.16.43.dist-info/RECORD,,