akshare 1.16.10__tar.gz → 1.16.12__tar.gz
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-1.16.10 → akshare-1.16.12}/PKG-INFO +1 -1
- {akshare-1.16.10 → akshare-1.16.12}/akshare/__init__.py +3 -1
- {akshare-1.16.10 → akshare-1.16.12}/akshare/bond/bond_zh_cov.py +13 -51
- {akshare-1.16.10 → akshare-1.16.12}/akshare/index/index_zh_em.py +23 -62
- {akshare-1.16.10 → akshare-1.16.12}/akshare/reits/reits_basic.py +15 -14
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_fund_em.py +18 -18
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_hk_famous.py +4 -4
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_intraday_em.py +16 -56
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_stop.py +6 -5
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_us_famous.py +4 -4
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_hist_em.py +2 -2
- {akshare-1.16.10 → akshare-1.16.12}/akshare.egg-info/PKG-INFO +1 -1
- {akshare-1.16.10 → akshare-1.16.12}/LICENSE +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/README.md +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/air/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/air/air_hebei.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/air/air_zhenqi.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/air/cons.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/air/crypto.js +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/air/outcrypto.js +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/air/sunrise_tad.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/article/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/article/cons.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/article/epu_index.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/article/ff_factor.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/article/fred_md.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/article/risk_rv.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/bank/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/bank/bank_cbirc_2020.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/bank/cons.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/bond/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/bond/bond_cb_sina.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/bond/bond_cb_ths.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/bond/bond_cbond.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/bond/bond_china.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/bond/bond_china_money.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/bond/bond_convert.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/bond/bond_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/bond/bond_info_cm.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/bond/bond_issue_cninfo.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/bond/bond_nafmii.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/bond/bond_summary.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/bond/bond_zh_sina.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/bond/cons.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/cal/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/cal/rv.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/cost/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/cost/cost_living.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/crypto/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/crypto/crypto_bitcoin_cme.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/crypto/crypto_hold.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/currency/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/currency/currency.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/currency/currency_china_bank_sina.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/currency/currency_safe.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/data/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/data/cninfo.js +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/data/crypto_info.zip +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/data/ths.js +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/datasets.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/economic/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/economic/cons.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/economic/macro_australia.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/economic/macro_bank.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/economic/macro_canada.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/economic/macro_china.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/economic/macro_china_hk.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/economic/macro_china_nbs.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/economic/macro_constitute.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/economic/macro_euro.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/economic/macro_finance_ths.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/economic/macro_germany.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/economic/macro_info_ws.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/economic/macro_japan.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/economic/macro_other.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/economic/macro_swiss.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/economic/macro_uk.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/economic/macro_usa.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/economic/marco_cnbs.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/energy/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/energy/energy_carbon.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/energy/energy_oil_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/event/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/event/cons.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/event/migration.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/exceptions.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/file_fold/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/file_fold/calendar.json +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/fortune/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/fortune/fortune_500.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/fortune/fortune_bloomberg.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/fortune/fortune_forbes_500.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/fortune/fortune_hurun.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/fortune/fortune_xincaifu_500.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/fund/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/fund/fund_amac.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/fund/fund_announcement.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/fund/fund_aum_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/fund/fund_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/fund/fund_etf_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/fund/fund_etf_sina.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/fund/fund_etf_ths.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/fund/fund_fee_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/fund/fund_fhsp_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/fund/fund_init_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/fund/fund_lof_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/fund/fund_manager.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/fund/fund_portfolio_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/fund/fund_position_lg.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/fund/fund_rank_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/fund/fund_rating.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/fund/fund_report_cninfo.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/fund/fund_scale_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/fund/fund_scale_sina.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/fund/fund_xq.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures/cons.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures/cot.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures/futures_basis.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures/futures_comex_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures/futures_comm_ctp.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures/futures_comm_qihuo.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures/futures_contract_detail.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures/futures_daily_bar.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures/futures_foreign.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures/futures_hf_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures/futures_hist_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures/futures_hq_sina.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures/futures_index_ccidx.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures/futures_inventory_99.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures/futures_inventory_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures/futures_news_shmet.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures/futures_roll_yield.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures/futures_rule.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures/futures_rule_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures/futures_settlement_price_sgx.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures/futures_spot_stock_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures/futures_stock_js.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures/futures_to_spot.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures/futures_warehouse_receipt.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures/futures_zh_sina.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures/receipt.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures/requests_fun.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures/symbol_var.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures_derivative/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures_derivative/cons.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures_derivative/futures_contract_info_cffex.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures_derivative/futures_contract_info_czce.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures_derivative/futures_contract_info_dce.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures_derivative/futures_contract_info_gfex.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures_derivative/futures_contract_info_ine.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures_derivative/futures_contract_info_shfe.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures_derivative/futures_cot_sina.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures_derivative/futures_hog.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures_derivative/futures_index_sina.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/futures_derivative/futures_spot_sys.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/fx/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/fx/cons.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/fx/currency_investing.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/fx/fx_quote.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/fx/fx_quote_baidu.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/hf/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/hf/hf_sp500.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/index/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/index/cons.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/index/index_cflp.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/index/index_cni.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/index/index_cons.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/index/index_cx.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/index/index_drewry.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/index/index_eri.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/index/index_hog.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/index/index_kq_fz.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/index/index_kq_ss.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/index/index_option_qvix.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/index/index_research_fund_sw.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/index/index_research_sw.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/index/index_spot.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/index/index_stock_hk.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/index/index_stock_us_sina.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/index/index_stock_zh.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/index/index_stock_zh_csindex.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/index/index_sugar.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/index/index_sw.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/index/index_yw.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/index/index_zh_a_scope.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/interest_rate/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/interest_rate/interbank_rate_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/movie/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/movie/artist_yien.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/movie/jm.js +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/movie/movie_yien.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/movie/video_yien.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/news/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/news/news_baidu.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/news/news_cctv.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/news/news_stock.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/nlp/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/nlp/nlp_interface.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/option/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/option/cons.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/option/option_comm_qihuo.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/option/option_commodity.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/option/option_commodity_sina.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/option/option_czce.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/option/option_daily_stats_sse_szse.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/option/option_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/option/option_finance.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/option/option_finance_sina.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/option/option_lhb_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/option/option_premium_analysis_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/option/option_risk_analysis_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/option/option_risk_indicator_sse.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/option/option_value_analysis_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/other/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/other/other_car_cpca.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/other/other_car_gasgoo.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/pro/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/pro/client.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/pro/cons.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/pro/data_pro.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/qdii/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/qdii/qdii_jsl.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/qhkc/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/qhkc/qhkc_api.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/qhkc_web/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/qhkc_web/qhkc_fund.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/qhkc_web/qhkc_index.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/qhkc_web/qhkc_tool.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/rate/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/rate/repo_rate.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/reits/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/request.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/sport/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/sport/sport_olympic.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/spot/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/spot/spot_hog_soozhu.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/spot/spot_price_qh.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/spot/spot_sge.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/cons.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_allotment_cninfo.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_ask_bid_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_board_concept_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_board_industry_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_cg_equity_mortgage.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_cg_guarantee.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_cg_lawsuit.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_dividend_cninfo.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_dzjy_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_fund_hold.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_gsrl_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_hk_fhpx_ths.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_hk_hot_rank_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_hk_sina.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_hold_control_cninfo.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_hold_control_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_hold_num_cninfo.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_hot_rank_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_hot_search_baidu.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_hot_up_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_industry.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_industry_cninfo.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_industry_pe_cninfo.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_industry_sw.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_info.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_info_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_intraday_sina.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_ipo_summary_cninfo.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_new_cninfo.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_news_cx.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_profile_cninfo.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_rank_forecast.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_repurchase_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_share_changes_cninfo.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_share_hold.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_summary.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_us_js.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_us_pink.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_us_sina.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_weibo_nlp.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_xq.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_zh_a_sina.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_zh_a_special.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_zh_a_tick_tx.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_zh_ah_tx.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_zh_b_sina.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_zh_kcb_report.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock/stock_zh_kcb_sina.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/cons.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_a_below_net_asset_statistics.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_a_high_low.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_a_indicator.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_a_pe_and_pb.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_account_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_all_pb.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_analyst_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_board_industry_ths.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_buffett_index_lg.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_classify_sina.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_comment_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_concept_futu.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_congestion_lg.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_cyq_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_disclosure_cninfo.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_dxsyl_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_ebs_lg.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_esg_sina.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_fhps_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_fhps_ths.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_fund_flow.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_gddh_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_gdfx_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_gdhs.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_gdzjc_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_gpzy_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_gxl_lg.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_hist_tx.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_hk_valuation_baidu.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_hot_xq.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_hsgt_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_hsgt_exchange_rate.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_hsgt_min_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_info.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_inner_trade_xq.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_irm_cninfo.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_jgdy_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_lh_yybpm.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_lhb_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_lhb_sina.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_margin_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_margin_sse.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_margin_szse.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_market_legu.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_pankou_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_qsjy_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_report_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_research_report_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_sns_sseinfo.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_sy_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_technology_ths.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_tfp_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_three_report_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_ttm_lyr.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_value_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_wencai.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_yjbb_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_yjyg_cninfo.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_yjyg_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_yzxdr_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_zdhtmx_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_zf_pg.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_zh_valuation_baidu.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_zh_vote_baidu.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/stock_ztb_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_feature/ths.js +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_fundamental/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_fundamental/stock_finance.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_fundamental/stock_finance_hk.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_fundamental/stock_finance_ths.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_fundamental/stock_hold.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_fundamental/stock_ipo_declare.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_fundamental/stock_kcb_detail_sse.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_fundamental/stock_kcb_sse.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_fundamental/stock_mda_ym.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_fundamental/stock_notice.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_fundamental/stock_profit_forecast_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_fundamental/stock_profit_forecast_hk_etnet.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_fundamental/stock_profit_forecast_ths.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_fundamental/stock_recommend.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_fundamental/stock_register_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_fundamental/stock_restricted_em.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_fundamental/stock_zygc.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/stock_fundamental/stock_zyjs_ths.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/tool/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/tool/trade_date_hist.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/utils/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/utils/cons.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/utils/context.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/utils/demjson.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/utils/func.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/utils/token_process.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare/utils/tqdm.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare.egg-info/SOURCES.txt +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare.egg-info/dependency_links.txt +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare.egg-info/requires.txt +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/akshare.egg-info/top_level.txt +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/pyproject.toml +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/setup.cfg +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/setup.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/tests/__init__.py +0 -0
- {akshare-1.16.10 → akshare-1.16.12}/tests/test_func.py +0 -0
@@ -3019,9 +3019,11 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
|
|
3019
3019
|
1.16.8 fix: fix option_czce_daily interface
|
3020
3020
|
1.16.9 fix: fix stock_sse_deal_daily interface
|
3021
3021
|
1.16.10 fix: fix option_risk_analysis_em interface
|
3022
|
+
1.16.11 fix: fix stock_intraday_em interface
|
3023
|
+
1.16.12 fix: fix bond_zh_hs_cov_daily interface
|
3022
3024
|
"""
|
3023
3025
|
|
3024
|
-
__version__ = "1.16.
|
3026
|
+
__version__ = "1.16.12"
|
3025
3027
|
__author__ = "AKFamily"
|
3026
3028
|
|
3027
3029
|
import sys
|
@@ -1,12 +1,11 @@
|
|
1
1
|
#!/usr/bin/env python
|
2
2
|
# -*- coding:utf-8 -*-
|
3
3
|
"""
|
4
|
-
Date: 2025/2/
|
4
|
+
Date: 2025/2/24 18:50
|
5
5
|
Desc: 新浪财经-债券-沪深可转债-实时行情数据和历史行情数据
|
6
6
|
https://vip.stock.finance.sina.com.cn/mkt/#hskzz_z
|
7
7
|
"""
|
8
8
|
|
9
|
-
import math
|
10
9
|
import datetime
|
11
10
|
import re
|
12
11
|
|
@@ -96,9 +95,9 @@ def _code_id_map() -> dict:
|
|
96
95
|
url = "https://80.push2.eastmoney.com/api/qt/clist/get"
|
97
96
|
params = {
|
98
97
|
"pn": "1",
|
99
|
-
"pz": "
|
98
|
+
"pz": "50000",
|
100
99
|
"po": "1",
|
101
|
-
"np": "
|
100
|
+
"np": "2",
|
102
101
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
103
102
|
"fltt": "2",
|
104
103
|
"invt": "2",
|
@@ -109,28 +108,15 @@ def _code_id_map() -> dict:
|
|
109
108
|
}
|
110
109
|
r = requests.get(url, params=params)
|
111
110
|
data_json = r.json()
|
112
|
-
|
113
|
-
temp_list = []
|
114
|
-
tqdm = get_tqdm()
|
115
|
-
for page in tqdm(range(1, total_page + 1), leave=False):
|
116
|
-
params.update(
|
117
|
-
{
|
118
|
-
"pn": page,
|
119
|
-
}
|
120
|
-
)
|
121
|
-
r = requests.get(url, params=params, timeout=15)
|
122
|
-
data_json = r.json()
|
123
|
-
inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
|
124
|
-
temp_list.append(inner_temp_df)
|
125
|
-
temp_df = pd.concat(temp_list, ignore_index=True)
|
111
|
+
temp_df = pd.DataFrame(data_json["data"]["diff"]).T
|
126
112
|
temp_df["market_id"] = 1
|
127
113
|
temp_df.columns = ["sh_code", "sh_id"]
|
128
114
|
code_id_dict = dict(zip(temp_df["sh_code"], temp_df["sh_id"]))
|
129
115
|
params = {
|
130
116
|
"pn": "1",
|
131
|
-
"pz": "
|
117
|
+
"pz": "50000",
|
132
118
|
"po": "1",
|
133
|
-
"np": "
|
119
|
+
"np": "2",
|
134
120
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
135
121
|
"fltt": "2",
|
136
122
|
"invt": "2",
|
@@ -141,20 +127,7 @@ def _code_id_map() -> dict:
|
|
141
127
|
}
|
142
128
|
r = requests.get(url, params=params)
|
143
129
|
data_json = r.json()
|
144
|
-
|
145
|
-
temp_list = []
|
146
|
-
tqdm = get_tqdm()
|
147
|
-
for page in tqdm(range(1, total_page + 1), leave=False):
|
148
|
-
params.update(
|
149
|
-
{
|
150
|
-
"pn": page,
|
151
|
-
}
|
152
|
-
)
|
153
|
-
r = requests.get(url, params=params, timeout=15)
|
154
|
-
data_json = r.json()
|
155
|
-
inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
|
156
|
-
temp_list.append(inner_temp_df)
|
157
|
-
temp_df_sz = pd.concat(temp_list, ignore_index=True)
|
130
|
+
temp_df_sz = pd.DataFrame(data_json["data"]["diff"]).T
|
158
131
|
temp_df_sz["sz_id"] = 0
|
159
132
|
code_id_dict.update(dict(zip(temp_df_sz["f12"], temp_df_sz["sz_id"])))
|
160
133
|
return code_id_dict
|
@@ -505,9 +478,9 @@ def bond_cov_comparison() -> pd.DataFrame:
|
|
505
478
|
url = "https://16.push2.eastmoney.com/api/qt/clist/get"
|
506
479
|
params = {
|
507
480
|
"pn": "1",
|
508
|
-
"pz": "
|
481
|
+
"pz": "50000",
|
509
482
|
"po": "1",
|
510
|
-
"np": "
|
483
|
+
"np": "2",
|
511
484
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
512
485
|
"fltt": "2",
|
513
486
|
"invt": "2",
|
@@ -519,21 +492,8 @@ def bond_cov_comparison() -> pd.DataFrame:
|
|
519
492
|
}
|
520
493
|
r = requests.get(url, params=params)
|
521
494
|
text_data = r.text
|
522
|
-
|
523
|
-
|
524
|
-
temp_list = []
|
525
|
-
tqdm = get_tqdm()
|
526
|
-
for page in tqdm(range(1, total_page + 1), leave=False):
|
527
|
-
params.update(
|
528
|
-
{
|
529
|
-
"pn": page,
|
530
|
-
}
|
531
|
-
)
|
532
|
-
r = requests.get(url, params=params, timeout=15)
|
533
|
-
data_json = r.json()
|
534
|
-
inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
|
535
|
-
temp_list.append(inner_temp_df)
|
536
|
-
temp_df = pd.concat(temp_list, ignore_index=True)
|
495
|
+
json_data = demjson.decode(text_data)
|
496
|
+
temp_df = pd.DataFrame(json_data["data"]["diff"]).T
|
537
497
|
temp_df.reset_index(inplace=True)
|
538
498
|
temp_df["index"] = range(1, len(temp_df) + 1)
|
539
499
|
temp_df.columns = [
|
@@ -673,6 +633,8 @@ def bond_zh_cov_info(
|
|
673
633
|
data_json = r.json()
|
674
634
|
temp_df = pd.DataFrame.from_dict(data_json["result"]["data"])
|
675
635
|
return temp_df
|
636
|
+
else:
|
637
|
+
return pd.DataFrame()
|
676
638
|
|
677
639
|
|
678
640
|
def bond_zh_cov_value_analysis(symbol: str = "113527") -> pd.DataFrame:
|
@@ -1,18 +1,15 @@
|
|
1
1
|
#!/usr/bin/env python
|
2
2
|
# -*- coding:utf-8 -*-
|
3
3
|
"""
|
4
|
-
Date: 2025/2/
|
4
|
+
Date: 2025/2/24 18:20
|
5
5
|
Desc: 东方财富网-指数行情数据
|
6
6
|
"""
|
7
7
|
|
8
|
-
import math
|
9
8
|
from functools import lru_cache
|
10
9
|
|
11
10
|
import pandas as pd
|
12
11
|
import requests
|
13
12
|
|
14
|
-
from akshare.utils.tqdm import get_tqdm
|
15
|
-
|
16
13
|
|
17
14
|
@lru_cache()
|
18
15
|
def index_code_id_map_em() -> dict:
|
@@ -25,105 +22,69 @@ def index_code_id_map_em() -> dict:
|
|
25
22
|
url = "https://80.push2.eastmoney.com/api/qt/clist/get"
|
26
23
|
params = {
|
27
24
|
"pn": "1",
|
28
|
-
"pz": "
|
25
|
+
"pz": "50000",
|
29
26
|
"po": "1",
|
30
|
-
"np": "
|
27
|
+
"np": "2",
|
31
28
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
32
29
|
"fltt": "2",
|
33
30
|
"invt": "2",
|
34
|
-
"fid": "
|
31
|
+
"fid": "f3",
|
35
32
|
"fs": "m:1 t:2,m:1 t:23",
|
36
33
|
"fields": "f12",
|
37
34
|
"_": "1623833739532",
|
38
35
|
}
|
39
36
|
r = requests.get(url, params=params)
|
40
37
|
data_json = r.json()
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
for page in tqdm(range(1, total_page + 1), leave=False):
|
45
|
-
params.update(
|
46
|
-
{
|
47
|
-
"pn": page,
|
48
|
-
}
|
49
|
-
)
|
50
|
-
r = requests.get(url, params=params, timeout=15)
|
51
|
-
data_json = r.json()
|
52
|
-
inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
|
53
|
-
temp_list.append(inner_temp_df)
|
54
|
-
temp_df = pd.concat(temp_list, ignore_index=True)
|
38
|
+
if not data_json["data"]["diff"]:
|
39
|
+
return dict()
|
40
|
+
temp_df = pd.DataFrame(data_json["data"]["diff"]).T
|
55
41
|
temp_df["market_id"] = 1
|
56
42
|
temp_df.columns = ["sh_code", "sh_id"]
|
57
43
|
code_id_dict = dict(zip(temp_df["sh_code"], temp_df["sh_id"]))
|
58
44
|
params = {
|
59
45
|
"pn": "1",
|
60
|
-
"pz": "
|
46
|
+
"pz": "10000",
|
61
47
|
"po": "1",
|
62
|
-
"np": "
|
48
|
+
"np": "2",
|
63
49
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
64
50
|
"fltt": "2",
|
65
51
|
"invt": "2",
|
66
|
-
"fid": "
|
52
|
+
"fid": "f3",
|
67
53
|
"fs": "m:0 t:6,m:0 t:80",
|
68
54
|
"fields": "f12",
|
69
55
|
"_": "1623833739532",
|
70
56
|
}
|
71
57
|
r = requests.get(url, params=params)
|
72
58
|
data_json = r.json()
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
for page in tqdm(range(1, total_page + 1), leave=False):
|
77
|
-
params.update(
|
78
|
-
{
|
79
|
-
"pn": page,
|
80
|
-
}
|
81
|
-
)
|
82
|
-
r = requests.get(url, params=params, timeout=15)
|
83
|
-
data_json = r.json()
|
84
|
-
inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
|
85
|
-
temp_list.append(inner_temp_df)
|
86
|
-
temp_df_sz = pd.concat(temp_list, ignore_index=True)
|
59
|
+
if not data_json["data"]["diff"]:
|
60
|
+
return dict()
|
61
|
+
temp_df_sz = pd.DataFrame(data_json["data"]["diff"]).T
|
87
62
|
temp_df_sz["sz_id"] = 0
|
88
63
|
code_id_dict.update(dict(zip(temp_df_sz["f12"], temp_df_sz["sz_id"])))
|
89
|
-
|
90
64
|
params = {
|
91
65
|
"pn": "1",
|
92
|
-
"pz": "
|
66
|
+
"pz": "10000",
|
93
67
|
"po": "1",
|
94
|
-
"np": "
|
68
|
+
"np": "2",
|
95
69
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
96
70
|
"fltt": "2",
|
97
71
|
"invt": "2",
|
98
|
-
"fid": "
|
72
|
+
"fid": "f3",
|
99
73
|
"fs": "m:0 t:81 s:2048",
|
100
74
|
"fields": "f12",
|
101
75
|
"_": "1623833739532",
|
102
76
|
}
|
103
77
|
r = requests.get(url, params=params)
|
104
78
|
data_json = r.json()
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
for page in tqdm(range(1, total_page + 1), leave=False):
|
109
|
-
params.update(
|
110
|
-
{
|
111
|
-
"pn": page,
|
112
|
-
}
|
113
|
-
)
|
114
|
-
r = requests.get(url, params=params, timeout=15)
|
115
|
-
data_json = r.json()
|
116
|
-
inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
|
117
|
-
temp_list.append(inner_temp_df)
|
118
|
-
temp_df_sz = pd.concat(temp_list, ignore_index=True)
|
79
|
+
if not data_json["data"]["diff"]:
|
80
|
+
return dict()
|
81
|
+
temp_df_sz = pd.DataFrame(data_json["data"]["diff"]).T
|
119
82
|
temp_df_sz["bj_id"] = 0
|
120
83
|
code_id_dict.update(dict(zip(temp_df_sz["f12"], temp_df_sz["bj_id"])))
|
121
84
|
code_id_dict = {
|
122
85
|
key: value - 1 if value == 1 else value + 1
|
123
86
|
for key, value in code_id_dict.items()
|
124
87
|
}
|
125
|
-
# 单独增加品种
|
126
|
-
code_id_dict.update({"932000": 2})
|
127
88
|
return code_id_dict
|
128
89
|
|
129
90
|
|
@@ -364,7 +325,7 @@ def index_zh_a_hist_min_em(
|
|
364
325
|
temp_df["时间"] = pd.to_datetime(temp_df["时间"]).astype(str)
|
365
326
|
return temp_df
|
366
327
|
else:
|
367
|
-
url = "
|
328
|
+
url = "https://push2his.eastmoney.com/api/qt/stock/kline/get"
|
368
329
|
try:
|
369
330
|
params = {
|
370
331
|
"secid": f"{code_id_dict[symbol]}.{symbol}",
|
@@ -478,8 +439,8 @@ if __name__ == "__main__":
|
|
478
439
|
|
479
440
|
index_zh_a_hist_min_em_df = index_zh_a_hist_min_em(
|
480
441
|
symbol="000001",
|
481
|
-
period="
|
482
|
-
start_date="2025-02-
|
483
|
-
end_date="2025-02-
|
442
|
+
period="1",
|
443
|
+
start_date="2025-02-24 09:30:00",
|
444
|
+
end_date="2025-02-24 19:00:00",
|
484
445
|
)
|
485
446
|
print(index_zh_a_hist_min_em_df)
|
@@ -1,11 +1,12 @@
|
|
1
1
|
#!/usr/bin/env python
|
2
2
|
# -*- coding:utf-8 -*-
|
3
3
|
"""
|
4
|
-
Date:
|
4
|
+
Date: 2025/2/24 18:00
|
5
5
|
Desc: REITs 行情及信息
|
6
6
|
https://quote.eastmoney.com/center/gridlist.html#fund_reits_all
|
7
7
|
https://www.jisilu.cn/data/cnreits/#CnReits
|
8
8
|
"""
|
9
|
+
|
9
10
|
import pandas as pd
|
10
11
|
import requests
|
11
12
|
|
@@ -17,12 +18,12 @@ def reits_realtime_em() -> pd.DataFrame:
|
|
17
18
|
:return: 沪深 REITs-实时行情
|
18
19
|
:rtype: pandas.DataFrame
|
19
20
|
"""
|
20
|
-
url = "
|
21
|
+
url = "https://95.push2.eastmoney.com/api/qt/clist/get"
|
21
22
|
params = {
|
22
23
|
"pn": "1",
|
23
|
-
"pz": "
|
24
|
+
"pz": "50000",
|
24
25
|
"po": "1",
|
25
|
-
"np": "
|
26
|
+
"np": "2",
|
26
27
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
27
28
|
"fltt": "2",
|
28
29
|
"invt": "2",
|
@@ -33,7 +34,7 @@ def reits_realtime_em() -> pd.DataFrame:
|
|
33
34
|
}
|
34
35
|
r = requests.get(url, params=params)
|
35
36
|
data_json = r.json()
|
36
|
-
temp_df = pd.DataFrame(data_json["data"]["diff"])
|
37
|
+
temp_df = pd.DataFrame(data_json["data"]["diff"]).T
|
37
38
|
temp_df.reset_index(inplace=True)
|
38
39
|
temp_df["index"] = range(1, len(temp_df) + 1)
|
39
40
|
temp_df.rename(
|
@@ -69,15 +70,15 @@ def reits_realtime_em() -> pd.DataFrame:
|
|
69
70
|
"昨收",
|
70
71
|
]
|
71
72
|
]
|
72
|
-
temp_df[
|
73
|
-
temp_df[
|
74
|
-
temp_df[
|
75
|
-
temp_df[
|
76
|
-
temp_df[
|
77
|
-
temp_df[
|
78
|
-
temp_df[
|
79
|
-
temp_df[
|
80
|
-
temp_df[
|
73
|
+
temp_df["最新价"] = pd.to_numeric(temp_df["最新价"], errors="coerce")
|
74
|
+
temp_df["涨跌额"] = pd.to_numeric(temp_df["涨跌额"], errors="coerce")
|
75
|
+
temp_df["涨跌幅"] = pd.to_numeric(temp_df["涨跌幅"], errors="coerce")
|
76
|
+
temp_df["成交量"] = pd.to_numeric(temp_df["成交量"], errors="coerce")
|
77
|
+
temp_df["成交额"] = pd.to_numeric(temp_df["成交额"], errors="coerce")
|
78
|
+
temp_df["开盘价"] = pd.to_numeric(temp_df["开盘价"], errors="coerce")
|
79
|
+
temp_df["最高价"] = pd.to_numeric(temp_df["最高价"], errors="coerce")
|
80
|
+
temp_df["最低价"] = pd.to_numeric(temp_df["最低价"], errors="coerce")
|
81
|
+
temp_df["昨收"] = pd.to_numeric(temp_df["昨收"], errors="coerce")
|
81
82
|
return temp_df
|
82
83
|
|
83
84
|
|
@@ -636,7 +636,7 @@ def _get_stock_sector_fund_flow_summary_code() -> dict:
|
|
636
636
|
}
|
637
637
|
params = {
|
638
638
|
"pn": "1",
|
639
|
-
"pz": "
|
639
|
+
"pz": "50000",
|
640
640
|
"po": "1",
|
641
641
|
"np": "2",
|
642
642
|
"ut": "b2884a393a59ad64002292a3e90d46a5",
|
@@ -675,9 +675,9 @@ def stock_sector_fund_flow_summary(
|
|
675
675
|
params = {
|
676
676
|
"fid": "f62",
|
677
677
|
"po": "1",
|
678
|
-
"pz": "
|
678
|
+
"pz": "5000",
|
679
679
|
"pn": "1",
|
680
|
-
"np": "
|
680
|
+
"np": "2",
|
681
681
|
"fltt": "2",
|
682
682
|
"invt": "2",
|
683
683
|
"fs": f"b:{code_name_map[symbol]}",
|
@@ -685,9 +685,9 @@ def stock_sector_fund_flow_summary(
|
|
685
685
|
}
|
686
686
|
r = requests.get(url, params=params)
|
687
687
|
data_json = r.json()
|
688
|
-
temp_df = pd.DataFrame(data_json["data"]["diff"])
|
688
|
+
temp_df = pd.DataFrame(data_json["data"]["diff"]).T
|
689
689
|
temp_df.reset_index(inplace=True)
|
690
|
-
temp_df["index"] = temp_df["index"] + 1
|
690
|
+
temp_df["index"] = temp_df["index"].astype(int) + 1
|
691
691
|
temp_df.rename(
|
692
692
|
columns={
|
693
693
|
"index": "序号",
|
@@ -764,9 +764,9 @@ def stock_sector_fund_flow_summary(
|
|
764
764
|
params = {
|
765
765
|
"fid": "f164",
|
766
766
|
"po": "1",
|
767
|
-
"pz": "
|
767
|
+
"pz": "50000",
|
768
768
|
"pn": "1",
|
769
|
-
"np": "
|
769
|
+
"np": "2",
|
770
770
|
"fltt": "2",
|
771
771
|
"invt": "2",
|
772
772
|
"fs": f"b:{code_name_map[symbol]}",
|
@@ -774,9 +774,9 @@ def stock_sector_fund_flow_summary(
|
|
774
774
|
}
|
775
775
|
r = requests.get(url, params=params)
|
776
776
|
data_json = r.json()
|
777
|
-
temp_df = pd.DataFrame(data_json["data"]["diff"])
|
777
|
+
temp_df = pd.DataFrame(data_json["data"]["diff"]).T
|
778
778
|
temp_df.reset_index(inplace=True)
|
779
|
-
temp_df["index"] = temp_df["index"] + 1
|
779
|
+
temp_df["index"] = temp_df["index"].astype(int) + 1
|
780
780
|
temp_df.rename(
|
781
781
|
columns={
|
782
782
|
"index": "序号",
|
@@ -853,9 +853,9 @@ def stock_sector_fund_flow_summary(
|
|
853
853
|
params = {
|
854
854
|
"fid": "f174",
|
855
855
|
"po": "1",
|
856
|
-
"pz": "
|
856
|
+
"pz": "50000",
|
857
857
|
"pn": "1",
|
858
|
-
"np": "
|
858
|
+
"np": "2",
|
859
859
|
"fltt": "2",
|
860
860
|
"invt": "2",
|
861
861
|
"fs": f"b:{code_name_map[symbol]}",
|
@@ -863,9 +863,9 @@ def stock_sector_fund_flow_summary(
|
|
863
863
|
}
|
864
864
|
r = requests.get(url, params=params)
|
865
865
|
data_json = r.json()
|
866
|
-
temp_df = pd.DataFrame(data_json["data"]["diff"])
|
866
|
+
temp_df = pd.DataFrame(data_json["data"]["diff"]).T
|
867
867
|
temp_df.reset_index(inplace=True)
|
868
|
-
temp_df["index"] = temp_df["index"] + 1
|
868
|
+
temp_df["index"] = temp_df["index"].astype(int) + 1
|
869
869
|
temp_df.rename(
|
870
870
|
columns={
|
871
871
|
"index": "序号",
|
@@ -942,7 +942,7 @@ def stock_sector_fund_flow_summary(
|
|
942
942
|
return pd.DataFrame()
|
943
943
|
|
944
944
|
|
945
|
-
def stock_sector_fund_flow_hist(symbol: str = "
|
945
|
+
def stock_sector_fund_flow_hist(symbol: str = "汽车服务") -> pd.DataFrame:
|
946
946
|
"""
|
947
947
|
东方财富网-数据中心-资金流向-行业资金流-行业历史资金流
|
948
948
|
https://data.eastmoney.com/bkzj/BK1034.html
|
@@ -1045,7 +1045,7 @@ def _get_stock_concept_fund_flow_summary_code() -> dict:
|
|
1045
1045
|
}
|
1046
1046
|
params = {
|
1047
1047
|
"pn": "1",
|
1048
|
-
"pz": "
|
1048
|
+
"pz": "50000",
|
1049
1049
|
"po": "1",
|
1050
1050
|
"np": "2",
|
1051
1051
|
"fields": "f12,f13,f14,f62",
|
@@ -1061,7 +1061,7 @@ def _get_stock_concept_fund_flow_summary_code() -> dict:
|
|
1061
1061
|
return name_code_map
|
1062
1062
|
|
1063
1063
|
|
1064
|
-
def stock_concept_fund_flow_hist(symbol: str = "
|
1064
|
+
def stock_concept_fund_flow_hist(symbol: str = "数据要素") -> pd.DataFrame:
|
1065
1065
|
"""
|
1066
1066
|
东方财富网-数据中心-资金流向-概念资金流-概念历史资金流
|
1067
1067
|
https://data.eastmoney.com/bkzj/BK0574.html
|
@@ -1302,10 +1302,10 @@ if __name__ == "__main__":
|
|
1302
1302
|
)
|
1303
1303
|
print(stock_sector_fund_flow_summary_df)
|
1304
1304
|
|
1305
|
-
stock_sector_fund_flow_hist_df = stock_sector_fund_flow_hist(symbol="
|
1305
|
+
stock_sector_fund_flow_hist_df = stock_sector_fund_flow_hist(symbol="汽车服务")
|
1306
1306
|
print(stock_sector_fund_flow_hist_df)
|
1307
1307
|
|
1308
|
-
stock_concept_fund_flow_hist_df = stock_concept_fund_flow_hist(symbol="
|
1308
|
+
stock_concept_fund_flow_hist_df = stock_concept_fund_flow_hist(symbol="数据要素")
|
1309
1309
|
print(stock_concept_fund_flow_hist_df)
|
1310
1310
|
|
1311
1311
|
stock_main_fund_flow_df = stock_main_fund_flow(symbol="全部股票")
|
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env python
|
2
2
|
# -*- coding:utf-8 -*-
|
3
3
|
"""
|
4
|
-
Date:
|
4
|
+
Date: 2025/2/24 18:30
|
5
5
|
Desc: 东方财富网-行情中心-港股市场-知名港股
|
6
6
|
https://quote.eastmoney.com/center/gridlist.html#hk_wellknown
|
7
7
|
"""
|
@@ -20,9 +20,9 @@ def stock_hk_famous_spot_em() -> pd.DataFrame:
|
|
20
20
|
url = "https://69.push2.eastmoney.com/api/qt/clist/get"
|
21
21
|
params = {
|
22
22
|
"pn": "1",
|
23
|
-
"pz": "
|
23
|
+
"pz": "50000",
|
24
24
|
"po": "1",
|
25
|
-
"np": "
|
25
|
+
"np": "2",
|
26
26
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
27
27
|
"fltt": "2",
|
28
28
|
"invt": "2",
|
@@ -36,7 +36,7 @@ def stock_hk_famous_spot_em() -> pd.DataFrame:
|
|
36
36
|
}
|
37
37
|
r = requests.get(url, params=params)
|
38
38
|
data_json = r.json()
|
39
|
-
temp_df = pd.DataFrame(data_json["data"]["diff"])
|
39
|
+
temp_df = pd.DataFrame(data_json["data"]["diff"]).T
|
40
40
|
temp_df.columns = [
|
41
41
|
"_",
|
42
42
|
"最新价",
|
@@ -1,20 +1,17 @@
|
|
1
1
|
#!/usr/bin/env python
|
2
2
|
# -*- coding:utf-8 -*-
|
3
3
|
"""
|
4
|
-
Date: 2025/2/
|
4
|
+
Date: 2025/2/24 18:00
|
5
5
|
Desc: 东财财富-日内分时数据
|
6
6
|
https://quote.eastmoney.com/f1.html?newcode=0.000001
|
7
7
|
"""
|
8
8
|
|
9
9
|
import json
|
10
|
-
import math
|
11
10
|
from functools import lru_cache
|
12
11
|
|
13
12
|
import pandas as pd
|
14
13
|
import requests
|
15
14
|
|
16
|
-
from akshare.utils.tqdm import get_tqdm
|
17
|
-
|
18
15
|
|
19
16
|
@lru_cache()
|
20
17
|
def __code_id_map_em() -> dict:
|
@@ -24,16 +21,16 @@ def __code_id_map_em() -> dict:
|
|
24
21
|
:return: 股票和市场代码
|
25
22
|
:rtype: dict
|
26
23
|
"""
|
27
|
-
url = "
|
24
|
+
url = "https://80.push2.eastmoney.com/api/qt/clist/get"
|
28
25
|
params = {
|
29
26
|
"pn": "1",
|
30
|
-
"pz": "
|
27
|
+
"pz": "50000",
|
31
28
|
"po": "1",
|
32
|
-
"np": "
|
29
|
+
"np": "2",
|
33
30
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
34
31
|
"fltt": "2",
|
35
32
|
"invt": "2",
|
36
|
-
"fid": "
|
33
|
+
"fid": "f3",
|
37
34
|
"fs": "m:1 t:2,m:1 t:23",
|
38
35
|
"fields": "f12",
|
39
36
|
"_": "1623833739532",
|
@@ -42,32 +39,19 @@ def __code_id_map_em() -> dict:
|
|
42
39
|
data_json = r.json()
|
43
40
|
if not data_json["data"]["diff"]:
|
44
41
|
return dict()
|
45
|
-
|
46
|
-
temp_list = []
|
47
|
-
tqdm = get_tqdm()
|
48
|
-
for page in tqdm(range(1, total_page + 1), leave=False):
|
49
|
-
params.update(
|
50
|
-
{
|
51
|
-
"pn": page,
|
52
|
-
}
|
53
|
-
)
|
54
|
-
r = requests.get(url, params=params, timeout=15)
|
55
|
-
data_json = r.json()
|
56
|
-
inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
|
57
|
-
temp_list.append(inner_temp_df)
|
58
|
-
temp_df = pd.concat(temp_list, ignore_index=True)
|
42
|
+
temp_df = pd.DataFrame(data_json["data"]["diff"]).T
|
59
43
|
temp_df["market_id"] = 1
|
60
44
|
temp_df.columns = ["sh_code", "sh_id"]
|
61
45
|
code_id_dict = dict(zip(temp_df["sh_code"], temp_df["sh_id"]))
|
62
46
|
params = {
|
63
47
|
"pn": "1",
|
64
|
-
"pz": "
|
48
|
+
"pz": "50000",
|
65
49
|
"po": "1",
|
66
|
-
"np": "
|
50
|
+
"np": "2",
|
67
51
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
68
52
|
"fltt": "2",
|
69
53
|
"invt": "2",
|
70
|
-
"fid": "
|
54
|
+
"fid": "f3",
|
71
55
|
"fs": "m:0 t:6,m:0 t:80",
|
72
56
|
"fields": "f12",
|
73
57
|
"_": "1623833739532",
|
@@ -76,31 +60,18 @@ def __code_id_map_em() -> dict:
|
|
76
60
|
data_json = r.json()
|
77
61
|
if not data_json["data"]["diff"]:
|
78
62
|
return dict()
|
79
|
-
|
80
|
-
temp_list = []
|
81
|
-
tqdm = get_tqdm()
|
82
|
-
for page in tqdm(range(1, total_page + 1), leave=False):
|
83
|
-
params.update(
|
84
|
-
{
|
85
|
-
"pn": page,
|
86
|
-
}
|
87
|
-
)
|
88
|
-
r = requests.get(url, params=params, timeout=15)
|
89
|
-
data_json = r.json()
|
90
|
-
inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
|
91
|
-
temp_list.append(inner_temp_df)
|
92
|
-
temp_df_sz = pd.concat(temp_list, ignore_index=True)
|
63
|
+
temp_df_sz = pd.DataFrame(data_json["data"]["diff"]).T
|
93
64
|
temp_df_sz["sz_id"] = 0
|
94
65
|
code_id_dict.update(dict(zip(temp_df_sz["f12"], temp_df_sz["sz_id"])))
|
95
66
|
params = {
|
96
67
|
"pn": "1",
|
97
|
-
"pz": "
|
68
|
+
"pz": "50000",
|
98
69
|
"po": "1",
|
99
|
-
"np": "
|
70
|
+
"np": "2",
|
100
71
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
101
72
|
"fltt": "2",
|
102
73
|
"invt": "2",
|
103
|
-
"fid": "
|
74
|
+
"fid": "f3",
|
104
75
|
"fs": "m:0 t:81 s:2048",
|
105
76
|
"fields": "f12",
|
106
77
|
"_": "1623833739532",
|
@@ -109,20 +80,7 @@ def __code_id_map_em() -> dict:
|
|
109
80
|
data_json = r.json()
|
110
81
|
if not data_json["data"]["diff"]:
|
111
82
|
return dict()
|
112
|
-
|
113
|
-
temp_list = []
|
114
|
-
tqdm = get_tqdm()
|
115
|
-
for page in tqdm(range(1, total_page + 1), leave=False):
|
116
|
-
params.update(
|
117
|
-
{
|
118
|
-
"pn": page,
|
119
|
-
}
|
120
|
-
)
|
121
|
-
r = requests.get(url, params=params, timeout=15)
|
122
|
-
data_json = r.json()
|
123
|
-
inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
|
124
|
-
temp_list.append(inner_temp_df)
|
125
|
-
temp_df_sz = pd.concat(temp_list, ignore_index=True)
|
83
|
+
temp_df_sz = pd.DataFrame(data_json["data"]["diff"]).T
|
126
84
|
temp_df_sz["bj_id"] = 0
|
127
85
|
code_id_dict.update(dict(zip(temp_df_sz["f12"], temp_df_sz["bj_id"])))
|
128
86
|
return code_id_dict
|
@@ -163,7 +121,9 @@ def stock_intraday_em(symbol: str = "000001") -> pd.DataFrame:
|
|
163
121
|
"secid": f"{code_id_map_em_dict[symbol]}.{symbol}",
|
164
122
|
"wbp2u": "|0|0|0|web",
|
165
123
|
}
|
124
|
+
|
166
125
|
big_df = pd.DataFrame() # 创建一个空的 DataFrame
|
126
|
+
|
167
127
|
for event in __event_stream(url, params):
|
168
128
|
# 从每个事件的数据行中删除 "data: ",然后解析 JSON
|
169
129
|
event_json = json.loads(event.replace("data: ", ""))
|