akshare 1.15.27__tar.gz → 1.15.29__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.15.27 → akshare-1.15.29}/PKG-INFO +2 -2
- {akshare-1.15.27 → akshare-1.15.29}/README.md +1 -1
- {akshare-1.15.27 → akshare-1.15.29}/akshare/__init__.py +3 -1
- {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_stock_zh.py +1 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_sw.py +10 -2
- {akshare-1.15.27 → akshare-1.15.29}/akshare/option/option_commodity.py +95 -22
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_hk_valuation_baidu.py +20 -8
- {akshare-1.15.27 → akshare-1.15.29}/akshare.egg-info/PKG-INFO +2 -2
- {akshare-1.15.27 → akshare-1.15.29}/LICENSE +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/air/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/air/air_hebei.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/air/air_zhenqi.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/air/cons.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/air/crypto.js +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/air/outcrypto.js +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/air/sunrise_tad.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/article/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/article/cons.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/article/epu_index.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/article/ff_factor.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/article/fred_md.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/article/risk_rv.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/bank/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/bank/bank_cbirc_2020.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/bank/cons.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/bond/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/bond/bond_cb_sina.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/bond/bond_cb_ths.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/bond/bond_cbond.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/bond/bond_china.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/bond/bond_china_money.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/bond/bond_convert.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/bond/bond_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/bond/bond_info_cm.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/bond/bond_investing.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/bond/bond_issue_cninfo.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/bond/bond_nafmii.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/bond/bond_summary.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/bond/bond_zh_cov.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/bond/bond_zh_sina.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/bond/cons.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/cal/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/cal/rv.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/cost/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/cost/cost_living.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/crypto/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/crypto/crypto_bitcoin_cme.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/crypto/crypto_hist_investing.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/crypto/crypto_hold.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/currency/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/currency/currency.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/currency/currency_china_bank_sina.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/currency/currency_safe.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/data/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/data/cninfo.js +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/data/crypto_info.zip +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/data/ths.js +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/datasets.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/cons.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/macro_australia.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/macro_bank.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/macro_canada.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/macro_china.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/macro_china_hk.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/macro_china_nbs.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/macro_constitute.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/macro_euro.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/macro_finance_ths.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/macro_germany.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/macro_info_ws.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/macro_japan.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/macro_other.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/macro_swiss.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/macro_uk.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/macro_usa.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/marco_cnbs.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/energy/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/energy/energy_carbon.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/energy/energy_oil_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/event/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/event/cons.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/event/migration.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/exceptions.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/file_fold/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/file_fold/calendar.json +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/fortune/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/fortune/fortune_500.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/fortune/fortune_bloomberg.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/fortune/fortune_forbes_500.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/fortune/fortune_hurun.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/fortune/fortune_xincaifu_500.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_amac.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_announcement.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_aum_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_etf_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_etf_sina.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_etf_ths.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_fhsp_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_init_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_lof_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_manager.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_portfolio_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_position_lg.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_rank_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_rating.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_report_cninfo.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_scale_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_scale_sina.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_xq.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/cons.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/cot.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_basis.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_comex_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_comm_ctp.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_comm_qihuo.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_contract_detail.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_daily_bar.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_foreign.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_hf_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_hq_sina.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_index_ccidx.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_international.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_inventory_99.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_inventory_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_news_baidu.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_news_shmet.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_roll_yield.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_rule.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_settlement_price_sgx.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_spot_stock_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_stock_js.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_to_spot.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_warehouse_receipt.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_zh_sina.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/inventory_data.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/receipt.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/requests_fun.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/symbol_var.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures_derivative/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures_derivative/cons.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures_derivative/futures_contract_info_cffex.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures_derivative/futures_contract_info_czce.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures_derivative/futures_contract_info_dce.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures_derivative/futures_contract_info_gfex.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures_derivative/futures_contract_info_ine.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures_derivative/futures_contract_info_shfe.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures_derivative/futures_cot_sina.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures_derivative/futures_hog.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures_derivative/futures_index_sina.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/futures_derivative/futures_spot_sys.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/fx/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/fx/cons.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/fx/currency_investing.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/fx/fx_quote.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/fx/fx_quote_baidu.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/hf/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/hf/hf_sp500.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/index/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/index/cons.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_cflp.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_cni.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_cons.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_cx.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_drewry.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_eri.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_fear_greed_funddb.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_hog.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_investing.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_kq_fz.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_kq_ss.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_option_qvix.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_research_fund_sw.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_research_sw.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_spot.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_stock_hk.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_stock_us_sina.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_stock_zh_csindex.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_sugar.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_yw.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_zh_a_scope.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_zh_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/interest_rate/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/interest_rate/interbank_rate_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/movie/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/movie/artist_yien.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/movie/jm.js +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/movie/movie_yien.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/movie/video_yien.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/news/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/news/news_baidu.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/news/news_cctv.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/news/news_stock.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/nlp/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/nlp/nlp_interface.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/option/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/option/cons.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/option/option_comm_qihuo.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/option/option_commodity_sina.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/option/option_czce.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/option/option_daily_stats_sse_szse.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/option/option_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/option/option_finance.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/option/option_finance_sina.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/option/option_lhb_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/option/option_premium_analysis_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/option/option_risk_analysis_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/option/option_risk_indicator_sse.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/option/option_value_analysis_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/other/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/other/other_car_cpca.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/other/other_car_gasgoo.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/pro/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/pro/client.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/pro/cons.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/pro/data_pro.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/qdii/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/qdii/qdii_jsl.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/qhkc/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/qhkc/qhkc_api.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/qhkc_web/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/qhkc_web/qhkc_fund.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/qhkc_web/qhkc_index.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/qhkc_web/qhkc_tool.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/rate/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/rate/repo_rate.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/reits/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/reits/reits_basic.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/request.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/sport/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/sport/sport_olympic.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/spot/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/spot/spot_hog_soozhu.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/spot/spot_price_qh.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/spot/spot_sge.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/cons.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_allotment_cninfo.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_ask_bid_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_board_concept_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_board_industry_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_cg_equity_mortgage.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_cg_guarantee.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_cg_lawsuit.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_dividend_cninfo.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_dzjy_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_fund_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_fund_hold.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_gsrl_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_hk_famous.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_hk_fhpx_ths.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_hk_hot_rank_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_hk_sina.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_hold_control_cninfo.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_hold_control_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_hold_num_cninfo.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_hot_rank_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_hot_search_baidu.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_hot_up_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_industry.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_industry_cninfo.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_industry_pe_cninfo.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_industry_sw.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_info.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_info_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_intraday_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_intraday_sina.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_ipo_summary_cninfo.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_new_cninfo.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_news_cx.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_profile_cninfo.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_rank_forecast.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_repurchase_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_share_changes_cninfo.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_share_hold.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_stop.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_summary.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_us_famous.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_us_js.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_us_pink.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_us_sina.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_weibo_nlp.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_xq.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_zh_a_sina.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_zh_a_special.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_zh_a_tick_tx.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_zh_ah_tx.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_zh_b_sina.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_zh_kcb_report.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_zh_kcb_sina.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/cons.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_a_below_net_asset_statistics.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_a_high_low.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_a_indicator.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_a_pe_and_pb.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_account_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_all_pb.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_analyst_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_board_industry_ths.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_buffett_index_lg.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_classify_sina.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_comment_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_concept_futu.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_congestion_lg.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_cyq_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_disclosure_cninfo.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_dxsyl_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_ebs_lg.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_esg_sina.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_fhps_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_fhps_ths.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_fund_flow.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_gddh_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_gdfx_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_gdhs.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_gdzjc_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_gpzy_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_gxl_lg.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_hist_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_hist_tx.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_hot_xq.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_hsgt_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_hsgt_exchange_rate.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_hsgt_min_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_info.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_inner_trade_xq.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_irm_cninfo.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_jgdy_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_lh_yybpm.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_lhb_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_lhb_sina.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_margin_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_margin_sse.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_margin_szse.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_market_legu.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_pankou_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_qsjy_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_report_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_research_report_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_sns_sseinfo.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_sy_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_technology_ths.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_tfp_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_three_report_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_ttm_lyr.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_wencai.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_yjbb_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_yjyg_cninfo.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_yjyg_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_yzxdr_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_zdhtmx_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_zf_pg.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_zh_valuation_baidu.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_zh_vote_baidu.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_ztb_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/ths.js +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_finance.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_finance_hk.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_finance_ths.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_hold.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_ipo_declare.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_kcb_detail_sse.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_kcb_sse.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_mda_ym.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_notice.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_profit_forecast_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_profit_forecast_hk_etnet.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_profit_forecast_ths.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_recommend.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_register_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_restricted_em.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_zygc.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_zyjs_ths.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/tool/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/tool/trade_date_hist.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/utils/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/utils/cons.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/utils/context.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/utils/demjson.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/utils/func.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/utils/token_process.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare/utils/tqdm.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare.egg-info/SOURCES.txt +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare.egg-info/dependency_links.txt +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare.egg-info/requires.txt +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/akshare.egg-info/top_level.txt +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/pyproject.toml +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/setup.cfg +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/setup.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/tests/__init__.py +0 -0
- {akshare-1.15.27 → akshare-1.15.29}/tests/test_func.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: akshare
|
|
3
|
-
Version: 1.15.
|
|
3
|
+
Version: 1.15.29
|
|
4
4
|
Summary: AKShare is an elegant and simple financial data interface library for Python, built for human beings!
|
|
5
5
|
Home-page: https://github.com/akfamily/akshare
|
|
6
6
|
Author: AKFamily
|
|
@@ -40,7 +40,7 @@ Requires-Dist: akqmt; extra == "qmt"
|
|
|
40
40
|
|
|
41
41
|
**欢迎加入专注于财经数据和量化投资的知识社区,请点击[了解更多](https://akshare.akfamily.xyz/learn.html)**
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
**量化投研视频课程:《PyBroker-入门及实战》已经上架!**
|
|
44
44
|
|
|
45
45
|
**更多视频教程已经发布:《AKShare-初阶-使用教学》、《AKShare-初阶-实战应用》、《AKShare-源码解析》、《开源项目巡礼》**,
|
|
46
46
|
详情请关注【数据科学实战】公众号,查看更多课程信息!
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
**欢迎加入专注于财经数据和量化投资的知识社区,请点击[了解更多](https://akshare.akfamily.xyz/learn.html)**
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**量化投研视频课程:《PyBroker-入门及实战》已经上架!**
|
|
4
4
|
|
|
5
5
|
**更多视频教程已经发布:《AKShare-初阶-使用教学》、《AKShare-初阶-实战应用》、《AKShare-源码解析》、《开源项目巡礼》**,
|
|
6
6
|
详情请关注【数据科学实战】公众号,查看更多课程信息!
|
|
@@ -2937,9 +2937,11 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
|
|
|
2937
2937
|
1.15.25 fix: fix stock_news_main_cx interface
|
|
2938
2938
|
1.15.26 fix: fix option_dce_daily interface
|
|
2939
2939
|
1.15.27 fix: fix stock_zh_index_spot_em interface
|
|
2940
|
+
1.15.28 fix: fix stock_hk_valuation_baidu interface
|
|
2941
|
+
1.15.29 fix: fix option_dce_daily interface
|
|
2940
2942
|
"""
|
|
2941
2943
|
|
|
2942
|
-
__version__ = "1.15.
|
|
2944
|
+
__version__ = "1.15.29"
|
|
2943
2945
|
__author__ = "AKFamily"
|
|
2944
2946
|
|
|
2945
2947
|
import sys
|
|
@@ -95,6 +95,9 @@ def sw_index_second_info() -> pd.DataFrame:
|
|
|
95
95
|
)
|
|
96
96
|
code = [item.get_text() for item in code_raw]
|
|
97
97
|
name = [item.get_text().split("(")[0] for item in name_raw]
|
|
98
|
+
parent_name = [
|
|
99
|
+
item.find("span").get_text().split("(")[0][1:-1] for item in name_raw
|
|
100
|
+
]
|
|
98
101
|
num = [item.get_text().split("(")[1].split(")")[0] for item in name_raw]
|
|
99
102
|
num_1 = [
|
|
100
103
|
item.find_all("span", attrs={"class": "value"})[0].get_text().strip()
|
|
@@ -112,10 +115,11 @@ def sw_index_second_info() -> pd.DataFrame:
|
|
|
112
115
|
item.find_all("span", attrs={"class": "value"})[3].get_text().strip()
|
|
113
116
|
for item in value_raw
|
|
114
117
|
]
|
|
115
|
-
temp_df = pd.DataFrame([code, name, num, num_1, num_2, num_3, num_4]).T
|
|
118
|
+
temp_df = pd.DataFrame([code, name, parent_name, num, num_1, num_2, num_3, num_4]).T
|
|
116
119
|
temp_df.columns = [
|
|
117
120
|
"行业代码",
|
|
118
121
|
"行业名称",
|
|
122
|
+
"上级行业",
|
|
119
123
|
"成份个数",
|
|
120
124
|
"静态市盈率",
|
|
121
125
|
"TTM(滚动)市盈率",
|
|
@@ -153,6 +157,9 @@ def sw_index_third_info() -> pd.DataFrame:
|
|
|
153
157
|
)
|
|
154
158
|
code = [item.get_text() for item in code_raw]
|
|
155
159
|
name = [item.get_text().split("(")[0] for item in name_raw]
|
|
160
|
+
parent_name = [
|
|
161
|
+
item.find("span").get_text().split("(")[0][1:-1] for item in name_raw
|
|
162
|
+
]
|
|
156
163
|
num = [item.get_text().split("(")[1].split(")")[0] for item in name_raw]
|
|
157
164
|
num_1 = [
|
|
158
165
|
item.find_all("span", attrs={"class": "value"})[0].get_text().strip()
|
|
@@ -170,10 +177,11 @@ def sw_index_third_info() -> pd.DataFrame:
|
|
|
170
177
|
item.find_all("span", attrs={"class": "value"})[3].get_text().strip()
|
|
171
178
|
for item in value_raw
|
|
172
179
|
]
|
|
173
|
-
temp_df = pd.DataFrame([code, name, num, num_1, num_2, num_3, num_4]).T
|
|
180
|
+
temp_df = pd.DataFrame([code, name, parent_name, num, num_1, num_2, num_3, num_4]).T
|
|
174
181
|
temp_df.columns = [
|
|
175
182
|
"行业代码",
|
|
176
183
|
"行业名称",
|
|
184
|
+
"上级行业",
|
|
177
185
|
"成份个数",
|
|
178
186
|
"静态市盈率",
|
|
179
187
|
"TTM(滚动)市盈率",
|
|
@@ -80,7 +80,7 @@ def option_dce_daily(
|
|
|
80
80
|
elif symbol == "玉米期权":
|
|
81
81
|
result_one_df, result_two_df = (
|
|
82
82
|
table_df[table_df["商品名称"] == "玉米"],
|
|
83
|
-
another_df[another_df.iloc[:, 0].str.contains("c")],
|
|
83
|
+
another_df[another_df.iloc[:, 0].str.contains(r"^c\d")],
|
|
84
84
|
)
|
|
85
85
|
elif symbol == "铁矿石期权":
|
|
86
86
|
result_one_df, result_two_df = (
|
|
@@ -163,6 +163,43 @@ def option_dce_daily(
|
|
|
163
163
|
return result_one_df, result_two_df
|
|
164
164
|
|
|
165
165
|
|
|
166
|
+
def __option_czce_daily_convert_numeric_columns(df):
|
|
167
|
+
# 定义要处理的列
|
|
168
|
+
columns_to_convert = [
|
|
169
|
+
"昨结算",
|
|
170
|
+
"今开盘",
|
|
171
|
+
"最高价",
|
|
172
|
+
"最低价",
|
|
173
|
+
"今收盘",
|
|
174
|
+
"今结算",
|
|
175
|
+
"涨跌1",
|
|
176
|
+
"涨跌2",
|
|
177
|
+
"成交量(手)",
|
|
178
|
+
"持仓量",
|
|
179
|
+
"增减量",
|
|
180
|
+
"成交额(万元)",
|
|
181
|
+
"DELTA",
|
|
182
|
+
"隐含波动率",
|
|
183
|
+
"行权量",
|
|
184
|
+
]
|
|
185
|
+
|
|
186
|
+
# 转换函数:去除逗号并转换为float
|
|
187
|
+
def convert_to_float(x):
|
|
188
|
+
try:
|
|
189
|
+
return float(str(x).replace(",", ""))
|
|
190
|
+
except: # noqa: E722
|
|
191
|
+
return x
|
|
192
|
+
|
|
193
|
+
# 创建DataFrame的副本以避免SettingWithCopyWarning
|
|
194
|
+
df_copy = df.copy()
|
|
195
|
+
df_copy.columns = [item.strip() for item in df_copy]
|
|
196
|
+
# 应用转换
|
|
197
|
+
for col in columns_to_convert:
|
|
198
|
+
df_copy[col] = df_copy[col].apply(convert_to_float)
|
|
199
|
+
|
|
200
|
+
return df_copy
|
|
201
|
+
|
|
202
|
+
|
|
166
203
|
def option_czce_daily(
|
|
167
204
|
symbol: str = "白糖期权", trade_date: str = "20191017"
|
|
168
205
|
) -> pd.DataFrame:
|
|
@@ -192,82 +229,118 @@ def option_czce_daily(
|
|
|
192
229
|
if symbol == "白糖期权":
|
|
193
230
|
temp_df = table_df[table_df.iloc[:, 0].str.contains("SR")]
|
|
194
231
|
temp_df.reset_index(inplace=True, drop=True)
|
|
195
|
-
|
|
232
|
+
temp_df = temp_df.iloc[:-1, :].copy()
|
|
233
|
+
new_df = __option_czce_daily_convert_numeric_columns(temp_df)
|
|
234
|
+
return new_df
|
|
196
235
|
elif symbol == "棉花期权":
|
|
197
236
|
temp_df = table_df[table_df.iloc[:, 0].str.contains("CF")]
|
|
198
237
|
temp_df.reset_index(inplace=True, drop=True)
|
|
199
|
-
|
|
238
|
+
temp_df = temp_df.iloc[:-1, :].copy()
|
|
239
|
+
new_df = __option_czce_daily_convert_numeric_columns(temp_df)
|
|
240
|
+
return new_df
|
|
200
241
|
elif symbol == "甲醇期权":
|
|
201
242
|
temp_df = table_df[table_df.iloc[:, 0].str.contains("MA")]
|
|
202
243
|
temp_df.reset_index(inplace=True, drop=True)
|
|
203
|
-
|
|
244
|
+
temp_df = temp_df.iloc[:-1, :].copy()
|
|
245
|
+
new_df = __option_czce_daily_convert_numeric_columns(temp_df)
|
|
246
|
+
return new_df
|
|
204
247
|
elif symbol == "PTA期权":
|
|
205
248
|
temp_df = table_df[table_df.iloc[:, 0].str.contains("TA")]
|
|
206
249
|
temp_df.reset_index(inplace=True, drop=True)
|
|
207
|
-
|
|
250
|
+
temp_df = temp_df.iloc[:-1, :].copy()
|
|
251
|
+
new_df = __option_czce_daily_convert_numeric_columns(temp_df)
|
|
252
|
+
return new_df
|
|
208
253
|
elif symbol == "菜籽粕期权":
|
|
209
254
|
temp_df = table_df[table_df.iloc[:, 0].str.contains("RM")]
|
|
210
255
|
temp_df.reset_index(inplace=True, drop=True)
|
|
211
|
-
|
|
256
|
+
temp_df = temp_df.iloc[:-1, :].copy()
|
|
257
|
+
new_df = __option_czce_daily_convert_numeric_columns(temp_df)
|
|
258
|
+
return new_df
|
|
212
259
|
elif symbol == "动力煤期权":
|
|
213
260
|
temp_df = table_df[table_df.iloc[:, 0].str.contains("ZC")]
|
|
214
261
|
temp_df.reset_index(inplace=True, drop=True)
|
|
215
|
-
|
|
262
|
+
temp_df = temp_df.iloc[:-1, :].copy()
|
|
263
|
+
new_df = __option_czce_daily_convert_numeric_columns(temp_df)
|
|
264
|
+
return new_df
|
|
216
265
|
elif symbol == "短纤期权":
|
|
217
266
|
temp_df = table_df[table_df.iloc[:, 0].str.contains("PF")]
|
|
218
267
|
temp_df.reset_index(inplace=True, drop=True)
|
|
219
|
-
|
|
268
|
+
temp_df = temp_df.iloc[:-1, :].copy()
|
|
269
|
+
new_df = __option_czce_daily_convert_numeric_columns(temp_df)
|
|
270
|
+
return new_df
|
|
220
271
|
elif symbol == "菜籽油期权":
|
|
221
272
|
temp_df = table_df[table_df.iloc[:, 0].str.contains("OI")]
|
|
222
273
|
temp_df.reset_index(inplace=True, drop=True)
|
|
223
|
-
|
|
274
|
+
temp_df = temp_df.iloc[:-1, :].copy()
|
|
275
|
+
new_df = __option_czce_daily_convert_numeric_columns(temp_df)
|
|
276
|
+
return new_df
|
|
224
277
|
elif symbol == "花生期权":
|
|
225
278
|
temp_df = table_df[table_df.iloc[:, 0].str.contains("PK")]
|
|
226
279
|
temp_df.reset_index(inplace=True, drop=True)
|
|
227
|
-
|
|
280
|
+
temp_df = temp_df.iloc[:-1, :].copy()
|
|
281
|
+
new_df = __option_czce_daily_convert_numeric_columns(temp_df)
|
|
282
|
+
return new_df
|
|
228
283
|
elif symbol == "纯碱期权":
|
|
229
284
|
temp_df = table_df[table_df.iloc[:, 0].str.contains("SA")]
|
|
230
285
|
temp_df.reset_index(inplace=True, drop=True)
|
|
231
|
-
|
|
286
|
+
temp_df = temp_df.iloc[:-1, :].copy()
|
|
287
|
+
new_df = __option_czce_daily_convert_numeric_columns(temp_df)
|
|
288
|
+
return new_df
|
|
232
289
|
elif symbol == "锰硅期权":
|
|
233
290
|
temp_df = table_df[table_df.iloc[:, 0].str.contains("SM")]
|
|
234
291
|
temp_df.reset_index(inplace=True, drop=True)
|
|
235
|
-
|
|
292
|
+
temp_df = temp_df.iloc[:-1, :].copy()
|
|
293
|
+
new_df = __option_czce_daily_convert_numeric_columns(temp_df)
|
|
294
|
+
return new_df
|
|
236
295
|
elif symbol == "硅铁期权":
|
|
237
296
|
temp_df = table_df[table_df.iloc[:, 0].str.contains("SF")]
|
|
238
297
|
temp_df.reset_index(inplace=True, drop=True)
|
|
239
|
-
|
|
298
|
+
temp_df = temp_df.iloc[:-1, :].copy()
|
|
299
|
+
new_df = __option_czce_daily_convert_numeric_columns(temp_df)
|
|
300
|
+
return new_df
|
|
240
301
|
elif symbol == "尿素期权":
|
|
241
302
|
temp_df = table_df[table_df.iloc[:, 0].str.contains("UR")]
|
|
242
303
|
temp_df.reset_index(inplace=True, drop=True)
|
|
243
|
-
|
|
304
|
+
temp_df = temp_df.iloc[:-1, :].copy()
|
|
305
|
+
new_df = __option_czce_daily_convert_numeric_columns(temp_df)
|
|
306
|
+
return new_df
|
|
244
307
|
elif symbol == "苹果期权":
|
|
245
308
|
temp_df = table_df[table_df.iloc[:, 0].str.contains("AP")]
|
|
246
309
|
temp_df.reset_index(inplace=True, drop=True)
|
|
247
|
-
|
|
310
|
+
temp_df = temp_df.iloc[:-1, :].copy()
|
|
311
|
+
new_df = __option_czce_daily_convert_numeric_columns(temp_df)
|
|
312
|
+
return new_df
|
|
248
313
|
elif symbol == "红枣期权":
|
|
249
314
|
temp_df = table_df[table_df.iloc[:, 0].str.contains("CJ")]
|
|
250
315
|
temp_df.reset_index(inplace=True, drop=True)
|
|
251
|
-
|
|
316
|
+
temp_df = temp_df.iloc[:-1, :].copy()
|
|
317
|
+
new_df = __option_czce_daily_convert_numeric_columns(temp_df)
|
|
318
|
+
return new_df
|
|
252
319
|
elif symbol == "对二甲苯期权":
|
|
253
320
|
temp_df = table_df[table_df.iloc[:, 0].str.contains("PX")]
|
|
254
321
|
temp_df.reset_index(inplace=True, drop=True)
|
|
255
|
-
|
|
322
|
+
temp_df = temp_df.iloc[:-1, :].copy()
|
|
323
|
+
new_df = __option_czce_daily_convert_numeric_columns(temp_df)
|
|
324
|
+
return new_df
|
|
256
325
|
elif symbol == "烧碱期权":
|
|
257
326
|
temp_df = table_df[table_df.iloc[:, 0].str.contains("SH")]
|
|
258
327
|
temp_df.reset_index(inplace=True, drop=True)
|
|
259
|
-
|
|
328
|
+
temp_df = temp_df.iloc[:-1, :].copy()
|
|
329
|
+
new_df = __option_czce_daily_convert_numeric_columns(temp_df)
|
|
330
|
+
return new_df
|
|
260
331
|
elif symbol == "玻璃期权":
|
|
261
332
|
temp_df = table_df[table_df.iloc[:, 0].str.contains("FG")]
|
|
262
333
|
temp_df.reset_index(inplace=True, drop=True)
|
|
263
|
-
|
|
334
|
+
temp_df = temp_df.iloc[:-1, :].copy()
|
|
335
|
+
new_df = __option_czce_daily_convert_numeric_columns(temp_df)
|
|
336
|
+
return new_df
|
|
264
337
|
except: # noqa: E722
|
|
265
338
|
return pd.DataFrame()
|
|
266
339
|
|
|
267
340
|
|
|
268
341
|
def option_shfe_daily(
|
|
269
342
|
symbol: str = "铝期权", trade_date: str = "20200827"
|
|
270
|
-
) -> Optional[pd.DataFrame]:
|
|
343
|
+
) -> Optional[tuple[pd.DataFrame, pd.DataFrame]]:
|
|
271
344
|
"""
|
|
272
345
|
上海期货交易所-期权-日频行情数据
|
|
273
346
|
https://tsite.shfe.com.cn/statements/dataview.html?paramid=kxQ
|
|
@@ -527,11 +600,11 @@ def option_gfex_vol_daily(symbol: str = "碳酸锂", trade_date: str = "20230724
|
|
|
527
600
|
|
|
528
601
|
|
|
529
602
|
if __name__ == "__main__":
|
|
530
|
-
option_czce_daily_df = option_czce_daily(symbol="
|
|
603
|
+
option_czce_daily_df = option_czce_daily(symbol="白糖期权", trade_date="20240711")
|
|
531
604
|
print(option_czce_daily_df)
|
|
532
605
|
|
|
533
606
|
option_dce_daily_one, option_dce_daily_two = option_dce_daily(
|
|
534
|
-
symbol="
|
|
607
|
+
symbol="玉米期权", trade_date="20241121"
|
|
535
608
|
)
|
|
536
609
|
print(option_dce_daily_one)
|
|
537
610
|
print(option_dce_daily_two)
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env python
|
|
2
2
|
# -*- coding:utf-8 -*-
|
|
3
3
|
"""
|
|
4
|
-
Date:
|
|
4
|
+
Date: 2024/11/21 18:26
|
|
5
5
|
Desc: 百度股市通-港股-财务报表-估值数据
|
|
6
6
|
https://gushitong.baidu.com/stock/hk-06969
|
|
7
7
|
"""
|
|
8
|
+
|
|
8
9
|
import http.client
|
|
9
10
|
import json
|
|
10
11
|
import urllib
|
|
@@ -22,25 +23,36 @@ def stock_hk_valuation_baidu(
|
|
|
22
23
|
:type symbol: str
|
|
23
24
|
:param indicator: choice of {"总市值", "市盈率(TTM)", "市盈率(静)", "市净率", "市现率"}
|
|
24
25
|
:type indicator: str
|
|
25
|
-
:param period: choice of {"近一年", "近三年", "
|
|
26
|
+
:param period: choice of {"近一年", "近三年", "全部"}
|
|
26
27
|
:type period: str
|
|
27
28
|
:return: 估值数据
|
|
28
29
|
:rtype: pandas.DataFrame
|
|
29
30
|
"""
|
|
30
31
|
params = {
|
|
31
|
-
"
|
|
32
|
+
"openapi": "1",
|
|
33
|
+
"dspName": "iphone",
|
|
34
|
+
"tn": "tangram",
|
|
35
|
+
"client": "app",
|
|
36
|
+
"query": indicator,
|
|
32
37
|
"code": symbol,
|
|
38
|
+
"word": "",
|
|
39
|
+
"resource_id": "51171",
|
|
33
40
|
"market": "hk",
|
|
34
41
|
"tag": indicator,
|
|
35
42
|
"chart_select": period,
|
|
36
|
-
"
|
|
43
|
+
"industry_select": "",
|
|
44
|
+
"skip_industry": "1",
|
|
37
45
|
"finClientType": "pc",
|
|
38
46
|
}
|
|
39
|
-
conn = http.client.HTTPSConnection("
|
|
40
|
-
conn.request("GET", f"/
|
|
47
|
+
conn = http.client.HTTPSConnection("gushitong.baidu.com")
|
|
48
|
+
conn.request(method="GET", url=f"/opendata?{urllib.parse.urlencode(params)}")
|
|
41
49
|
r = conn.getresponse()
|
|
42
50
|
data_json = json.loads(r.read())
|
|
43
|
-
temp_df = pd.DataFrame(
|
|
51
|
+
temp_df = pd.DataFrame(
|
|
52
|
+
data_json["Result"][0]["DisplayData"]["resultData"]["tplData"]["result"][
|
|
53
|
+
"chartInfo"
|
|
54
|
+
][0]["body"]
|
|
55
|
+
)
|
|
44
56
|
temp_df.columns = ["date", "value"]
|
|
45
57
|
temp_df["date"] = pd.to_datetime(temp_df["date"]).dt.date
|
|
46
58
|
temp_df["value"] = pd.to_numeric(temp_df["value"])
|
|
@@ -49,6 +61,6 @@ def stock_hk_valuation_baidu(
|
|
|
49
61
|
|
|
50
62
|
if __name__ == "__main__":
|
|
51
63
|
stock_hk_valuation_baidu_df = stock_hk_valuation_baidu(
|
|
52
|
-
symbol="
|
|
64
|
+
symbol="06969", indicator="总市值", period="近三年"
|
|
53
65
|
)
|
|
54
66
|
print(stock_hk_valuation_baidu_df)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: akshare
|
|
3
|
-
Version: 1.15.
|
|
3
|
+
Version: 1.15.29
|
|
4
4
|
Summary: AKShare is an elegant and simple financial data interface library for Python, built for human beings!
|
|
5
5
|
Home-page: https://github.com/akfamily/akshare
|
|
6
6
|
Author: AKFamily
|
|
@@ -40,7 +40,7 @@ Requires-Dist: akqmt; extra == "qmt"
|
|
|
40
40
|
|
|
41
41
|
**欢迎加入专注于财经数据和量化投资的知识社区,请点击[了解更多](https://akshare.akfamily.xyz/learn.html)**
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
**量化投研视频课程:《PyBroker-入门及实战》已经上架!**
|
|
44
44
|
|
|
45
45
|
**更多视频教程已经发布:《AKShare-初阶-使用教学》、《AKShare-初阶-实战应用》、《AKShare-源码解析》、《开源项目巡礼》**,
|
|
46
46
|
详情请关注【数据科学实战】公众号,查看更多课程信息!
|
|
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
|