akshare 1.14.83__tar.gz → 1.14.85__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.
Potentially problematic release.
This version of akshare might be problematic. Click here for more details.
- {akshare-1.14.83 → akshare-1.14.85}/PKG-INFO +1 -1
- {akshare-1.14.83 → akshare-1.14.85}/akshare/__init__.py +3 -1
- {akshare-1.14.83 → akshare-1.14.85}/akshare/index/index_drewry.py +17 -16
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_fundamental/stock_profit_forecast_em.py +31 -13
- {akshare-1.14.83 → akshare-1.14.85}/akshare.egg-info/PKG-INFO +1 -1
- {akshare-1.14.83 → akshare-1.14.85}/LICENSE +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/README.md +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/air/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/air/air_hebei.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/air/air_zhenqi.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/air/cons.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/air/crypto.js +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/air/outcrypto.js +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/air/sunrise_tad.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/article/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/article/cons.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/article/epu_index.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/article/ff_factor.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/article/fred_md.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/article/risk_rv.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/bank/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/bank/bank_cbirc_2020.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/bank/cons.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/bond/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/bond/bond_cb_sina.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/bond/bond_cb_ths.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/bond/bond_cbond.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/bond/bond_china.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/bond/bond_china_money.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/bond/bond_convert.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/bond/bond_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/bond/bond_info_cm.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/bond/bond_investing.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/bond/bond_issue_cninfo.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/bond/bond_nafmii.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/bond/bond_summary.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/bond/bond_zh_cov.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/bond/bond_zh_sina.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/bond/cons.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/cost/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/cost/cost_living.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/crypto/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/crypto/crypto_bitcoin_cme.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/crypto/crypto_hist_investing.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/crypto/crypto_hold.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/currency/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/currency/currency.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/currency/currency_china_bank_sina.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/currency/currency_safe.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/data/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/data/cninfo.js +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/data/crypto_info.zip +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/data/ths.js +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/datasets.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/economic/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/economic/cons.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/economic/macro_australia.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/economic/macro_bank.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/economic/macro_canada.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/economic/macro_china.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/economic/macro_china_hk.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/economic/macro_china_nbs.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/economic/macro_constitute.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/economic/macro_euro.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/economic/macro_finance_ths.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/economic/macro_germany.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/economic/macro_info_ws.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/economic/macro_japan.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/economic/macro_other.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/economic/macro_swiss.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/economic/macro_uk.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/economic/macro_usa.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/economic/marco_cnbs.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/energy/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/energy/energy_carbon.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/energy/energy_oil_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/event/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/event/cons.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/event/migration.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/file_fold/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/file_fold/calendar.json +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/fortune/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/fortune/fortune_500.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/fortune/fortune_bloomberg.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/fortune/fortune_forbes_500.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/fortune/fortune_hurun.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/fortune/fortune_xincaifu_500.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/fund/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/fund/fund_amac.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/fund/fund_announcement.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/fund/fund_aum_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/fund/fund_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/fund/fund_etf_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/fund/fund_etf_sina.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/fund/fund_etf_ths.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/fund/fund_fhsp_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/fund/fund_init_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/fund/fund_lof_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/fund/fund_manager.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/fund/fund_portfolio_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/fund/fund_position_lg.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/fund/fund_rank_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/fund/fund_rating.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/fund/fund_report_cninfo.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/fund/fund_scale_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/fund/fund_scale_sina.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/fund/fund_xq.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures/cons.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures/cot.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures/futures_basis.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures/futures_comex_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures/futures_comm_ctp.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures/futures_comm_qihuo.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures/futures_contract_detail.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures/futures_daily_bar.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures/futures_foreign.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures/futures_hf_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures/futures_hq_sina.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures/futures_index_ccidx.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures/futures_international.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures/futures_inventory_99.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures/futures_inventory_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures/futures_news_baidu.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures/futures_news_shmet.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures/futures_roll_yield.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures/futures_rule.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures/futures_settlement_price_sgx.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures/futures_spot_stock_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures/futures_stock_js.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures/futures_to_spot.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures/futures_warehouse_receipt.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures/futures_zh_sina.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures/inventory_data.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures/receipt.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures/requests_fun.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures/symbol_var.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures_derivative/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures_derivative/cons.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures_derivative/futures_contract_info_cffex.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures_derivative/futures_contract_info_czce.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures_derivative/futures_contract_info_dce.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures_derivative/futures_contract_info_gfex.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures_derivative/futures_contract_info_ine.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures_derivative/futures_contract_info_shfe.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures_derivative/futures_cot_sina.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures_derivative/futures_hog.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures_derivative/futures_index_price_nh.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures_derivative/futures_index_return_nh.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures_derivative/futures_index_sina.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures_derivative/futures_index_volatility_nh.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures_derivative/futures_other_index_nh.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/futures_derivative/futures_spot_sys.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/fx/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/fx/cons.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/fx/currency_investing.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/fx/fx_quote.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/fx/fx_quote_baidu.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/hf/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/hf/hf_sp500.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/index/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/index/cons.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/index/index_cflp.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/index/index_cni.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/index/index_cons.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/index/index_cx.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/index/index_eri.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/index/index_fear_greed_funddb.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/index/index_hog.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/index/index_investing.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/index/index_kq_fz.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/index/index_kq_ss.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/index/index_option_qvix.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/index/index_research_fund_sw.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/index/index_research_sw.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/index/index_spot.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/index/index_stock_hk.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/index/index_stock_us_sina.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/index/index_stock_zh.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/index/index_stock_zh_csindex.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/index/index_sugar.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/index/index_sw.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/index/index_yw.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/index/index_zh_a_scope.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/index/index_zh_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/interest_rate/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/interest_rate/interbank_rate_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/movie/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/movie/artist_yien.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/movie/jm.js +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/movie/movie_yien.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/movie/video_yien.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/news/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/news/news_baidu.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/news/news_cctv.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/news/news_stock.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/nlp/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/nlp/nlp_interface.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/option/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/option/cons.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/option/option_comm_qihuo.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/option/option_commodity.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/option/option_commodity_sina.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/option/option_czce.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/option/option_daily_stats_sse_szse.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/option/option_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/option/option_finance.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/option/option_finance_sina.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/option/option_lhb_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/option/option_premium_analysis_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/option/option_risk_analysis_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/option/option_risk_indicator_sse.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/option/option_value_analysis_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/other/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/other/other_car_cpca.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/other/other_car_gasgoo.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/pro/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/pro/client.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/pro/cons.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/pro/data_pro.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/qhkc/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/qhkc/qhkc_api.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/qhkc_web/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/qhkc_web/qhkc_fund.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/qhkc_web/qhkc_index.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/qhkc_web/qhkc_tool.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/rate/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/rate/repo_rate.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/reits/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/reits/reits_basic.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/sport/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/sport/sport_olympic.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/spot/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/spot/spot_hog_soozhu.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/spot/spot_price_qh.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/spot/spot_sge.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/cons.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_allotment_cninfo.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_ask_bid_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_board_concept_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_board_industry_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_cg_equity_mortgage.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_cg_guarantee.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_cg_lawsuit.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_dividend_cninfo.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_dzjy_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_fund_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_fund_hold.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_gsrl_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_hk_famous.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_hk_fhpx_ths.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_hk_hot_rank_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_hk_sina.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_hold_control_cninfo.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_hold_control_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_hold_num_cninfo.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_hot_rank_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_hot_search_baidu.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_hot_up_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_industry.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_industry_cninfo.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_industry_pe_cninfo.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_industry_sw.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_info.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_info_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_intraday_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_intraday_sina.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_ipo_summary_cninfo.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_new_cninfo.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_news_cx.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_profile_cninfo.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_rank_forecast.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_repurchase_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_share_changes_cninfo.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_share_hold.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_stop.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_summary.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_us_famous.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_us_js.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_us_pink.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_us_sina.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_weibo_nlp.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_xq.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_zh_a_sina.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_zh_a_special.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_zh_a_tick_tx.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_zh_ah_tx.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_zh_b_sina.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_zh_kcb_report.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock/stock_zh_kcb_sina.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/cons.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_a_below_net_asset_statistics.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_a_high_low.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_a_indicator.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_a_pe_and_pb.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_account_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_all_pb.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_analyst_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_board_industry_ths.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_buffett_index_lg.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_classify_sina.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_comment_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_concept_futu.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_congestion_lg.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_cyq_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_disclosure_cninfo.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_dxsyl_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_ebs_lg.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_esg_sina.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_fhps_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_fhps_ths.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_fund_flow.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_gddh_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_gdfx_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_gdhs.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_gdzjc_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_gpzy_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_gxl_lg.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_hist_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_hist_tx.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_hk_valuation_baidu.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_hot_xq.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_hsgt_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_hsgt_exchange_rate.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_hsgt_min_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_info.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_inner_trade_xq.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_irm_cninfo.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_jgdy_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_lh_yybpm.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_lhb_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_lhb_sina.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_margin_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_margin_sse.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_margin_szse.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_market_legu.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_pankou_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_qsjy_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_report_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_research_report_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_sns_sseinfo.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_sy_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_technology_ths.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_tfp_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_three_report_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_ttm_lyr.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_wencai.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_yjbb_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_yjyg_cninfo.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_yjyg_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_yzxdr_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_zdhtmx_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_zf_pg.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_zh_valuation_baidu.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_zh_vote_baidu.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/stock_ztb_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_feature/ths.js +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_fundamental/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_fundamental/stock_finance.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_fundamental/stock_finance_hk.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_fundamental/stock_finance_ths.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_fundamental/stock_hold.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_fundamental/stock_ipo_declare.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_fundamental/stock_kcb_detail_sse.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_fundamental/stock_kcb_sse.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_fundamental/stock_mda_ym.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_fundamental/stock_notice.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_fundamental/stock_profit_forecast_hk_etnet.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_fundamental/stock_profit_forecast_ths.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_fundamental/stock_recommend.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_fundamental/stock_register_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_fundamental/stock_restricted_em.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_fundamental/stock_zygc.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/stock_fundamental/stock_zyjs_ths.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/tool/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/tool/trade_date_hist.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/utils/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/utils/cons.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/utils/demjson.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/utils/func.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/utils/token_process.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare/utils/tqdm.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare.egg-info/SOURCES.txt +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare.egg-info/dependency_links.txt +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare.egg-info/requires.txt +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/akshare.egg-info/top_level.txt +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/pyproject.toml +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/setup.cfg +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/setup.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/tests/__init__.py +0 -0
- {akshare-1.14.83 → akshare-1.14.85}/tests/test_func.py +0 -0
|
@@ -2894,9 +2894,11 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
|
|
|
2894
2894
|
1.14.81 fix: fix stock_hsgt_hist_em interface
|
|
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
|
+
1.14.84 fix: fix drewry_wci_index interface
|
|
2898
|
+
1.14.85 fix: fix stock_profit_forecast_em interface
|
|
2897
2899
|
"""
|
|
2898
2900
|
|
|
2899
|
-
__version__ = "1.14.
|
|
2901
|
+
__version__ = "1.14.85"
|
|
2900
2902
|
__author__ = "AKFamily"
|
|
2901
2903
|
|
|
2902
2904
|
import sys
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env python
|
|
2
2
|
# -*- coding:utf-8 -*-
|
|
3
3
|
"""
|
|
4
|
-
Date:
|
|
4
|
+
Date: 2024/9/26 18:00
|
|
5
5
|
Desc: Drewry 集装箱指数
|
|
6
6
|
https://www.drewry.co.uk/supply-chain-advisors/supply-chain-expertise/world-container-index-assessed-by-drewry
|
|
7
7
|
https://infogram.com/world-container-index-1h17493095xl4zj
|
|
8
8
|
"""
|
|
9
|
+
|
|
9
10
|
import pandas as pd
|
|
10
11
|
import requests
|
|
11
12
|
from bs4 import BeautifulSoup
|
|
@@ -17,7 +18,8 @@ def drewry_wci_index(symbol: str = "composite") -> pd.DataFrame:
|
|
|
17
18
|
"""
|
|
18
19
|
Drewry 集装箱指数
|
|
19
20
|
https://infogram.com/world-container-index-1h17493095xl4zj
|
|
20
|
-
:param symbol: choice of {"composite", "shanghai-rotterdam", "rotterdam-shanghai", "shanghai-los angeles",
|
|
21
|
+
:param symbol: choice of {"composite", "shanghai-rotterdam", "rotterdam-shanghai", "shanghai-los angeles",
|
|
22
|
+
"los angeles-shanghai", "shanghai-genoa", "new york-rotterdam", "rotterdam-new york"}
|
|
21
23
|
:type symbol: str
|
|
22
24
|
:return: Drewry 集装箱指数
|
|
23
25
|
:rtype: pandas.DataFrame
|
|
@@ -34,24 +36,23 @@ def drewry_wci_index(symbol: str = "composite") -> pd.DataFrame:
|
|
|
34
36
|
}
|
|
35
37
|
url = "https://infogram.com/world-container-index-1h17493095xl4zj"
|
|
36
38
|
r = requests.get(url)
|
|
37
|
-
soup = BeautifulSoup(r.text, "lxml")
|
|
39
|
+
soup = BeautifulSoup(r.text, features="lxml")
|
|
38
40
|
data_text = soup.find_all("script")[-4].string.strip("window.infographicData=")[:-1]
|
|
39
41
|
data_json = demjson.decode(data_text)
|
|
40
|
-
|
|
41
|
-
|
|
42
|
+
data_json_need = data_json["elements"]["content"]["content"]["entities"][
|
|
43
|
+
"7a55585f-3fb3-44e6-9b54-beea1cd20b4d"
|
|
44
|
+
]["data"][symbol_map[symbol]]
|
|
45
|
+
date_list = [item[0]["value"] for item in data_json_need[1:]]
|
|
46
|
+
try:
|
|
47
|
+
value_list = [item[1]["value"] for item in data_json_need[1:]]
|
|
48
|
+
except TypeError:
|
|
49
|
+
value_list = [item[1]["value"] for item in data_json_need[1:-1]]
|
|
50
|
+
temp_df = pd.DataFrame([date_list, value_list]).T
|
|
42
51
|
temp_df.columns = ["date", "wci"]
|
|
43
|
-
temp_df["date"] =
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
month = temp_df["date"].str.split("-", expand=True).iloc[:, 1].str.strip()
|
|
47
|
-
month = month.str.replace("July", "Jul")
|
|
48
|
-
year = temp_df["date"].str.split("-", expand=True).iloc[:, 2].str.strip()
|
|
49
|
-
temp_df["date"] = day + "-" + month + "-" + year
|
|
50
|
-
# 修正数据源中日期格式的错误
|
|
51
|
-
temp_df["date"] = temp_df["date"].str.replace("Sept", "Sep")
|
|
52
|
-
temp_df["date"] = pd.to_datetime(temp_df["date"], format="%d-%b-%y").dt.date
|
|
52
|
+
temp_df["date"] = pd.to_datetime(
|
|
53
|
+
temp_df["date"], format="%d-%b-%y", errors="coerce"
|
|
54
|
+
).dt.date
|
|
53
55
|
temp_df["wci"] = pd.to_numeric(temp_df["wci"], errors="coerce")
|
|
54
|
-
temp_df.reset_index(inplace=True, drop=True)
|
|
55
56
|
return temp_df
|
|
56
57
|
|
|
57
58
|
|
|
@@ -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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{akshare-1.14.83 → akshare-1.14.85}/akshare/futures_derivative/futures_contract_info_cffex.py
RENAMED
|
File without changes
|
{akshare-1.14.83 → akshare-1.14.85}/akshare/futures_derivative/futures_contract_info_czce.py
RENAMED
|
File without changes
|
|
File without changes
|
{akshare-1.14.83 → akshare-1.14.85}/akshare/futures_derivative/futures_contract_info_gfex.py
RENAMED
|
File without changes
|
|
File without changes
|
{akshare-1.14.83 → akshare-1.14.85}/akshare/futures_derivative/futures_contract_info_shfe.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{akshare-1.14.83 → akshare-1.14.85}/akshare/futures_derivative/futures_index_volatility_nh.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|