akshare 1.14.84__py3-none-any.whl → 1.14.86__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 +3 -1
- akshare/stock_feature/stock_comment_em.py +24 -28
- akshare/stock_fundamental/stock_profit_forecast_em.py +31 -13
- {akshare-1.14.84.dist-info → akshare-1.14.86.dist-info}/METADATA +1 -1
- {akshare-1.14.84.dist-info → akshare-1.14.86.dist-info}/RECORD +8 -8
- {akshare-1.14.84.dist-info → akshare-1.14.86.dist-info}/LICENSE +0 -0
- {akshare-1.14.84.dist-info → akshare-1.14.86.dist-info}/WHEEL +0 -0
- {akshare-1.14.84.dist-info → akshare-1.14.86.dist-info}/top_level.txt +0 -0
akshare/__init__.py
CHANGED
|
@@ -2895,9 +2895,11 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
|
|
|
2895
2895
|
1.14.82 fix: fix stock_comment_detail_scrd_desire_daily_em interface
|
|
2896
2896
|
1.14.83 fix: fix stock_comment_detail_zhpj_lspf_em interface
|
|
2897
2897
|
1.14.84 fix: fix drewry_wci_index interface
|
|
2898
|
+
1.14.85 fix: fix stock_profit_forecast_em interface
|
|
2899
|
+
1.14.86 fix: fix stock_comment_detail_scrd_focus_em interface
|
|
2898
2900
|
"""
|
|
2899
2901
|
|
|
2900
|
-
__version__ = "1.14.
|
|
2902
|
+
__version__ = "1.14.86"
|
|
2901
2903
|
__author__ = "AKFamily"
|
|
2902
2904
|
|
|
2903
2905
|
import sys
|
|
@@ -192,36 +192,32 @@ def stock_comment_detail_scrd_focus_em(symbol: str = "600000") -> pd.DataFrame:
|
|
|
192
192
|
:return: 市场热度-用户关注指数
|
|
193
193
|
:rtype: pandas.DataFrame
|
|
194
194
|
"""
|
|
195
|
-
url =
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
).
|
|
218
|
-
temp_df.
|
|
219
|
-
temp_df["日期"] = current_year + "-" + temp_df["日期"]
|
|
220
|
-
temp_df["日期"] = pd.to_datetime(temp_df["日期"], errors="coerce").dt.date
|
|
221
|
-
temp_df.sort_values(by=["日期"], inplace=True)
|
|
195
|
+
url = "https://datacenter-web.eastmoney.com/api/data/v1/get"
|
|
196
|
+
params = {
|
|
197
|
+
"filter": f'(SECURITY_CODE="{symbol}")',
|
|
198
|
+
"columns": "ALL",
|
|
199
|
+
"source": "WEB",
|
|
200
|
+
"client": "WEB",
|
|
201
|
+
"reportName": "RPT_STOCK_MARKETFOCUS",
|
|
202
|
+
"sortColumns": "TRADE_DATE",
|
|
203
|
+
"sortTypes": "-1",
|
|
204
|
+
"pageSize": "30",
|
|
205
|
+
}
|
|
206
|
+
r = requests.get(url=url, params=params)
|
|
207
|
+
data_json = r.json()
|
|
208
|
+
temp_df = pd.DataFrame(data_json["result"]["data"])
|
|
209
|
+
temp_df.rename(
|
|
210
|
+
columns={
|
|
211
|
+
"MARKET_FOCUS": "用户关注指数",
|
|
212
|
+
"TRADE_DATE": "交易日",
|
|
213
|
+
},
|
|
214
|
+
inplace=True,
|
|
215
|
+
)
|
|
216
|
+
temp_df = temp_df[["交易日", "用户关注指数"]]
|
|
217
|
+
temp_df["交易日"] = pd.to_datetime(temp_df["交易日"], errors="coerce").dt.date
|
|
218
|
+
temp_df.sort_values(by=["交易日"], inplace=True)
|
|
222
219
|
temp_df.reset_index(inplace=True, drop=True)
|
|
223
220
|
temp_df["用户关注指数"] = pd.to_numeric(temp_df["用户关注指数"], errors="coerce")
|
|
224
|
-
temp_df["收盘价"] = pd.to_numeric(temp_df["收盘价"], errors="coerce")
|
|
225
221
|
return temp_df
|
|
226
222
|
|
|
227
223
|
|
|
@@ -5,6 +5,7 @@ Date: 2024/1/6 15:00
|
|
|
5
5
|
Desc: 东方财富网-数据中心-研究报告-盈利预测
|
|
6
6
|
https://data.eastmoney.com/report/profitforecast.jshtml
|
|
7
7
|
"""
|
|
8
|
+
|
|
8
9
|
import pandas as pd
|
|
9
10
|
import requests
|
|
10
11
|
|
|
@@ -15,7 +16,8 @@ def stock_profit_forecast_em(symbol: str = "") -> pd.DataFrame:
|
|
|
15
16
|
"""
|
|
16
17
|
东方财富网-数据中心-研究报告-盈利预测
|
|
17
18
|
https://data.eastmoney.com/report/profitforecast.jshtml
|
|
18
|
-
:param symbol: "", 默认为获取全部数据; symbol="船舶制造", 则获取具体行业板块的数据;
|
|
19
|
+
:param symbol: "", 默认为获取全部数据; symbol="船舶制造", 则获取具体行业板块的数据;
|
|
20
|
+
行业板块可以通过 ak.stock_board_industry_name_em() 接口获取
|
|
19
21
|
:type symbol: str
|
|
20
22
|
:return: 盈利预测
|
|
21
23
|
:rtype: pandas.DataFrame
|
|
@@ -34,7 +36,6 @@ def stock_profit_forecast_em(symbol: str = "") -> pd.DataFrame:
|
|
|
34
36
|
}
|
|
35
37
|
if symbol:
|
|
36
38
|
params.update({"filter": f'(INDUSTRY_BOARD="{symbol}")'})
|
|
37
|
-
|
|
38
39
|
r = requests.get(url, params=params)
|
|
39
40
|
data_json = r.json()
|
|
40
41
|
page_num = int(data_json["result"]["pages"])
|
|
@@ -52,7 +53,7 @@ def stock_profit_forecast_em(symbol: str = "") -> pd.DataFrame:
|
|
|
52
53
|
r = requests.get(url, params=params)
|
|
53
54
|
data_json = r.json()
|
|
54
55
|
temp_df = pd.DataFrame(data_json["result"]["data"])
|
|
55
|
-
big_df = pd.concat([big_df, temp_df], ignore_index=True)
|
|
56
|
+
big_df = pd.concat(objs=[big_df, temp_df], ignore_index=True)
|
|
56
57
|
|
|
57
58
|
big_df.reset_index(inplace=True)
|
|
58
59
|
big_df["index"] = big_df.index + 1
|
|
@@ -94,7 +95,6 @@ def stock_profit_forecast_em(symbol: str = "") -> pd.DataFrame:
|
|
|
94
95
|
"_",
|
|
95
96
|
"_",
|
|
96
97
|
]
|
|
97
|
-
|
|
98
98
|
big_df = big_df[
|
|
99
99
|
[
|
|
100
100
|
"序号",
|
|
@@ -112,11 +112,12 @@ def stock_profit_forecast_em(symbol: str = "") -> pd.DataFrame:
|
|
|
112
112
|
f"{year4}预测每股收益",
|
|
113
113
|
]
|
|
114
114
|
]
|
|
115
|
-
big_df["机构投资评级(近六个月)-买入"]
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
big_df["机构投资评级(近六个月)
|
|
119
|
-
|
|
115
|
+
big_df["机构投资评级(近六个月)-买入"] = big_df[
|
|
116
|
+
"机构投资评级(近六个月)-买入"
|
|
117
|
+
].fillna(0)
|
|
118
|
+
big_df["机构投资评级(近六个月)-增持"] = big_df[
|
|
119
|
+
"机构投资评级(近六个月)-增持"
|
|
120
|
+
].fillna(0)
|
|
120
121
|
big_df["研报数"] = pd.to_numeric(big_df["研报数"], errors="coerce")
|
|
121
122
|
big_df["机构投资评级(近六个月)-买入"] = pd.to_numeric(
|
|
122
123
|
big_df["机构投资评级(近六个月)-买入"], errors="coerce"
|
|
@@ -133,10 +134,27 @@ def stock_profit_forecast_em(symbol: str = "") -> pd.DataFrame:
|
|
|
133
134
|
big_df["机构投资评级(近六个月)-卖出"] = pd.to_numeric(
|
|
134
135
|
big_df["机构投资评级(近六个月)-卖出"], errors="coerce"
|
|
135
136
|
)
|
|
136
|
-
big_df[
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
big_df[
|
|
137
|
+
big_df["机构投资评级(近六个月)-中性"] = big_df[
|
|
138
|
+
"机构投资评级(近六个月)-中性"
|
|
139
|
+
].fillna(0)
|
|
140
|
+
big_df["机构投资评级(近六个月)-减持"] = big_df[
|
|
141
|
+
"机构投资评级(近六个月)-减持"
|
|
142
|
+
].fillna(0)
|
|
143
|
+
big_df["机构投资评级(近六个月)-卖出"] = big_df[
|
|
144
|
+
"机构投资评级(近六个月)-卖出"
|
|
145
|
+
].fillna(0)
|
|
146
|
+
big_df[f"{year1}预测每股收益"] = pd.to_numeric(
|
|
147
|
+
big_df[f"{year1}预测每股收益"], errors="coerce"
|
|
148
|
+
)
|
|
149
|
+
big_df[f"{year2}预测每股收益"] = pd.to_numeric(
|
|
150
|
+
big_df[f"{year2}预测每股收益"], errors="coerce"
|
|
151
|
+
)
|
|
152
|
+
big_df[f"{year3}预测每股收益"] = pd.to_numeric(
|
|
153
|
+
big_df[f"{year3}预测每股收益"], errors="coerce"
|
|
154
|
+
)
|
|
155
|
+
big_df[f"{year4}预测每股收益"] = pd.to_numeric(
|
|
156
|
+
big_df[f"{year4}预测每股收益"], errors="coerce"
|
|
157
|
+
)
|
|
140
158
|
big_df.sort_values(["研报数"], ascending=False, inplace=True, ignore_index=True)
|
|
141
159
|
big_df["序号"] = range(1, len(big_df) + 1)
|
|
142
160
|
return big_df
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
akshare/__init__.py,sha256=
|
|
1
|
+
akshare/__init__.py,sha256=EkIzGs9fb7gBOu8Zgd6v4LuUd7lIJNRdCO5wFGaqOz4,182138
|
|
2
2
|
akshare/datasets.py,sha256=-qdwaQjgBlftX84uM74KJqCYJYkQ50PV416_neA4uls,995
|
|
3
3
|
akshare/air/__init__.py,sha256=RMTf1bT5EOE3ttWpn3hGu1LtUmsVxDoa0W7W0gXHOy8,81
|
|
4
4
|
akshare/air/air_hebei.py,sha256=xIXNGLK7IGYqrkteM9fxnHAwWqk6PCQs6D9-ggZ7byY,4442
|
|
@@ -296,7 +296,7 @@ akshare/stock_feature/stock_analyst_em.py,sha256=Md3_G-Px0O1lk4dx5dCEKl8Vjgwt79S
|
|
|
296
296
|
akshare/stock_feature/stock_board_industry_ths.py,sha256=bn4vPXaK_ybU-qUttQshnzFC1L_S9reO2OydmAt7sGI,12488
|
|
297
297
|
akshare/stock_feature/stock_buffett_index_lg.py,sha256=NpNccHmGjtqLz6aUladB6InPzO2pjoImbgCgmNEYUuM,2027
|
|
298
298
|
akshare/stock_feature/stock_classify_sina.py,sha256=Lg7ROG5W9HioFRplJI2rZ6tAAHM09N3g9qF6kReIQYI,3210
|
|
299
|
-
akshare/stock_feature/stock_comment_em.py,sha256=
|
|
299
|
+
akshare/stock_feature/stock_comment_em.py,sha256=uSOS5YmyXB9jSDsZf1fNC0RPGTE6_4RzjwxaewhJQtc,13697
|
|
300
300
|
akshare/stock_feature/stock_concept_futu.py,sha256=jKJ9mfdJXgXwcMb3gVpbDl5ivr-zcMkuGO7jjgyA3os,6228
|
|
301
301
|
akshare/stock_feature/stock_congestion_lg.py,sha256=iTEcmL0HoSqWGfxv_gSM-qA4O23aqUH7qHl9asDtoO0,1299
|
|
302
302
|
akshare/stock_feature/stock_cyq_em.py,sha256=ijHL6BWGDLI8dctYQ4pYWDK2UHOSfn5mRu0c9E5zwp0,11017
|
|
@@ -362,7 +362,7 @@ akshare/stock_fundamental/stock_kcb_detail_sse.py,sha256=MBanq3sDvb0OTbUl_gg7avD
|
|
|
362
362
|
akshare/stock_fundamental/stock_kcb_sse.py,sha256=4_Bu8Qe6lGvlscH-giIPIJaYXpd4bYKZ1rM-hZiLBaE,1534
|
|
363
363
|
akshare/stock_fundamental/stock_mda_ym.py,sha256=P5aaNk3ecS6j-12N2niReiOKD3KM9FhaNgTE07j-1Tw,1106
|
|
364
364
|
akshare/stock_fundamental/stock_notice.py,sha256=tGxGz1Usr3qQzgs1Y71imDPkqJz5ooismz3BiaBwQR0,3928
|
|
365
|
-
akshare/stock_fundamental/stock_profit_forecast_em.py,sha256=
|
|
365
|
+
akshare/stock_fundamental/stock_profit_forecast_em.py,sha256=_ZlWkyz-FswlICbjk_YiHjRwrlLftm_piQIPFkZMrjE,5701
|
|
366
366
|
akshare/stock_fundamental/stock_profit_forecast_hk_etnet.py,sha256=dQaqxi0wXOidIuAxjUzZy_gdy16HEi20I3jEdpNM3qc,5179
|
|
367
367
|
akshare/stock_fundamental/stock_profit_forecast_ths.py,sha256=ZTShEB5w1y5j6TsHzWT8QR8oatbBTdE1H0IIxPLHn9s,2656
|
|
368
368
|
akshare/stock_fundamental/stock_recommend.py,sha256=44l1uLofwO-nsDB4oAYWpHQA7_qhXLOo1BurjUvmXzY,4501
|
|
@@ -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.14.
|
|
384
|
-
akshare-1.14.
|
|
385
|
-
akshare-1.14.
|
|
386
|
-
akshare-1.14.
|
|
387
|
-
akshare-1.14.
|
|
383
|
+
akshare-1.14.86.dist-info/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
|
|
384
|
+
akshare-1.14.86.dist-info/METADATA,sha256=BM6MGxB9MYIQYkigQ7B1nMOGTfofJ3TATnTM3NznCvs,14112
|
|
385
|
+
akshare-1.14.86.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
|
|
386
|
+
akshare-1.14.86.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
|
|
387
|
+
akshare-1.14.86.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|