akshare 1.17.14__py3-none-any.whl → 1.17.16__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 +3 -2
- akshare/bond/bond_zh_cov.py +15 -14
- akshare/stock_feature/stock_comment_em.py +0 -49
- {akshare-1.17.14.dist-info → akshare-1.17.16.dist-info}/METADATA +1 -1
- {akshare-1.17.14.dist-info → akshare-1.17.16.dist-info}/RECORD +8 -8
- {akshare-1.17.14.dist-info → akshare-1.17.16.dist-info}/WHEEL +0 -0
- {akshare-1.17.14.dist-info → akshare-1.17.16.dist-info}/licenses/LICENSE +0 -0
- {akshare-1.17.14.dist-info → akshare-1.17.16.dist-info}/top_level.txt +0 -0
akshare/__init__.py
CHANGED
|
@@ -3121,9 +3121,11 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
|
|
|
3121
3121
|
1.17.12 fix: fix get_receipt interface
|
|
3122
3122
|
1.17.13 fix: fix futures_shfe_warehouse_receipt interface
|
|
3123
3123
|
1.17.14 fix: fix forex_spot_em interface
|
|
3124
|
+
1.17.15 fix: fix stock_comment_em interface
|
|
3125
|
+
1.17.16 fix: fix bond_zh_cov interface
|
|
3124
3126
|
"""
|
|
3125
3127
|
|
|
3126
|
-
__version__ = "1.17.
|
|
3128
|
+
__version__ = "1.17.16"
|
|
3127
3129
|
__author__ = "AKFamily"
|
|
3128
3130
|
|
|
3129
3131
|
import sys
|
|
@@ -4942,7 +4944,6 @@ from akshare.stock_feature.stock_comment_em import (
|
|
|
4942
4944
|
stock_comment_detail_scrd_focus_em,
|
|
4943
4945
|
stock_comment_detail_zhpj_lspf_em,
|
|
4944
4946
|
stock_comment_detail_scrd_desire_em,
|
|
4945
|
-
stock_comment_detail_scrd_cost_em,
|
|
4946
4947
|
stock_comment_detail_scrd_desire_daily_em,
|
|
4947
4948
|
)
|
|
4948
4949
|
|
akshare/bond/bond_zh_cov.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/7/4 15:00
|
|
5
5
|
Desc: 新浪财经-债券-沪深可转债-实时行情数据和历史行情数据
|
|
6
6
|
https://vip.stock.finance.sina.com.cn/mkt/#hskzz_z
|
|
7
7
|
"""
|
|
@@ -10,8 +10,8 @@ import datetime
|
|
|
10
10
|
import re
|
|
11
11
|
|
|
12
12
|
import pandas as pd
|
|
13
|
-
import requests
|
|
14
13
|
import py_mini_racer
|
|
14
|
+
import requests
|
|
15
15
|
|
|
16
16
|
from akshare.bond.cons import (
|
|
17
17
|
zh_sina_bond_hs_cov_count_url,
|
|
@@ -21,8 +21,8 @@ from akshare.bond.cons import (
|
|
|
21
21
|
)
|
|
22
22
|
from akshare.stock.cons import hk_js_decode
|
|
23
23
|
from akshare.utils import demjson
|
|
24
|
-
from akshare.utils.tqdm import get_tqdm
|
|
25
24
|
from akshare.utils.func import fetch_paginated_data
|
|
25
|
+
from akshare.utils.tqdm import get_tqdm
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
def _get_zh_bond_hs_cov_page_count() -> int:
|
|
@@ -322,10 +322,10 @@ def bond_zh_cov() -> pd.DataFrame:
|
|
|
322
322
|
"reportName": "RPT_BOND_CB_LIST",
|
|
323
323
|
"columns": "ALL",
|
|
324
324
|
"quoteColumns": "f2~01~CONVERT_STOCK_CODE~CONVERT_STOCK_PRICE,"
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
325
|
+
"f235~10~SECURITY_CODE~TRANSFER_PRICE,f236~10~SECURITY_CODE~TRANSFER_VALUE,"
|
|
326
|
+
"f2~10~SECURITY_CODE~CURRENT_BOND_PRICE,f237~10~SECURITY_CODE~TRANSFER_PREMIUM_RATIO,"
|
|
327
|
+
"f239~10~SECURITY_CODE~RESALE_TRIG_PRICE,f240~10~SECURITY_CODE~REDEEM_TRIG_PRICE,"
|
|
328
|
+
"f23~01~CONVERT_STOCK_CODE~PBV_RATIO",
|
|
329
329
|
"source": "WEB",
|
|
330
330
|
"client": "WEB",
|
|
331
331
|
}
|
|
@@ -413,6 +413,7 @@ def bond_zh_cov() -> pd.DataFrame:
|
|
|
413
413
|
"_",
|
|
414
414
|
"_",
|
|
415
415
|
"_",
|
|
416
|
+
"_",
|
|
416
417
|
]
|
|
417
418
|
big_df = big_df[
|
|
418
419
|
[
|
|
@@ -480,7 +481,7 @@ def bond_cov_comparison() -> pd.DataFrame:
|
|
|
480
481
|
"fid": "f243",
|
|
481
482
|
"fs": "b:MK0354",
|
|
482
483
|
"fields": "f1,f152,f2,f3,f12,f13,f14,f227,f228,f229,f230,f231,f232,f233,f234,"
|
|
483
|
-
|
|
484
|
+
"f235,f236,f237,f238,f239,f240,f241,f242,f26,f243",
|
|
484
485
|
}
|
|
485
486
|
temp_df = fetch_paginated_data(url, params)
|
|
486
487
|
temp_df.columns = [
|
|
@@ -562,9 +563,9 @@ def bond_zh_cov_info(
|
|
|
562
563
|
"reportName": "RPT_BOND_CB_LIST",
|
|
563
564
|
"columns": "ALL",
|
|
564
565
|
"quoteColumns": "f2~01~CONVERT_STOCK_CODE~CONVERT_STOCK_PRICE,f235~10~SECURITY_CODE~TRANSFER_PRICE,"
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
566
|
+
"f236~10~SECURITY_CODE~TRANSFER_VALUE,f2~10~SECURITY_CODE~CURRENT_BOND_PRICE,"
|
|
567
|
+
"f237~10~SECURITY_CODE~TRANSFER_PREMIUM_RATIO,f239~10~SECURITY_CODE~RESALE_TRIG_PRICE,"
|
|
568
|
+
"f240~10~SECURITY_CODE~REDEEM_TRIG_PRICE,f23~01~CONVERT_STOCK_CODE~PBV_RATIO",
|
|
568
569
|
"quoteType": "0",
|
|
569
570
|
"source": "WEB",
|
|
570
571
|
"client": "WEB",
|
|
@@ -575,9 +576,9 @@ def bond_zh_cov_info(
|
|
|
575
576
|
{
|
|
576
577
|
"reportName": indicator_map[indicator],
|
|
577
578
|
"quoteColumns": "f2~01~CONVERT_STOCK_CODE~CONVERT_STOCK_PRICE,f235~10~SECURITY_CODE~TRANSFER_PRICE,"
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
579
|
+
"f236~10~SECURITY_CODE~TRANSFER_VALUE,f2~10~SECURITY_CODE~CURRENT_BOND_PRICE,"
|
|
580
|
+
"f237~10~SECURITY_CODE~TRANSFER_PREMIUM_RATIO,f239~10~SECURITY_CODE~RESALE_TRIG_PRICE,"
|
|
581
|
+
"f240~10~SECURITY_CODE~REDEEM_TRIG_PRICE,f23~01~CONVERT_STOCK_CODE~PBV_RATIO",
|
|
581
582
|
}
|
|
582
583
|
)
|
|
583
584
|
r = requests.get(url, params=params)
|
|
@@ -313,50 +313,6 @@ def stock_comment_detail_scrd_desire_daily_em(
|
|
|
313
313
|
return temp_df
|
|
314
314
|
|
|
315
315
|
|
|
316
|
-
def stock_comment_detail_scrd_cost_em(symbol: str = "600000") -> pd.DataFrame:
|
|
317
|
-
"""
|
|
318
|
-
东方财富网-数据中心-特色数据-千股千评-市场热度-市场成本
|
|
319
|
-
https://data.eastmoney.com/stockcomment/stock/600000.html
|
|
320
|
-
:param symbol: 股票代码
|
|
321
|
-
:type symbol: str
|
|
322
|
-
:return: 市场热度-市场成本
|
|
323
|
-
:rtype: pandas.DataFrame
|
|
324
|
-
"""
|
|
325
|
-
url = f"https://data.eastmoney.com/stockcomment/api/{symbol}.json"
|
|
326
|
-
try_count = 10
|
|
327
|
-
data_json = None
|
|
328
|
-
while try_count:
|
|
329
|
-
try:
|
|
330
|
-
r = requests.get(url)
|
|
331
|
-
data_json = r.json()
|
|
332
|
-
break
|
|
333
|
-
except requests.exceptions.JSONDecodeError:
|
|
334
|
-
try_count -= 1
|
|
335
|
-
time.sleep(1)
|
|
336
|
-
continue
|
|
337
|
-
date_str = (
|
|
338
|
-
data_json["ApiResults"]["scrd"]["cost"][0][0]["UpdateDate"]
|
|
339
|
-
.split(" ")[0]
|
|
340
|
-
.replace("/", "-")
|
|
341
|
-
)
|
|
342
|
-
|
|
343
|
-
temp_df = pd.DataFrame(
|
|
344
|
-
[
|
|
345
|
-
data_json["ApiResults"]["scrd"]["cost"][1]["XData"],
|
|
346
|
-
data_json["ApiResults"]["scrd"]["cost"][1]["Ydata"]["AvgBuyPrice"],
|
|
347
|
-
data_json["ApiResults"]["scrd"]["cost"][1]["Ydata"]["FiveDayAvgBuyPrice"],
|
|
348
|
-
]
|
|
349
|
-
).T
|
|
350
|
-
temp_df.columns = ["日期", "市场成本", "5日市场成本"]
|
|
351
|
-
temp_df["日期"] = date_str[:4] + "-" + temp_df["日期"]
|
|
352
|
-
temp_df["日期"] = pd.to_datetime(temp_df["日期"], errors="coerce").dt.date
|
|
353
|
-
temp_df.sort_values(by=["日期"], inplace=True)
|
|
354
|
-
temp_df.reset_index(inplace=True, drop=True)
|
|
355
|
-
temp_df["市场成本"] = pd.to_numeric(temp_df["市场成本"], errors="coerce")
|
|
356
|
-
temp_df["5日市场成本"] = pd.to_numeric(temp_df["5日市场成本"], errors="coerce")
|
|
357
|
-
return temp_df
|
|
358
|
-
|
|
359
|
-
|
|
360
316
|
if __name__ == "__main__":
|
|
361
317
|
stock_comment_em_df = stock_comment_em()
|
|
362
318
|
print(stock_comment_em_df)
|
|
@@ -385,8 +341,3 @@ if __name__ == "__main__":
|
|
|
385
341
|
stock_comment_detail_scrd_desire_daily_em(symbol="600000")
|
|
386
342
|
)
|
|
387
343
|
print(stock_comment_detail_scrd_desire_daily_em_df)
|
|
388
|
-
|
|
389
|
-
stock_comment_detail_scrd_cost_em_df = stock_comment_detail_scrd_cost_em(
|
|
390
|
-
symbol="600000"
|
|
391
|
-
)
|
|
392
|
-
print(stock_comment_detail_scrd_cost_em_df)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
akshare/__init__.py,sha256=
|
|
1
|
+
akshare/__init__.py,sha256=V-thIqpk-zg-VY-iHewSGFF128lWKK1jDMe1FO3SsL0,195098
|
|
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
|
|
@@ -31,7 +31,7 @@ akshare/bond/bond_info_cm.py,sha256=VBu9UM9tUcGDRV07pndU9yttLDF_Nk3b0vU0n65qpHs,
|
|
|
31
31
|
akshare/bond/bond_issue_cninfo.py,sha256=tPoZhF-_sIX9ztCKB0K0-Z4Kd9b-389bP3_CdFK7Wb0,21672
|
|
32
32
|
akshare/bond/bond_nafmii.py,sha256=cekcobyXKMG1zDuM8wHWOn__SuWELxYmUwfGVmLRP40,2155
|
|
33
33
|
akshare/bond/bond_summary.py,sha256=_Z2OVjE3UpfxN2GhQ2FoE9eHCjQFENz0DStyJQcYkH4,3584
|
|
34
|
-
akshare/bond/bond_zh_cov.py,sha256=
|
|
34
|
+
akshare/bond/bond_zh_cov.py,sha256=yrL4R4H7rV824ri0qO-Cis36ADJwvEtBODTV_vcliv4,23512
|
|
35
35
|
akshare/bond/bond_zh_sina.py,sha256=msj7upgqaCTzC_MxzhUm7hVKtzHeWRUjlcjvZn2zlbw,4654
|
|
36
36
|
akshare/bond/cons.py,sha256=w5XTyOS4FdwrYFTtxwvtZr59teM29-OgzLqRDXT0H2s,1805
|
|
37
37
|
akshare/cal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -306,7 +306,7 @@ akshare/stock_feature/stock_board_concept_ths.py,sha256=SsJ_kPbs4v9Tge25GLe3LA-m
|
|
|
306
306
|
akshare/stock_feature/stock_board_industry_ths.py,sha256=c22JP9MJGncLaqvBmkAxHUz3HKNMCKf58Rug9n2vlAU,15102
|
|
307
307
|
akshare/stock_feature/stock_buffett_index_lg.py,sha256=kPE3HKsmqsk-yf60S3gd8EtUJld5yk8zLA7UDVcxmog,2029
|
|
308
308
|
akshare/stock_feature/stock_classify_sina.py,sha256=a_AfXPTfb1GwljesjaW4Nifc0BxZ5bib25HygfI314I,3175
|
|
309
|
-
akshare/stock_feature/stock_comment_em.py,sha256=
|
|
309
|
+
akshare/stock_feature/stock_comment_em.py,sha256=Gado6tCFFi2JilKMd_yunjjiIsBmLoMLCjIBOJZJs3U,11812
|
|
310
310
|
akshare/stock_feature/stock_concept_futu.py,sha256=jKJ9mfdJXgXwcMb3gVpbDl5ivr-zcMkuGO7jjgyA3os,6228
|
|
311
311
|
akshare/stock_feature/stock_congestion_lg.py,sha256=lAG-5gio95_IfAWyWrDAvIYIf67G6nCupNhsS9pE-3U,1301
|
|
312
312
|
akshare/stock_feature/stock_cyq_em.py,sha256=Zo6C_dFDk4oJt3RHTdmWCUQXVAeoNpu5XdRlUcrChkE,10816
|
|
@@ -392,10 +392,10 @@ akshare/utils/func.py,sha256=4cwmXFztU86yJNONJ40KJLvsIEQHBbct4iMm3zT2v30,2315
|
|
|
392
392
|
akshare/utils/multi_decrypt.py,sha256=aWoL2iEPeuXHJg8-n7OtMKixLnIhfzepACgxfrfmQB4,1657
|
|
393
393
|
akshare/utils/token_process.py,sha256=nGtgnZGRprXJkhLXH8mcUH4TgIFwzsTOb0EaEPa0Euo,667
|
|
394
394
|
akshare/utils/tqdm.py,sha256=MuPNwcswkOGjwWQOMWXi9ZvQ_RmW4obCWRj2i7HM7FE,847
|
|
395
|
-
akshare-1.17.
|
|
395
|
+
akshare-1.17.16.dist-info/licenses/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
|
|
396
396
|
tests/__init__.py,sha256=gNzhlO0UPjFq6Ieb38kaVIODXv4cTDByrdohAZnDYt4,82
|
|
397
397
|
tests/test_func.py,sha256=j1MGYbZI2if2j_LY1S4FLsf4qfq4NwVqD5wmRlv5Log,832
|
|
398
|
-
akshare-1.17.
|
|
399
|
-
akshare-1.17.
|
|
400
|
-
akshare-1.17.
|
|
401
|
-
akshare-1.17.
|
|
398
|
+
akshare-1.17.16.dist-info/METADATA,sha256=XgmORd-i4HvPpL3E3yxi3PNZ7ZKgjZfsMRTHnzdeFck,11902
|
|
399
|
+
akshare-1.17.16.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
400
|
+
akshare-1.17.16.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
|
|
401
|
+
akshare-1.17.16.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|