akshare 1.14.37__tar.gz → 1.14.39__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.37 → akshare-1.14.39}/PKG-INFO +1 -1
- {akshare-1.14.37 → akshare-1.14.39}/akshare/__init__.py +3 -1
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_industry_sw.py +3 -5
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_zh_b_sina.py +27 -51
- {akshare-1.14.37 → akshare-1.14.39}/akshare.egg-info/PKG-INFO +1 -1
- {akshare-1.14.37 → akshare-1.14.39}/LICENSE +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/README.md +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/air/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/air/air_hebei.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/air/air_zhenqi.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/air/cons.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/air/crypto.js +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/air/outcrypto.js +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/air/sunrise_tad.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/article/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/article/cons.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/article/epu_index.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/article/ff_factor.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/article/fred_md.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/article/risk_rv.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/bank/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/bank/bank_cbirc_2020.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/bank/cons.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/bond/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/bond/bond_cb_sina.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/bond/bond_cb_ths.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/bond/bond_cbond.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/bond/bond_china.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/bond/bond_china_money.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/bond/bond_convert.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/bond/bond_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/bond/bond_futures.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/bond/bond_info_cm.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/bond/bond_investing.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/bond/bond_issue_cninfo.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/bond/bond_nafmii.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/bond/bond_summary.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/bond/bond_zh_cov.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/bond/bond_zh_sina.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/bond/cons.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/cost/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/cost/cost_living.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/crypto/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/crypto/crypto_bitcoin_cme.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/crypto/crypto_hist_investing.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/crypto/crypto_hold.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/currency/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/currency/currency.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/currency/currency_china_bank_sina.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/currency/currency_safe.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/data/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/data/cninfo.js +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/data/crypto_info.zip +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/data/ths.js +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/datasets.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/economic/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/economic/cons.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/economic/macro_australia.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/economic/macro_bank.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/economic/macro_canada.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/economic/macro_china.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/economic/macro_china_hk.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/economic/macro_china_nbs.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/economic/macro_constitute.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/economic/macro_euro.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/economic/macro_finance_ths.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/economic/macro_germany.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/economic/macro_info_ws.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/economic/macro_japan.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/economic/macro_other.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/economic/macro_swiss.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/economic/macro_uk.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/economic/macro_usa.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/economic/marco_cnbs.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/energy/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/energy/energy_carbon.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/energy/energy_oil_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/event/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/event/cons.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/event/migration.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/file_fold/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/file_fold/calendar.json +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/fortune/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/fortune/fortune_500.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/fortune/fortune_bloomberg.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/fortune/fortune_forbes_500.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/fortune/fortune_hurun.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/fortune/fortune_it_juzi.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/fortune/fortune_xincaifu_500.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/fund/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/fund/fund_amac.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/fund/fund_announcement.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/fund/fund_aum_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/fund/fund_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/fund/fund_etf_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/fund/fund_etf_sina.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/fund/fund_etf_ths.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/fund/fund_fhsp_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/fund/fund_init_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/fund/fund_lof_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/fund/fund_manager.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/fund/fund_portfolio_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/fund/fund_position_lg.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/fund/fund_rank_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/fund/fund_rating.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/fund/fund_report_cninfo.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/fund/fund_scale_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/fund/fund_scale_sina.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/fund/fund_xq.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures/cons.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures/cot.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures/futures_basis.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures/futures_comex_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures/futures_comm_ctp.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures/futures_comm_qihuo.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures/futures_contract_detail.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures/futures_daily_bar.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures/futures_foreign.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures/futures_hf_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures/futures_hq_sina.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures/futures_index_ccidx.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures/futures_international.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures/futures_inventory_99.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures/futures_inventory_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures/futures_news_baidu.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures/futures_news_shmet.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures/futures_roll_yield.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures/futures_rule.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures/futures_settlement_price_sgx.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures/futures_spot_stock_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures/futures_stock_js.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures/futures_to_spot.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures/futures_warehouse_receipt.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures/futures_zh_sina.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures/inventory_data.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures/receipt.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures/requests_fun.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures/symbol_var.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures_derivative/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures_derivative/cons.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures_derivative/futures_contract_info_cffex.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures_derivative/futures_contract_info_czce.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures_derivative/futures_contract_info_dce.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures_derivative/futures_contract_info_gfex.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures_derivative/futures_contract_info_ine.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures_derivative/futures_contract_info_shfe.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures_derivative/futures_cot_sina.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures_derivative/futures_hog.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures_derivative/futures_index_price_nh.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures_derivative/futures_index_return_nh.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures_derivative/futures_index_sina.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures_derivative/futures_index_volatility_nh.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures_derivative/futures_other_index_nh.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/futures_derivative/futures_spot_sys.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/fx/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/fx/cons.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/fx/currency_investing.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/fx/fx_quote.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/fx/fx_quote_baidu.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/hf/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/hf/hf_sp500.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/index/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/index/cons.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/index/index_cflp.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/index/index_cni.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/index/index_cons.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/index/index_cx.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/index/index_drewry.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/index/index_eri.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/index/index_fear_greed_funddb.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/index/index_hog.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/index/index_investing.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/index/index_kq_fz.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/index/index_kq_ss.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/index/index_option_qvix.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/index/index_research_fund_sw.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/index/index_research_sw.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/index/index_spot.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/index/index_stock_hk.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/index/index_stock_us_sina.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/index/index_stock_zh.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/index/index_stock_zh_csindex.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/index/index_sugar.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/index/index_sw.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/index/index_yw.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/index/index_zh_a_scope.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/index/index_zh_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/interest_rate/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/interest_rate/interbank_rate_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/movie/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/movie/artist_yien.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/movie/jm.js +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/movie/movie_yien.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/movie/video_yien.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/news/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/news/news_baidu.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/news/news_cctv.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/news/news_stock.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/nlp/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/nlp/nlp_interface.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/option/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/option/cons.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/option/option_comm_qihuo.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/option/option_commodity.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/option/option_commodity_sina.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/option/option_czce.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/option/option_daily_stats_sse_szse.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/option/option_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/option/option_finance.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/option/option_finance_sina.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/option/option_lhb_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/option/option_premium_analysis_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/option/option_risk_analysis_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/option/option_risk_indicator_sse.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/option/option_value_analysis_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/other/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/other/other_car_cpca.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/other/other_car_gasgoo.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/pro/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/pro/client.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/pro/cons.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/pro/data_pro.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/qhkc/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/qhkc/qhkc_api.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/qhkc_web/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/qhkc_web/qhkc_fund.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/qhkc_web/qhkc_index.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/qhkc_web/qhkc_tool.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/rate/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/rate/repo_rate.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/reits/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/reits/reits_basic.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/sport/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/sport/sport_olympic.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/sport/sport_olympic_winter.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/spot/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/spot/spot_price_qh.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/spot/spot_sge.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/cons.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_allotment_cninfo.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_ask_bid_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_board_concept_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_board_industry_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_cg_equity_mortgage.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_cg_guarantee.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_cg_lawsuit.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_dividend_cninfo.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_dzjy_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_fund_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_fund_hold.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_gsrl_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_hk_fhpx_ths.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_hk_hot_rank_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_hk_sina.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_hold_control_cninfo.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_hold_control_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_hold_num_cninfo.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_hot_rank_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_hot_search_baidu.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_hot_up_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_industry.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_industry_cninfo.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_industry_pe_cninfo.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_info.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_info_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_intraday_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_intraday_sina.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_ipo_summary_cninfo.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_new_cninfo.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_profile_cninfo.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_rank_forecast.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_repurchase_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_share_changes_cninfo.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_share_hold.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_stop.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_summary.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_us_famous.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_us_js.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_us_pink.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_us_sina.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_weibo_nlp.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_xq.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_zh_a_sina.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_zh_a_special.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_zh_a_tick_tx.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_zh_ah_tx.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_zh_kcb_report.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock/stock_zh_kcb_sina.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/cons.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_a_below_net_asset_statistics.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_a_high_low.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_a_indicator.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_a_pe_and_pb.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_account_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_all_pb.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_analyst_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_board_industry_ths.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_buffett_index_lg.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_classify_sina.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_comment_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_concept_futu.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_congestion_lg.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_cyq_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_disclosure_cninfo.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_dxsyl_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_ebs_lg.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_esg_sina.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_fhps_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_fhps_ths.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_fund_flow.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_gddh_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_gdfx_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_gdhs.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_gdzjc_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_gpzy_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_gxl_lg.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_hist_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_hist_tx.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_hk_valuation_baidu.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_hot_xq.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_hsgt_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_hsgt_exchange_rate.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_hsgt_min_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_info.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_inner_trade_xq.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_irm_cninfo.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_jgdy_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_lh_yybpm.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_lhb_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_lhb_sina.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_margin_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_margin_sse.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_margin_szse.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_market_legu.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_pankou_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_qsjy_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_report_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_research_report_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_sns_sseinfo.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_sy_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_technology_ths.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_tfp_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_three_report_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_ttm_lyr.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_wencai.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_yjbb_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_yjyg_cninfo.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_yjyg_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_yzxdr_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_zdhtmx_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_zf_pg.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_zh_valuation_baidu.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_zh_vote_baidu.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/stock_ztb_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_feature/ths.js +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_fundamental/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_fundamental/stock_finance.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_fundamental/stock_finance_hk.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_fundamental/stock_finance_ths.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_fundamental/stock_hold.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_fundamental/stock_ipo_declare.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_fundamental/stock_kcb_detail_sse.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_fundamental/stock_kcb_sse.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_fundamental/stock_mda_ym.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_fundamental/stock_notice.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_fundamental/stock_profit_forecast_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_fundamental/stock_profit_forecast_hk_etnet.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_fundamental/stock_profit_forecast_ths.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_fundamental/stock_recommend.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_fundamental/stock_register_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_fundamental/stock_restricted_em.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_fundamental/stock_zygc.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/stock_fundamental/stock_zyjs_ths.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/tool/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/tool/trade_date_hist.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/utils/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/utils/cons.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/utils/demjson.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/utils/func.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/utils/token_process.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare/utils/tqdm.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare.egg-info/SOURCES.txt +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare.egg-info/dependency_links.txt +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare.egg-info/requires.txt +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/akshare.egg-info/top_level.txt +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/pyproject.toml +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/setup.cfg +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/setup.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/tests/__init__.py +0 -0
- {akshare-1.14.37 → akshare-1.14.39}/tests/test_func.py +0 -0
|
@@ -2848,9 +2848,11 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
|
|
|
2848
2848
|
1.14.35 add: add macro_rmb_deposit interface
|
|
2849
2849
|
1.14.36 fix: fix option_czce_daily interface
|
|
2850
2850
|
1.14.37 fix: fix stock_zh_kcb_report_em interface
|
|
2851
|
+
1.14.38 fix: fix stock_industry_clf_hist_sw interface
|
|
2852
|
+
1.14.39 fix: fix stock_zh_b_daily interface
|
|
2851
2853
|
"""
|
|
2852
2854
|
|
|
2853
|
-
__version__ = "1.14.
|
|
2855
|
+
__version__ = "1.14.39"
|
|
2854
2856
|
__author__ = "AKFamily"
|
|
2855
2857
|
|
|
2856
2858
|
import sys
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env python
|
|
2
2
|
# -*- coding:utf-8 -*-
|
|
3
3
|
"""
|
|
4
|
-
Date: 2024/
|
|
4
|
+
Date: 2024/7/22 17:30
|
|
5
5
|
Desc: 申万宏源研究-行业分类
|
|
6
|
-
|
|
6
|
+
http://www.swhyresearch.com/institute_sw/allIndex/downloadCenter/industryType
|
|
7
7
|
"""
|
|
8
8
|
|
|
9
9
|
import io
|
|
@@ -21,9 +21,7 @@ def stock_industry_clf_hist_sw() -> pd.DataFrame:
|
|
|
21
21
|
:return: 个股行业分类变动历史
|
|
22
22
|
:rtype: pandas.DataFrame
|
|
23
23
|
"""
|
|
24
|
-
url =
|
|
25
|
-
"http://www.swsresearch.com/swindex/pdf/SwClass2021/StockClassifyUse_stock.xls"
|
|
26
|
-
)
|
|
24
|
+
url = "https://www.swsresearch.com/swindex/pdf/SwClass2021/StockClassifyUse_stock.xls" # 此处为 https
|
|
27
25
|
r = requests.get(url, headers=headers)
|
|
28
26
|
temp_df = pd.read_excel(
|
|
29
27
|
io.BytesIO(r.content), dtype={"股票代码": "str", "行业代码": "str"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env python
|
|
2
2
|
# -*- coding:utf-8 -*-
|
|
3
3
|
"""
|
|
4
|
-
Date:
|
|
4
|
+
Date: 2024/7/22 18:30
|
|
5
5
|
Desc: 新浪财经-B股-实时行情数据和历史行情数据(包含前复权和后复权因子)
|
|
6
6
|
https://finance.sina.com.cn/realstock/company/sh689009/nc.shtml
|
|
7
7
|
"""
|
|
@@ -33,7 +33,10 @@ def _get_zh_b_page_count() -> int:
|
|
|
33
33
|
:return: 需要采集的股票总页数
|
|
34
34
|
:rtype: int
|
|
35
35
|
"""
|
|
36
|
-
url =
|
|
36
|
+
url = (
|
|
37
|
+
"https://vip.stock.finance.sina.com.cn/quotes_service/api/json_v2.php/"
|
|
38
|
+
"Market_Center.getHQNodeStockCount?node=hs_b"
|
|
39
|
+
)
|
|
37
40
|
r = requests.get(url)
|
|
38
41
|
page_count = int(re.findall(re.compile(r"\d+"), r.text)[0]) / 80
|
|
39
42
|
if isinstance(page_count, int):
|
|
@@ -45,7 +48,7 @@ def _get_zh_b_page_count() -> int:
|
|
|
45
48
|
def stock_zh_b_spot() -> pd.DataFrame:
|
|
46
49
|
"""
|
|
47
50
|
新浪财经-所有 B 股的实时行情数据; 重复运行本函数会被新浪暂时封 IP
|
|
48
|
-
https://vip.stock.finance.sina.com.cn/mkt/#
|
|
51
|
+
https://vip.stock.finance.sina.com.cn/mkt/#hs_b
|
|
49
52
|
:return: 所有股票的实时行情数据
|
|
50
53
|
:rtype: pandas.DataFrame
|
|
51
54
|
"""
|
|
@@ -64,7 +67,7 @@ def stock_zh_b_spot() -> pd.DataFrame:
|
|
|
64
67
|
zh_sina_stock_payload_copy.update({"page": page})
|
|
65
68
|
r = requests.get(zh_sina_a_stock_url, params=zh_sina_stock_payload_copy)
|
|
66
69
|
data_json = demjson.decode(r.text)
|
|
67
|
-
big_df = pd.concat([big_df, pd.DataFrame(data_json)], ignore_index=True)
|
|
70
|
+
big_df = pd.concat(objs=[big_df, pd.DataFrame(data_json)], ignore_index=True)
|
|
68
71
|
big_df.columns = [
|
|
69
72
|
"代码",
|
|
70
73
|
"_",
|
|
@@ -126,7 +129,7 @@ def stock_zh_b_daily(
|
|
|
126
129
|
) -> pd.DataFrame:
|
|
127
130
|
"""
|
|
128
131
|
新浪财经-B 股-个股的历史行情数据, 大量抓取容易封 IP
|
|
129
|
-
https://finance.sina.com.cn/realstock/company/
|
|
132
|
+
https://finance.sina.com.cn/realstock/company/sh900901/nc.shtml
|
|
130
133
|
:param start_date: 20201103; 开始日期
|
|
131
134
|
:type start_date: str
|
|
132
135
|
:param end_date: 20201103; 结束日期
|
|
@@ -141,9 +144,9 @@ def stock_zh_b_daily(
|
|
|
141
144
|
|
|
142
145
|
def _fq_factor(method: str) -> pd.DataFrame:
|
|
143
146
|
if method == "hfq":
|
|
144
|
-
|
|
147
|
+
r = requests.get(zh_sina_a_stock_hfq_url.format(symbol))
|
|
145
148
|
hfq_factor_df = pd.DataFrame(
|
|
146
|
-
eval(
|
|
149
|
+
eval(r.text.split("=")[1].split("\n")[0])["data"]
|
|
147
150
|
)
|
|
148
151
|
if hfq_factor_df.shape[0] == 0:
|
|
149
152
|
raise ValueError("sina hfq factor not available")
|
|
@@ -153,9 +156,9 @@ def stock_zh_b_daily(
|
|
|
153
156
|
hfq_factor_df.reset_index(inplace=True)
|
|
154
157
|
return hfq_factor_df
|
|
155
158
|
else:
|
|
156
|
-
|
|
159
|
+
r = requests.get(zh_sina_a_stock_qfq_url.format(symbol))
|
|
157
160
|
qfq_factor_df = pd.DataFrame(
|
|
158
|
-
eval(
|
|
161
|
+
eval(r.text.split("=")[1].split("\n")[0])["data"]
|
|
159
162
|
)
|
|
160
163
|
if qfq_factor_df.shape[0] == 0:
|
|
161
164
|
raise ValueError("sina hfq factor not available")
|
|
@@ -168,15 +171,18 @@ def stock_zh_b_daily(
|
|
|
168
171
|
if adjust in ("hfq-factor", "qfq-factor"):
|
|
169
172
|
return _fq_factor(adjust.split("-")[0])
|
|
170
173
|
|
|
171
|
-
|
|
174
|
+
r = requests.get(zh_sina_a_stock_hist_url.format(symbol))
|
|
172
175
|
js_code = py_mini_racer.MiniRacer()
|
|
173
176
|
js_code.eval(hk_js_decode)
|
|
174
177
|
dict_list = js_code.call(
|
|
175
|
-
"d",
|
|
178
|
+
"d", r.text.split("=")[1].split(";")[0].replace('"', "")
|
|
176
179
|
) # 执行js解密代码
|
|
177
180
|
data_df = pd.DataFrame(dict_list)
|
|
178
181
|
data_df.index = pd.to_datetime(data_df["date"]).dt.date
|
|
179
182
|
del data_df["date"]
|
|
183
|
+
del data_df["amount"]
|
|
184
|
+
del data_df["prevclose"]
|
|
185
|
+
|
|
180
186
|
data_df = data_df.astype("float")
|
|
181
187
|
r = requests.get(zh_sina_a_stock_amount_url.format(symbol, symbol))
|
|
182
188
|
amount_data_json = demjson.decode(r.text[r.text.find("[") : r.text.rfind("]") + 1])
|
|
@@ -186,15 +192,7 @@ def stock_zh_b_daily(
|
|
|
186
192
|
temp_df = pd.merge(
|
|
187
193
|
data_df, amount_data_df, left_index=True, right_index=True, how="outer"
|
|
188
194
|
)
|
|
189
|
-
|
|
190
|
-
# try for pandas >= 2.1.0
|
|
191
|
-
temp_df.ffill(inplace=True)
|
|
192
|
-
except Exception:
|
|
193
|
-
try:
|
|
194
|
-
# try for pandas < 2.1.0
|
|
195
|
-
temp_df.fillna(method="ffill", inplace=True)
|
|
196
|
-
except Exception as e:
|
|
197
|
-
print("Error:", e)
|
|
195
|
+
temp_df.ffill(inplace=True)
|
|
198
196
|
temp_df = temp_df.astype(float)
|
|
199
197
|
temp_df["amount"] = temp_df["amount"] * 10000
|
|
200
198
|
temp_df["turnover"] = temp_df["volume"] / temp_df["amount"]
|
|
@@ -222,25 +220,15 @@ def stock_zh_b_daily(
|
|
|
222
220
|
return temp_df
|
|
223
221
|
|
|
224
222
|
if adjust == "hfq":
|
|
225
|
-
|
|
226
|
-
hfq_factor_df = pd.DataFrame(
|
|
227
|
-
eval(res.text.split("=")[1].split("\n")[0])["data"]
|
|
228
|
-
)
|
|
223
|
+
r = requests.get(zh_sina_a_stock_hfq_url.format(symbol))
|
|
224
|
+
hfq_factor_df = pd.DataFrame(eval(r.text.split("=")[1].split("\n")[0])["data"])
|
|
229
225
|
hfq_factor_df.columns = ["date", "hfq_factor"]
|
|
230
226
|
hfq_factor_df.index = pd.to_datetime(hfq_factor_df.date)
|
|
231
227
|
del hfq_factor_df["date"]
|
|
232
228
|
temp_df = pd.merge(
|
|
233
229
|
temp_df, hfq_factor_df, left_index=True, right_index=True, how="outer"
|
|
234
230
|
)
|
|
235
|
-
|
|
236
|
-
# try for pandas >= 2.1.0
|
|
237
|
-
temp_df.ffill(inplace=True)
|
|
238
|
-
except Exception:
|
|
239
|
-
try:
|
|
240
|
-
# try for pandas < 2.1.0
|
|
241
|
-
temp_df.fillna(method="ffill", inplace=True)
|
|
242
|
-
except Exception as e:
|
|
243
|
-
print("Error:", e)
|
|
231
|
+
temp_df.ffill(inplace=True)
|
|
244
232
|
temp_df = temp_df.astype(float)
|
|
245
233
|
temp_df.dropna(inplace=True)
|
|
246
234
|
temp_df.drop_duplicates(
|
|
@@ -261,26 +249,15 @@ def stock_zh_b_daily(
|
|
|
261
249
|
return temp_df
|
|
262
250
|
|
|
263
251
|
if adjust == "qfq":
|
|
264
|
-
|
|
265
|
-
qfq_factor_df = pd.DataFrame(
|
|
266
|
-
eval(res.text.split("=")[1].split("\n")[0])["data"]
|
|
267
|
-
)
|
|
252
|
+
r = requests.get(zh_sina_a_stock_qfq_url.format(symbol))
|
|
253
|
+
qfq_factor_df = pd.DataFrame(eval(r.text.split("=")[1].split("\n")[0])["data"])
|
|
268
254
|
qfq_factor_df.columns = ["date", "qfq_factor"]
|
|
269
255
|
qfq_factor_df.index = pd.to_datetime(qfq_factor_df.date)
|
|
270
256
|
del qfq_factor_df["date"]
|
|
271
|
-
|
|
272
257
|
temp_df = pd.merge(
|
|
273
258
|
temp_df, qfq_factor_df, left_index=True, right_index=True, how="outer"
|
|
274
259
|
)
|
|
275
|
-
|
|
276
|
-
# try for pandas >= 2.1.0
|
|
277
|
-
temp_df.ffill(inplace=True)
|
|
278
|
-
except Exception:
|
|
279
|
-
try:
|
|
280
|
-
# try for pandas < 2.1.0
|
|
281
|
-
temp_df.fillna(method="ffill", inplace=True)
|
|
282
|
-
except Exception as e:
|
|
283
|
-
print("Error:", e)
|
|
260
|
+
temp_df.ffill(inplace=True)
|
|
284
261
|
temp_df = temp_df.astype(float)
|
|
285
262
|
temp_df.dropna(inplace=True)
|
|
286
263
|
temp_df.drop_duplicates(
|
|
@@ -322,13 +299,12 @@ def stock_zh_b_minute(
|
|
|
322
299
|
params = {
|
|
323
300
|
"symbol": symbol,
|
|
324
301
|
"scale": period,
|
|
325
|
-
"datalen": "
|
|
302
|
+
"datalen": "1970",
|
|
326
303
|
}
|
|
327
304
|
r = requests.get(url, params=params)
|
|
328
305
|
temp_df = pd.DataFrame(json.loads(r.text.split("=(")[1].split(");")[0])).iloc[:, :6]
|
|
329
306
|
if temp_df.empty:
|
|
330
|
-
|
|
331
|
-
return None
|
|
307
|
+
return pd.DataFrame()
|
|
332
308
|
try:
|
|
333
309
|
stock_zh_b_daily(symbol=symbol, adjust="qfq")
|
|
334
310
|
except: # noqa: E722
|
|
@@ -396,7 +372,7 @@ if __name__ == "__main__":
|
|
|
396
372
|
print(stock_zh_b_daily_hfq_df_one)
|
|
397
373
|
|
|
398
374
|
stock_zh_b_daily_hfq_df_three = stock_zh_b_daily(
|
|
399
|
-
symbol="sh900901", start_date="19900103", end_date="
|
|
375
|
+
symbol="sh900901", start_date="19900103", end_date="20240722", adjust="hfq"
|
|
400
376
|
)
|
|
401
377
|
print(stock_zh_b_daily_hfq_df_three)
|
|
402
378
|
|
|
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
|
|
File without changes
|
|
File without changes
|
{akshare-1.14.37 → akshare-1.14.39}/akshare/futures_derivative/futures_contract_info_cffex.py
RENAMED
|
File without changes
|
{akshare-1.14.37 → akshare-1.14.39}/akshare/futures_derivative/futures_contract_info_czce.py
RENAMED
|
File without changes
|
|
File without changes
|
{akshare-1.14.37 → akshare-1.14.39}/akshare/futures_derivative/futures_contract_info_gfex.py
RENAMED
|
File without changes
|
|
File without changes
|
{akshare-1.14.37 → akshare-1.14.39}/akshare/futures_derivative/futures_contract_info_shfe.py
RENAMED
|
File without changes
|