akshare 1.17.47__py3-none-any.whl → 1.17.48__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 +7 -1
- akshare/stock/stock_profile_em.py +144 -1
- {akshare-1.17.47.dist-info → akshare-1.17.48.dist-info}/METADATA +1 -1
- {akshare-1.17.47.dist-info → akshare-1.17.48.dist-info}/RECORD +7 -7
- {akshare-1.17.47.dist-info → akshare-1.17.48.dist-info}/WHEEL +0 -0
- {akshare-1.17.47.dist-info → akshare-1.17.48.dist-info}/licenses/LICENSE +0 -0
- {akshare-1.17.47.dist-info → akshare-1.17.48.dist-info}/top_level.txt +0 -0
akshare/__init__.py
CHANGED
|
@@ -3154,9 +3154,10 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
|
|
|
3154
3154
|
1.17.45 fix: fix stock_dxsyl_em interface
|
|
3155
3155
|
1.17.46 fix: fix stock_financial_us_analysis_indicator_em interface
|
|
3156
3156
|
1.17.47 fix: fix get_receipt interface
|
|
3157
|
+
1.17.48 fix: fix stock_hk_dividend_payout_em interface
|
|
3157
3158
|
"""
|
|
3158
3159
|
|
|
3159
|
-
__version__ = "1.17.
|
|
3160
|
+
__version__ = "1.17.48"
|
|
3160
3161
|
__author__ = "AKFamily"
|
|
3161
3162
|
|
|
3162
3163
|
import sys
|
|
@@ -3203,6 +3204,11 @@ from akshare.option.option_margin import option_margin, option_margin_symbol
|
|
|
3203
3204
|
"""
|
|
3204
3205
|
from akshare.stock.stock_profile_em import stock_hk_company_profile_em, stock_hk_security_profile_em
|
|
3205
3206
|
|
|
3207
|
+
"""
|
|
3208
|
+
东方财富-港股-核心必读
|
|
3209
|
+
"""
|
|
3210
|
+
from akshare.stock.stock_profile_em import stock_hk_dividend_payout_em, stock_hk_financial_indicator_em
|
|
3211
|
+
|
|
3206
3212
|
"""
|
|
3207
3213
|
东方财富网-行情中心-债券市场-质押式回购
|
|
3208
3214
|
"""
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env python
|
|
2
2
|
# -*- coding:utf-8 -*-
|
|
3
3
|
"""
|
|
4
|
-
Date: 2025/
|
|
4
|
+
Date: 2025/9/11 13:00
|
|
5
5
|
Desc: 东方财富-港股-公司概况
|
|
6
6
|
https://emweb.securities.eastmoney.com/PC_HKF10/pages/home/index.html?code=03900&type=web&color=w#/CompanyProfile
|
|
7
7
|
"""
|
|
@@ -146,9 +146,152 @@ def stock_hk_company_profile_em(symbol: str = "03900") -> pd.DataFrame:
|
|
|
146
146
|
return temp_df
|
|
147
147
|
|
|
148
148
|
|
|
149
|
+
def stock_hk_financial_indicator_em(symbol: str = "03900") -> pd.DataFrame:
|
|
150
|
+
"""
|
|
151
|
+
东方财富-港股-核心必读-最新指标
|
|
152
|
+
https://emweb.securities.eastmoney.com/PC_HKF10/pages/home/index.html?code=03900&type=web&color=w#/CoreReading
|
|
153
|
+
:param symbol: 股票代码
|
|
154
|
+
:type symbol: str
|
|
155
|
+
:return: 财务指标
|
|
156
|
+
:rtype: pandas.DataFrame
|
|
157
|
+
"""
|
|
158
|
+
url = 'https://datacenter.eastmoney.com/securities/api/data/v1/get'
|
|
159
|
+
params = {
|
|
160
|
+
'reportName': 'RPT_CUSTOM_HKF10_FN_MAININDICATORMAX',
|
|
161
|
+
'columns': 'ORG_CODE,SECUCODE,SECURITY_CODE,SECURITY_NAME_ABBR,SECURITY_INNER_CODE,REPORT_DATE,BASIC_EPS,'
|
|
162
|
+
'PER_NETCASH_OPERATE,BPS,BPS_NEDILUTED,COMMON_ACS,PER_SHARES,ISSUED_COMMON_SHARES,HK_COMMON_SHARES,'
|
|
163
|
+
'TOTAL_MARKET_CAP,HKSK_MARKET_CAP,OPERATE_INCOME,OPERATE_INCOME_SQ,OPERATE_INCOME_QOQ,'
|
|
164
|
+
'OPERATE_INCOME_QOQ_SQ,HOLDER_PROFIT,HOLDER_PROFIT_SQ,HOLDER_PROFIT_QOQ,HOLDER_PROFIT_QOQ_SQ,PE_TTM,'
|
|
165
|
+
'PE_TTM_SQ,PB_TTM,PB_TTM_SQ,NET_PROFIT_RATIO,NET_PROFIT_RATIO_SQ,ROE_AVG,ROE_AVG_SQ,ROA,'
|
|
166
|
+
'ROA_SQ,DIVIDEND_TTM,DIVIDEND_LFY,DIVI_RATIO,DIVIDEND_RATE,IS_CNY_CODE',
|
|
167
|
+
'quoteColumns': '',
|
|
168
|
+
'filter': f'(SECUCODE="{symbol}.HK")',
|
|
169
|
+
'pageNumber': '1',
|
|
170
|
+
'pageSize': '200',
|
|
171
|
+
'sortTypes': '-1',
|
|
172
|
+
'sortColumns': 'REPORT_DATE',
|
|
173
|
+
'source': 'F10',
|
|
174
|
+
'client': 'PC',
|
|
175
|
+
'v': '07945646099062258'
|
|
176
|
+
}
|
|
177
|
+
r = requests.get(url, params=params)
|
|
178
|
+
data_json = r.json()
|
|
179
|
+
temp_df = pd.DataFrame(data_json['result']['data'])
|
|
180
|
+
field_mapping = {
|
|
181
|
+
'SECURITY_CODE': '股票代码',
|
|
182
|
+
'BASIC_EPS': '基本每股收益(元)',
|
|
183
|
+
'BPS': '每股净资产(元)',
|
|
184
|
+
'COMMON_ACS': '法定股本(股)',
|
|
185
|
+
'PER_SHARES': '每手股',
|
|
186
|
+
'DIVIDEND_TTM': '每股股息TTM(港元)',
|
|
187
|
+
'DIVI_RATIO': '派息比率(%)',
|
|
188
|
+
'ISSUED_COMMON_SHARES': '已发行股本(股)',
|
|
189
|
+
'HK_COMMON_SHARES': '已发行股本-H股(股)',
|
|
190
|
+
'PER_NETCASH_OPERATE': '每股经营现金流(元)',
|
|
191
|
+
'DIVIDEND_RATE': '股息率TTM(%)',
|
|
192
|
+
'TOTAL_MARKET_CAP': '总市值(港元)',
|
|
193
|
+
'HKSK_MARKET_CAP': '港股市值(港元)',
|
|
194
|
+
'OPERATE_INCOME': '营业总收入',
|
|
195
|
+
'OPERATE_INCOME_QOQ': '营业总收入滚动环比增长(%)',
|
|
196
|
+
'NET_PROFIT_RATIO': '销售净利率(%)',
|
|
197
|
+
'HOLDER_PROFIT': '净利润',
|
|
198
|
+
'HOLDER_PROFIT_QOQ': '净利润滚动环比增长(%)',
|
|
199
|
+
'ROE_AVG': '股东权益回报率(%)',
|
|
200
|
+
'PE_TTM': '市盈率',
|
|
201
|
+
'PB_TTM': '市净率',
|
|
202
|
+
'ROA': '总资产回报率(%)'
|
|
203
|
+
}
|
|
204
|
+
temp_df.rename(columns=field_mapping, inplace=True)
|
|
205
|
+
temp_df = temp_df[[
|
|
206
|
+
"基本每股收益(元)",
|
|
207
|
+
"每股净资产(元)",
|
|
208
|
+
"法定股本(股)",
|
|
209
|
+
"每手股",
|
|
210
|
+
"每股股息TTM(港元)",
|
|
211
|
+
"派息比率(%)",
|
|
212
|
+
"已发行股本(股)",
|
|
213
|
+
"已发行股本-H股(股)",
|
|
214
|
+
"每股经营现金流(元)",
|
|
215
|
+
"股息率TTM(%)",
|
|
216
|
+
"总市值(港元)",
|
|
217
|
+
"港股市值(港元)",
|
|
218
|
+
"营业总收入",
|
|
219
|
+
"营业总收入滚动环比增长(%)",
|
|
220
|
+
"销售净利率(%)",
|
|
221
|
+
"净利润",
|
|
222
|
+
"净利润滚动环比增长(%)",
|
|
223
|
+
"股东权益回报率(%)",
|
|
224
|
+
"市盈率",
|
|
225
|
+
"市净率",
|
|
226
|
+
"总资产回报率(%)"
|
|
227
|
+
|
|
228
|
+
]]
|
|
229
|
+
return temp_df
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
def stock_hk_dividend_payout_em(symbol: str = "03900") -> pd.DataFrame:
|
|
233
|
+
"""
|
|
234
|
+
东方财富-港股-核心必读-分红派息
|
|
235
|
+
https://emweb.securities.eastmoney.com/PC_HKF10/pages/home/index.html?code=03900&type=web&color=w#/CoreReading
|
|
236
|
+
:param symbol: 股票代码
|
|
237
|
+
:type symbol: str
|
|
238
|
+
:return: 分红派息
|
|
239
|
+
:rtype: pandas.DataFrame
|
|
240
|
+
"""
|
|
241
|
+
url = 'https://datacenter.eastmoney.com/securities/api/data/v1/get'
|
|
242
|
+
params = {
|
|
243
|
+
'reportName': 'RPT_HKF10_MAIN_DIVBASIC',
|
|
244
|
+
'columns': 'SECURITY_CODE,UPDATE_DATE,REPORT_TYPE,EX_DIVIDEND_DATE,DIVIDEND_DATE,'
|
|
245
|
+
'TRANSFER_END_DATE,YEAR,PLAN_EXPLAIN,IS_BFP',
|
|
246
|
+
'quoteColumns': '',
|
|
247
|
+
'filter': f'(SECURITY_CODE="{symbol}")(IS_BFP="0")',
|
|
248
|
+
'pageNumber': '1',
|
|
249
|
+
'pageSize': '200',
|
|
250
|
+
'sortTypes': '-1,-1',
|
|
251
|
+
'sortColumns': 'NOTICE_DATE,EX_DIVIDEND_DATE',
|
|
252
|
+
'source': 'F10',
|
|
253
|
+
'client': 'PC',
|
|
254
|
+
'v': '035584639294227527'
|
|
255
|
+
}
|
|
256
|
+
r = requests.get(url, params=params)
|
|
257
|
+
data_json = r.json()
|
|
258
|
+
temp_df = pd.DataFrame(data_json['result']['data'])
|
|
259
|
+
field_mapping = {
|
|
260
|
+
'SECURITY_CODE': '股票代码',
|
|
261
|
+
'UPDATE_DATE': '最新公告日期',
|
|
262
|
+
'REPORT_TYPE': '分配类型',
|
|
263
|
+
'EX_DIVIDEND_DATE': '除净日',
|
|
264
|
+
'DIVIDEND_DATE': '发放日',
|
|
265
|
+
'TRANSFER_END_DATE': '截至过户日',
|
|
266
|
+
'YEAR': '财政年度',
|
|
267
|
+
'PLAN_EXPLAIN': '分红方案',
|
|
268
|
+
'IS_BFP': 'IS_BFP'
|
|
269
|
+
}
|
|
270
|
+
temp_df.rename(columns=field_mapping, inplace=True)
|
|
271
|
+
temp_df = temp_df[[
|
|
272
|
+
"最新公告日期",
|
|
273
|
+
"财政年度",
|
|
274
|
+
"分红方案",
|
|
275
|
+
"分配类型",
|
|
276
|
+
"除净日",
|
|
277
|
+
"截至过户日",
|
|
278
|
+
"发放日",
|
|
279
|
+
]]
|
|
280
|
+
temp_df['最新公告日期'] = pd.to_datetime(temp_df['最新公告日期'], errors='coerce').dt.date
|
|
281
|
+
temp_df['除净日'] = pd.to_datetime(temp_df['除净日'], errors='coerce').dt.date
|
|
282
|
+
temp_df['发放日'] = pd.to_datetime(temp_df['发放日'], errors='coerce').dt.date
|
|
283
|
+
return temp_df
|
|
284
|
+
|
|
285
|
+
|
|
149
286
|
if __name__ == "__main__":
|
|
150
287
|
stock_hk_security_profile_em_df = stock_hk_security_profile_em(symbol="03900")
|
|
151
288
|
print(stock_hk_security_profile_em_df)
|
|
152
289
|
|
|
153
290
|
stock_hk_company_profile_em_df = stock_hk_company_profile_em(symbol="03900")
|
|
154
291
|
print(stock_hk_company_profile_em_df)
|
|
292
|
+
|
|
293
|
+
stock_hk_financial_indicator_em_df = stock_hk_financial_indicator_em(symbol="03900")
|
|
294
|
+
print(stock_hk_financial_indicator_em_df)
|
|
295
|
+
|
|
296
|
+
stock_hk_dividend_payout_em_df = stock_hk_dividend_payout_em(symbol="03900")
|
|
297
|
+
print(stock_hk_dividend_payout_em_df)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
akshare/__init__.py,sha256=
|
|
1
|
+
akshare/__init__.py,sha256=7VUcFE2wX5ByOyC_wpgpslGVyZ3iOFSrPc8_Jg1Bn2I,197454
|
|
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
|
|
@@ -272,7 +272,7 @@ akshare/stock/stock_ipo_summary_cninfo.py,sha256=Ma-54GsOOhRWxilLH-Qmm0VVbpJQGf2
|
|
|
272
272
|
akshare/stock/stock_new_cninfo.py,sha256=EOuZowDLQSSHyPAwXcuPXbQkqhbz2nRBZsM7o2ZWILE,5725
|
|
273
273
|
akshare/stock/stock_news_cx.py,sha256=aaAD-HTqAX0tOSD-0-Zus9pftvOdD3Y608GKYB1OMPE,1097
|
|
274
274
|
akshare/stock/stock_profile_cninfo.py,sha256=UgUH3GK52Xl25s3WIXlFmVTlKzDd6QGiTTjj0l-GKsk,3170
|
|
275
|
-
akshare/stock/stock_profile_em.py,sha256=
|
|
275
|
+
akshare/stock/stock_profile_em.py,sha256=xsgzivLwNiE6rCgQE3YKEvjZ0gefSptPDi4tGnDZHjY,10848
|
|
276
276
|
akshare/stock/stock_rank_forecast.py,sha256=5U0fa4tzhqKrw5kDRahUCFSrbrEx_aRtlqZq2mpeJaU,3199
|
|
277
277
|
akshare/stock/stock_repurchase_em.py,sha256=oOefrlTUo7gJsREaTHdj5HKr_sQeVamU43ATM0Sffts,5029
|
|
278
278
|
akshare/stock/stock_share_changes_cninfo.py,sha256=siy4PiZgYuNQn5jUUg2G7CyZ_yvuXNi3MVUDFhe5npY,4923
|
|
@@ -395,10 +395,10 @@ akshare/utils/func.py,sha256=4cwmXFztU86yJNONJ40KJLvsIEQHBbct4iMm3zT2v30,2315
|
|
|
395
395
|
akshare/utils/multi_decrypt.py,sha256=aWoL2iEPeuXHJg8-n7OtMKixLnIhfzepACgxfrfmQB4,1657
|
|
396
396
|
akshare/utils/token_process.py,sha256=nGtgnZGRprXJkhLXH8mcUH4TgIFwzsTOb0EaEPa0Euo,667
|
|
397
397
|
akshare/utils/tqdm.py,sha256=MuPNwcswkOGjwWQOMWXi9ZvQ_RmW4obCWRj2i7HM7FE,847
|
|
398
|
-
akshare-1.17.
|
|
398
|
+
akshare-1.17.48.dist-info/licenses/LICENSE,sha256=s18q7gS2g1F9-Cnk5eqrJG4OGWSwSxVEMzIuT6HyYNY,1073
|
|
399
399
|
tests/__init__.py,sha256=gNzhlO0UPjFq6Ieb38kaVIODXv4cTDByrdohAZnDYt4,82
|
|
400
400
|
tests/test_func.py,sha256=j1MGYbZI2if2j_LY1S4FLsf4qfq4NwVqD5wmRlv5Log,832
|
|
401
|
-
akshare-1.17.
|
|
402
|
-
akshare-1.17.
|
|
403
|
-
akshare-1.17.
|
|
404
|
-
akshare-1.17.
|
|
401
|
+
akshare-1.17.48.dist-info/METADATA,sha256=er6JZfUZ2tdHHNxMSaGmn3oF1nvr3fMnpj-L8HLfbC0,12593
|
|
402
|
+
akshare-1.17.48.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
403
|
+
akshare-1.17.48.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
|
|
404
|
+
akshare-1.17.48.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|