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 +2 -1
- akshare/fund/fund_lof_em.py +14 -16
- akshare/index/index_zh_em.py +18 -29
- akshare/option/option_premium_analysis_em.py +10 -8
- akshare/option/option_value_analysis_em.py +7 -7
- {akshare-1.16.42.dist-info → akshare-1.16.43.dist-info}/METADATA +1 -1
- {akshare-1.16.42.dist-info → akshare-1.16.43.dist-info}/RECORD +10 -10
- {akshare-1.16.42.dist-info → akshare-1.16.43.dist-info}/LICENSE +0 -0
- {akshare-1.16.42.dist-info → akshare-1.16.43.dist-info}/WHEEL +0 -0
- {akshare-1.16.42.dist-info → akshare-1.16.43.dist-info}/top_level.txt +0 -0
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.
|
3057
|
+
__version__ = "1.16.43"
|
3057
3058
|
__author__ = "AKFamily"
|
3058
3059
|
|
3059
3060
|
import sys
|
akshare/fund/fund_lof_em.py
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env python
|
2
2
|
# -*- coding:utf-8 -*-
|
3
3
|
"""
|
4
|
-
Date:
|
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": "
|
29
|
+
"pz": "100",
|
28
30
|
"po": "1",
|
29
|
-
"np": "
|
31
|
+
"np": "1",
|
30
32
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
31
33
|
"fltt": "2",
|
32
34
|
"invt": "2",
|
33
35
|
"wbp2u": "|0|0|0|web",
|
34
|
-
"fid": "
|
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
|
-
|
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": "
|
56
|
+
"pz": "100",
|
57
57
|
"po": "1",
|
58
|
-
"np": "
|
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
|
-
|
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="
|
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="
|
361
|
-
end_date="
|
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)
|
akshare/index/index_zh_em.py
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env python
|
2
2
|
# -*- coding:utf-8 -*-
|
3
3
|
"""
|
4
|
-
Date: 2025/
|
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": "
|
27
|
+
"pz": "100",
|
26
28
|
"po": "1",
|
27
|
-
"np": "
|
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
|
-
|
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
|
-
|
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": "
|
43
|
+
"pz": "100",
|
47
44
|
"po": "1",
|
48
|
-
"np": "
|
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
|
-
|
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": "
|
59
|
+
"pz": "100",
|
67
60
|
"po": "1",
|
68
|
-
"np": "
|
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
|
-
|
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-
|
444
|
-
end_date="2025-
|
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/
|
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": "
|
25
|
+
"pz": "100",
|
25
26
|
"pn": "1",
|
26
|
-
"np": "
|
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
|
-
|
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(
|
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/
|
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": "
|
25
|
+
"pz": "100",
|
25
26
|
"pn": "1",
|
26
|
-
"np": "
|
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
|
-
|
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,4 +1,4 @@
|
|
1
|
-
akshare/__init__.py,sha256
|
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=
|
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=
|
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=
|
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=
|
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.
|
393
|
-
akshare-1.16.
|
394
|
-
akshare-1.16.
|
395
|
-
akshare-1.16.
|
396
|
-
akshare-1.16.
|
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,,
|
File without changes
|
File without changes
|
File without changes
|