akshare 1.16.50__tar.gz → 1.16.52__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {akshare-1.16.50 → akshare-1.16.52}/PKG-INFO +1 -1
- {akshare-1.16.50 → akshare-1.16.52}/akshare/__init__.py +3 -1
- akshare-1.16.52/akshare/stock/stock_zh_a_special.py +352 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_a/stock_zh_a_spot.py +1 -1
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_ebs_lg.py +5 -4
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_fundamental/stock_basic_info_xq.py +4 -4
- {akshare-1.16.50 → akshare-1.16.52}/akshare.egg-info/PKG-INFO +1 -1
- akshare-1.16.50/akshare/stock/stock_zh_a_special.py +0 -352
- {akshare-1.16.50 → akshare-1.16.52}/LICENSE +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/README.md +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/air/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/air/air_hebei.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/air/air_zhenqi.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/air/cons.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/air/crypto.js +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/air/outcrypto.js +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/air/sunrise_tad.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/article/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/article/cons.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/article/epu_index.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/article/ff_factor.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/article/fred_md.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/article/risk_rv.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/bank/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/bank/bank_cbirc_2020.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/bank/cons.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/bond/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/bond/bond_cb_sina.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/bond/bond_cb_ths.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/bond/bond_cbond.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/bond/bond_china.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/bond/bond_china_money.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/bond/bond_convert.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/bond/bond_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/bond/bond_info_cm.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/bond/bond_issue_cninfo.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/bond/bond_nafmii.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/bond/bond_summary.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/bond/bond_zh_cov.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/bond/bond_zh_sina.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/bond/cons.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/cal/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/cal/rv.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/cost/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/cost/cost_living.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/crypto/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/crypto/crypto_bitcoin_cme.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/crypto/crypto_hold.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/currency/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/currency/currency.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/currency/currency_china_bank_sina.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/currency/currency_safe.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/data/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/data/cninfo.js +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/data/crypto_info.zip +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/data/ths.js +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/datasets.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/economic/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/economic/cons.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/economic/macro_australia.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/economic/macro_bank.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/economic/macro_canada.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/economic/macro_china.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/economic/macro_china_hk.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/economic/macro_china_nbs.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/economic/macro_constitute.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/economic/macro_euro.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/economic/macro_finance_ths.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/economic/macro_germany.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/economic/macro_info_ws.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/economic/macro_japan.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/economic/macro_other.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/economic/macro_swiss.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/economic/macro_uk.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/economic/macro_usa.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/economic/marco_cnbs.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/energy/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/energy/energy_carbon.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/energy/energy_oil_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/event/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/event/cons.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/event/migration.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/exceptions.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/file_fold/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/file_fold/calendar.json +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/forex/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/forex/cons.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/forex/forex_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/fortune/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/fortune/fortune_500.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/fortune/fortune_bloomberg.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/fortune/fortune_forbes_500.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/fortune/fortune_hurun.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/fortune/fortune_xincaifu_500.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/fund/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/fund/fund_amac.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/fund/fund_announcement.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/fund/fund_aum_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/fund/fund_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/fund/fund_etf_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/fund/fund_etf_sina.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/fund/fund_etf_ths.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/fund/fund_fee_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/fund/fund_fhsp_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/fund/fund_init_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/fund/fund_lof_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/fund/fund_manager.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/fund/fund_portfolio_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/fund/fund_position_lg.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/fund/fund_rank_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/fund/fund_rating.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/fund/fund_report_cninfo.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/fund/fund_scale_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/fund/fund_scale_sina.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/fund/fund_xq.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures/cons.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures/cot.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures/futures_basis.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures/futures_comex_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures/futures_comm_ctp.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures/futures_comm_qihuo.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures/futures_contract_detail.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures/futures_daily_bar.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures/futures_foreign.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures/futures_hf_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures/futures_hist_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures/futures_hq_sina.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures/futures_index_ccidx.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures/futures_inventory_99.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures/futures_inventory_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures/futures_news_shmet.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures/futures_roll_yield.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures/futures_rule.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures/futures_rule_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures/futures_settlement_price_sgx.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures/futures_spot_stock_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures/futures_stock_js.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures/futures_to_spot.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures/futures_warehouse_receipt.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures/futures_zh_sina.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures/receipt.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures/requests_fun.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures/symbol_var.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures_derivative/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures_derivative/cons.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures_derivative/futures_contract_info_cffex.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures_derivative/futures_contract_info_czce.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures_derivative/futures_contract_info_dce.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures_derivative/futures_contract_info_gfex.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures_derivative/futures_contract_info_ine.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures_derivative/futures_contract_info_shfe.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures_derivative/futures_cot_sina.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures_derivative/futures_hog.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures_derivative/futures_index_sina.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/futures_derivative/futures_spot_sys.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/fx/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/fx/cons.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/fx/currency_investing.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/fx/fx_quote.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/fx/fx_quote_baidu.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/hf/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/hf/hf_sp500.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/index/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/index/cons.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/index/index_cflp.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/index/index_cni.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/index/index_cons.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/index/index_cx.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/index/index_drewry.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/index/index_eri.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/index/index_global_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/index/index_global_sina.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/index/index_hog.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/index/index_kq_fz.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/index/index_kq_ss.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/index/index_option_qvix.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/index/index_research_fund_sw.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/index/index_research_sw.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/index/index_spot.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/index/index_stock_hk.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/index/index_stock_us_sina.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/index/index_stock_zh.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/index/index_stock_zh_csindex.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/index/index_sugar.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/index/index_sw.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/index/index_yw.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/index/index_zh_a_scope.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/index/index_zh_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/interest_rate/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/interest_rate/interbank_rate_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/movie/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/movie/artist_yien.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/movie/jm.js +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/movie/movie_yien.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/movie/video_yien.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/news/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/news/news_baidu.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/news/news_cctv.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/news/news_stock.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/nlp/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/nlp/nlp_interface.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/option/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/option/cons.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/option/option_comm_qihuo.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/option/option_commodity.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/option/option_commodity_sina.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/option/option_czce.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/option/option_daily_stats_sse_szse.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/option/option_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/option/option_finance.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/option/option_finance_sina.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/option/option_lhb_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/option/option_premium_analysis_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/option/option_risk_analysis_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/option/option_risk_indicator_sse.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/option/option_value_analysis_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/other/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/other/other_car_cpca.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/other/other_car_gasgoo.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/pro/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/pro/client.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/pro/cons.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/pro/data_pro.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/qdii/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/qdii/qdii_jsl.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/qhkc/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/qhkc/qhkc_api.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/qhkc_web/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/qhkc_web/qhkc_fund.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/qhkc_web/qhkc_index.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/qhkc_web/qhkc_tool.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/rate/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/rate/repo_rate.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/reits/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/reits/reits_basic.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/request.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/sport/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/sport/sport_olympic.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/spot/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/spot/spot_hog_soozhu.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/spot/spot_price_qh.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/spot/spot_sge.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/cons.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_allotment_cninfo.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_ask_bid_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_board_concept_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_board_industry_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_cg_equity_mortgage.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_cg_guarantee.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_cg_lawsuit.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_dividend_cninfo.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_dzjy_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_fund_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_fund_hold.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_gsrl_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_hk_famous.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_hk_fhpx_ths.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_hk_hot_rank_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_hk_sina.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_hold_control_cninfo.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_hold_control_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_hold_num_cninfo.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_hot_rank_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_hot_search_baidu.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_hot_up_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_hsgt_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_industry.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_industry_cninfo.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_industry_pe_cninfo.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_industry_sw.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_info.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_info_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_intraday_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_intraday_sina.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_ipo_summary_cninfo.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_new_cninfo.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_news_cx.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_profile_cninfo.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_rank_forecast.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_repurchase_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_share_changes_cninfo.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_share_hold.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_stop.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_summary.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_us_famous.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_us_js.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_us_pink.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_us_sina.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_weibo_nlp.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_xq.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_zh_a_sina.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_zh_a_tick_tx.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_zh_ah_tx.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_zh_b_sina.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_zh_kcb_report.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock/stock_zh_kcb_sina.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_a/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/cons.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_a_below_net_asset_statistics.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_a_high_low.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_a_indicator.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_a_pe_and_pb.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_account_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_all_pb.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_analyst_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_board_concept_ths.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_board_industry_ths.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_buffett_index_lg.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_classify_sina.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_comment_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_concept_futu.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_congestion_lg.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_cyq_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_disclosure_cninfo.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_dxsyl_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_esg_sina.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_fhps_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_fhps_ths.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_fund_flow.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_gddh_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_gdfx_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_gdhs.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_gdzjc_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_gpzy_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_gxl_lg.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_hist_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_hist_tx.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_hk_valuation_baidu.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_hot_xq.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_hsgt_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_hsgt_exchange_rate.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_hsgt_min_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_info.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_inner_trade_xq.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_irm_cninfo.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_jgdy_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_lh_yybpm.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_lhb_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_lhb_sina.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_margin_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_margin_sse.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_margin_szse.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_market_legu.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_pankou_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_qsjy_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_report_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_research_report_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_sns_sseinfo.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_sy_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_technology_ths.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_tfp_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_three_report_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_ttm_lyr.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_value_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_wencai.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_yjbb_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_yjyg_cninfo.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_yjyg_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_yzxdr_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_zdhtmx_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_zf_pg.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_zh_valuation_baidu.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_zh_vote_baidu.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/stock_ztb_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_feature/ths.js +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_fundamental/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_fundamental/stock_finance_hk_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_fundamental/stock_finance_sina.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_fundamental/stock_finance_ths.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_fundamental/stock_finance_us_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_fundamental/stock_hold.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_fundamental/stock_ipo_declare.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_fundamental/stock_kcb_detail_sse.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_fundamental/stock_kcb_sse.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_fundamental/stock_mda_ym.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_fundamental/stock_notice.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_fundamental/stock_profit_forecast_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_fundamental/stock_profit_forecast_hk_etnet.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_fundamental/stock_profit_forecast_ths.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_fundamental/stock_recommend.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_fundamental/stock_register_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_fundamental/stock_restricted_em.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_fundamental/stock_zygc.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/stock_fundamental/stock_zyjs_ths.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/tool/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/tool/trade_date_hist.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/utils/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/utils/cons.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/utils/context.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/utils/demjson.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/utils/func.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/utils/token_process.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare/utils/tqdm.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare.egg-info/SOURCES.txt +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare.egg-info/dependency_links.txt +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare.egg-info/requires.txt +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/akshare.egg-info/top_level.txt +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/pyproject.toml +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/setup.cfg +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/setup.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/tests/__init__.py +0 -0
- {akshare-1.16.50 → akshare-1.16.52}/tests/test_func.py +0 -0
@@ -3059,9 +3059,11 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
|
|
3059
3059
|
1.16.48 fix: fix stock_individual_basic_info_xq interface
|
3060
3060
|
1.16.49 fix: fix index_zh_a_hist_min_em interface
|
3061
3061
|
1.16.50 fix: fix futures_inventory_99 interface
|
3062
|
+
1.16.51 fix: fix stock_individual_basic_info_xq interface
|
3063
|
+
1.16.52 fix: fix stock_zh_a_spot_em interface
|
3062
3064
|
"""
|
3063
3065
|
|
3064
|
-
__version__ = "1.16.
|
3066
|
+
__version__ = "1.16.52"
|
3065
3067
|
__author__ = "AKFamily"
|
3066
3068
|
|
3067
3069
|
import sys
|
@@ -0,0 +1,352 @@
|
|
1
|
+
# -*- coding:utf-8 -*-
|
2
|
+
# !/usr/bin/env python
|
3
|
+
"""
|
4
|
+
Date: 2025/3/19 15:30
|
5
|
+
Desc: 新股和风险警示股
|
6
|
+
新浪-行情中心-沪深股市-次新股
|
7
|
+
https://vip.stock.finance.sina.com.cn/mkt/#new_stock
|
8
|
+
东方财富网-行情中心-沪深个股-风险警示板
|
9
|
+
https://quote.eastmoney.com/center/gridlist.html#st_board
|
10
|
+
"""
|
11
|
+
|
12
|
+
import math
|
13
|
+
|
14
|
+
import pandas as pd
|
15
|
+
import requests
|
16
|
+
|
17
|
+
from akshare.utils.func import fetch_paginated_data
|
18
|
+
|
19
|
+
|
20
|
+
def stock_zh_a_st_em() -> pd.DataFrame:
|
21
|
+
"""
|
22
|
+
东方财富网-行情中心-沪深个股-风险警示板
|
23
|
+
https://quote.eastmoney.com/center/gridlist.html#st_board
|
24
|
+
:return: 风险警示板
|
25
|
+
:rtype: pandas.DataFrame
|
26
|
+
"""
|
27
|
+
url = "https://40.push2.eastmoney.com/api/qt/clist/get"
|
28
|
+
params = {
|
29
|
+
"pn": "1",
|
30
|
+
"pz": "100",
|
31
|
+
"po": "1",
|
32
|
+
"np": "1",
|
33
|
+
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
34
|
+
"fltt": "2",
|
35
|
+
"invt": "2",
|
36
|
+
"fid": "f3",
|
37
|
+
"fs": "m:0 f:4,m:1 f:4",
|
38
|
+
"fields": "f2,f3,f4,f5,f6,f7,f8,f9,f10,f12,f13,f14,f15,f16,f17,f18,f20,"
|
39
|
+
"f21,f23,f24,f25,f22,f11,f62,f128,f136,f115,f152",
|
40
|
+
"_": "1631107510188",
|
41
|
+
}
|
42
|
+
temp_df = fetch_paginated_data(url, params)
|
43
|
+
temp_df.columns = [
|
44
|
+
"序号",
|
45
|
+
"最新价",
|
46
|
+
"涨跌幅",
|
47
|
+
"涨跌额",
|
48
|
+
"成交量",
|
49
|
+
"成交额",
|
50
|
+
"振幅",
|
51
|
+
"换手率",
|
52
|
+
"市盈率-动态",
|
53
|
+
"量比",
|
54
|
+
"_",
|
55
|
+
"代码",
|
56
|
+
"_",
|
57
|
+
"名称",
|
58
|
+
"最高",
|
59
|
+
"最低",
|
60
|
+
"今开",
|
61
|
+
"昨收",
|
62
|
+
"_",
|
63
|
+
"_",
|
64
|
+
"_",
|
65
|
+
"市净率",
|
66
|
+
"_",
|
67
|
+
"_",
|
68
|
+
"_",
|
69
|
+
"_",
|
70
|
+
"_",
|
71
|
+
"_",
|
72
|
+
"_",
|
73
|
+
"_",
|
74
|
+
"_",
|
75
|
+
]
|
76
|
+
temp_df = temp_df[
|
77
|
+
[
|
78
|
+
"序号",
|
79
|
+
"代码",
|
80
|
+
"名称",
|
81
|
+
"最新价",
|
82
|
+
"涨跌幅",
|
83
|
+
"涨跌额",
|
84
|
+
"成交量",
|
85
|
+
"成交额",
|
86
|
+
"振幅",
|
87
|
+
"最高",
|
88
|
+
"最低",
|
89
|
+
"今开",
|
90
|
+
"昨收",
|
91
|
+
"量比",
|
92
|
+
"换手率",
|
93
|
+
"市盈率-动态",
|
94
|
+
"市净率",
|
95
|
+
]
|
96
|
+
]
|
97
|
+
temp_df["最新价"] = pd.to_numeric(temp_df["最新价"], errors="coerce")
|
98
|
+
temp_df["涨跌幅"] = pd.to_numeric(temp_df["涨跌幅"], errors="coerce")
|
99
|
+
temp_df["涨跌额"] = pd.to_numeric(temp_df["涨跌额"], errors="coerce")
|
100
|
+
temp_df["成交量"] = pd.to_numeric(temp_df["成交量"], errors="coerce")
|
101
|
+
temp_df["成交额"] = pd.to_numeric(temp_df["成交额"], errors="coerce")
|
102
|
+
temp_df["振幅"] = pd.to_numeric(temp_df["振幅"], errors="coerce")
|
103
|
+
temp_df["最高"] = pd.to_numeric(temp_df["最高"], errors="coerce")
|
104
|
+
temp_df["最低"] = pd.to_numeric(temp_df["最低"], errors="coerce")
|
105
|
+
temp_df["今开"] = pd.to_numeric(temp_df["今开"], errors="coerce")
|
106
|
+
temp_df["量比"] = pd.to_numeric(temp_df["量比"], errors="coerce")
|
107
|
+
temp_df["换手率"] = pd.to_numeric(temp_df["换手率"], errors="coerce")
|
108
|
+
return temp_df
|
109
|
+
|
110
|
+
|
111
|
+
def stock_zh_a_new_em() -> pd.DataFrame:
|
112
|
+
"""
|
113
|
+
东方财富网-行情中心-沪深个股-新股
|
114
|
+
https://quote.eastmoney.com/center/gridlist.html#newshares
|
115
|
+
:return: 新股
|
116
|
+
:rtype: pandas.DataFrame
|
117
|
+
"""
|
118
|
+
url = "https://40.push2.eastmoney.com/api/qt/clist/get"
|
119
|
+
params = {
|
120
|
+
"pn": "1",
|
121
|
+
"pz": "100",
|
122
|
+
"po": "1",
|
123
|
+
"np": "1",
|
124
|
+
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
125
|
+
"fltt": "2",
|
126
|
+
"invt": "2",
|
127
|
+
"fid": "f26",
|
128
|
+
"fs": "m:0 f:8,m:1 f:8",
|
129
|
+
"fields": "f2,f3,f4,f5,f6,f7,f8,f9,f10,f12,f13,f14,f15,f16,f17,f18,"
|
130
|
+
"f20,f21,f23,f24,f25,f22,f11,f62,f128,f136,f115,f152",
|
131
|
+
"_": "1631107510188",
|
132
|
+
}
|
133
|
+
temp_df = fetch_paginated_data(url, params)
|
134
|
+
temp_df.columns = [
|
135
|
+
"序号",
|
136
|
+
"最新价",
|
137
|
+
"涨跌幅",
|
138
|
+
"涨跌额",
|
139
|
+
"成交量",
|
140
|
+
"成交额",
|
141
|
+
"振幅",
|
142
|
+
"换手率",
|
143
|
+
"市盈率-动态",
|
144
|
+
"量比",
|
145
|
+
"_",
|
146
|
+
"代码",
|
147
|
+
"_",
|
148
|
+
"名称",
|
149
|
+
"最高",
|
150
|
+
"最低",
|
151
|
+
"今开",
|
152
|
+
"昨收",
|
153
|
+
"_",
|
154
|
+
"_",
|
155
|
+
"_",
|
156
|
+
"市净率",
|
157
|
+
"_",
|
158
|
+
"_",
|
159
|
+
"_",
|
160
|
+
"_",
|
161
|
+
"_",
|
162
|
+
"_",
|
163
|
+
"_",
|
164
|
+
"_",
|
165
|
+
"_",
|
166
|
+
]
|
167
|
+
temp_df = temp_df[
|
168
|
+
[
|
169
|
+
"序号",
|
170
|
+
"代码",
|
171
|
+
"名称",
|
172
|
+
"最新价",
|
173
|
+
"涨跌幅",
|
174
|
+
"涨跌额",
|
175
|
+
"成交量",
|
176
|
+
"成交额",
|
177
|
+
"振幅",
|
178
|
+
"最高",
|
179
|
+
"最低",
|
180
|
+
"今开",
|
181
|
+
"昨收",
|
182
|
+
"量比",
|
183
|
+
"换手率",
|
184
|
+
"市盈率-动态",
|
185
|
+
"市净率",
|
186
|
+
]
|
187
|
+
]
|
188
|
+
temp_df["最新价"] = pd.to_numeric(temp_df["最新价"], errors="coerce")
|
189
|
+
temp_df["涨跌幅"] = pd.to_numeric(temp_df["涨跌幅"], errors="coerce")
|
190
|
+
temp_df["涨跌额"] = pd.to_numeric(temp_df["涨跌额"], errors="coerce")
|
191
|
+
temp_df["成交量"] = pd.to_numeric(temp_df["成交量"], errors="coerce")
|
192
|
+
temp_df["成交额"] = pd.to_numeric(temp_df["成交额"], errors="coerce")
|
193
|
+
temp_df["振幅"] = pd.to_numeric(temp_df["振幅"], errors="coerce")
|
194
|
+
temp_df["最高"] = pd.to_numeric(temp_df["最高"], errors="coerce")
|
195
|
+
temp_df["最低"] = pd.to_numeric(temp_df["最低"], errors="coerce")
|
196
|
+
temp_df["今开"] = pd.to_numeric(temp_df["今开"], errors="coerce")
|
197
|
+
temp_df["量比"] = pd.to_numeric(temp_df["量比"], errors="coerce")
|
198
|
+
temp_df["换手率"] = pd.to_numeric(temp_df["换手率"], errors="coerce")
|
199
|
+
return temp_df
|
200
|
+
|
201
|
+
|
202
|
+
def stock_zh_a_stop_em() -> pd.DataFrame:
|
203
|
+
"""
|
204
|
+
东方财富网-行情中心-沪深个股-两网及退市
|
205
|
+
https://quote.eastmoney.com/center/gridlist.html#staq_net_board
|
206
|
+
:return: 两网及退市
|
207
|
+
:rtype: pandas.DataFrame
|
208
|
+
"""
|
209
|
+
url = "https://40.push2.eastmoney.com/api/qt/clist/get"
|
210
|
+
params = {
|
211
|
+
"pn": "1",
|
212
|
+
"pz": "100",
|
213
|
+
"po": "1",
|
214
|
+
"np": "1",
|
215
|
+
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
216
|
+
"fltt": "2",
|
217
|
+
"invt": "2",
|
218
|
+
"fid": "f3",
|
219
|
+
"fs": "m:0 s:3",
|
220
|
+
"fields": "f2,f3,f4,f5,f6,f7,f8,f9,f10,f12,f13,f14,f15,f16,f17,"
|
221
|
+
"f18,f20,f21,f23,f24,f25,f22,f11,f62,f128,f136,f115,f152",
|
222
|
+
"_": "1631107510188",
|
223
|
+
}
|
224
|
+
temp_df = fetch_paginated_data(url, params)
|
225
|
+
temp_df.columns = [
|
226
|
+
"序号",
|
227
|
+
"最新价",
|
228
|
+
"涨跌幅",
|
229
|
+
"涨跌额",
|
230
|
+
"成交量",
|
231
|
+
"成交额",
|
232
|
+
"振幅",
|
233
|
+
"换手率",
|
234
|
+
"市盈率-动态",
|
235
|
+
"量比",
|
236
|
+
"_",
|
237
|
+
"代码",
|
238
|
+
"_",
|
239
|
+
"名称",
|
240
|
+
"最高",
|
241
|
+
"最低",
|
242
|
+
"今开",
|
243
|
+
"昨收",
|
244
|
+
"_",
|
245
|
+
"_",
|
246
|
+
"_",
|
247
|
+
"市净率",
|
248
|
+
"_",
|
249
|
+
"_",
|
250
|
+
"_",
|
251
|
+
"_",
|
252
|
+
"_",
|
253
|
+
"_",
|
254
|
+
"_",
|
255
|
+
"_",
|
256
|
+
"_",
|
257
|
+
]
|
258
|
+
temp_df = temp_df[
|
259
|
+
[
|
260
|
+
"序号",
|
261
|
+
"代码",
|
262
|
+
"名称",
|
263
|
+
"最新价",
|
264
|
+
"涨跌幅",
|
265
|
+
"涨跌额",
|
266
|
+
"成交量",
|
267
|
+
"成交额",
|
268
|
+
"振幅",
|
269
|
+
"最高",
|
270
|
+
"最低",
|
271
|
+
"今开",
|
272
|
+
"昨收",
|
273
|
+
"量比",
|
274
|
+
"换手率",
|
275
|
+
"市盈率-动态",
|
276
|
+
"市净率",
|
277
|
+
]
|
278
|
+
]
|
279
|
+
temp_df["最新价"] = pd.to_numeric(temp_df["最新价"], errors="coerce")
|
280
|
+
temp_df["涨跌幅"] = pd.to_numeric(temp_df["涨跌幅"], errors="coerce")
|
281
|
+
temp_df["涨跌额"] = pd.to_numeric(temp_df["涨跌额"], errors="coerce")
|
282
|
+
temp_df["成交量"] = pd.to_numeric(temp_df["成交量"], errors="coerce")
|
283
|
+
temp_df["成交额"] = pd.to_numeric(temp_df["成交额"], errors="coerce")
|
284
|
+
temp_df["振幅"] = pd.to_numeric(temp_df["振幅"], errors="coerce")
|
285
|
+
temp_df["最高"] = pd.to_numeric(temp_df["最高"], errors="coerce")
|
286
|
+
temp_df["最低"] = pd.to_numeric(temp_df["最低"], errors="coerce")
|
287
|
+
temp_df["今开"] = pd.to_numeric(temp_df["今开"], errors="coerce")
|
288
|
+
temp_df["量比"] = pd.to_numeric(temp_df["量比"], errors="coerce")
|
289
|
+
temp_df["换手率"] = pd.to_numeric(temp_df["换手率"], errors="coerce")
|
290
|
+
return temp_df
|
291
|
+
|
292
|
+
|
293
|
+
def stock_zh_a_new() -> pd.DataFrame:
|
294
|
+
"""
|
295
|
+
新浪财经-行情中心-沪深股市-次新股
|
296
|
+
https://vip.stock.finance.sina.com.cn/mkt/#new_stock
|
297
|
+
:return: 次新股行情数据
|
298
|
+
:rtype: pandas.DataFrame
|
299
|
+
"""
|
300
|
+
url = "https://vip.stock.finance.sina.com.cn/quotes_service/api/json_v2.php/Market_Center.getHQNodeStockCount"
|
301
|
+
params = {"node": "new_stock"}
|
302
|
+
r = requests.get(url, params=params)
|
303
|
+
total_page = math.ceil(int(r.json()) / 80)
|
304
|
+
url = "https://vip.stock.finance.sina.com.cn/quotes_service/api/json_v2.php/Market_Center.getHQNodeData"
|
305
|
+
big_df = pd.DataFrame()
|
306
|
+
for page in range(1, total_page + 1):
|
307
|
+
params = {
|
308
|
+
"page": str(page),
|
309
|
+
"num": "80",
|
310
|
+
"sort": "symbol",
|
311
|
+
"asc": "1",
|
312
|
+
"node": "new_stock",
|
313
|
+
"symbol": "",
|
314
|
+
"_s_r_a": "page",
|
315
|
+
}
|
316
|
+
r = requests.get(url, params=params)
|
317
|
+
r.encoding = "gb2312"
|
318
|
+
data_json = r.json()
|
319
|
+
temp_df = pd.DataFrame(data_json)
|
320
|
+
big_df = pd.concat([big_df, temp_df], ignore_index=True)
|
321
|
+
big_df = big_df[
|
322
|
+
[
|
323
|
+
"symbol",
|
324
|
+
"code",
|
325
|
+
"name",
|
326
|
+
"open",
|
327
|
+
"high",
|
328
|
+
"low",
|
329
|
+
"volume",
|
330
|
+
"amount",
|
331
|
+
"mktcap",
|
332
|
+
"turnoverratio",
|
333
|
+
]
|
334
|
+
]
|
335
|
+
big_df["open"] = pd.to_numeric(big_df["open"])
|
336
|
+
big_df["high"] = pd.to_numeric(big_df["high"])
|
337
|
+
big_df["low"] = pd.to_numeric(big_df["low"])
|
338
|
+
return big_df
|
339
|
+
|
340
|
+
|
341
|
+
if __name__ == "__main__":
|
342
|
+
stock_zh_a_st_em_df = stock_zh_a_st_em()
|
343
|
+
print(stock_zh_a_st_em_df)
|
344
|
+
|
345
|
+
stock_zh_a_new_em_df = stock_zh_a_new_em()
|
346
|
+
print(stock_zh_a_new_em_df)
|
347
|
+
|
348
|
+
stock_zh_a_stop_em_df = stock_zh_a_stop_em()
|
349
|
+
print(stock_zh_a_stop_em_df)
|
350
|
+
|
351
|
+
stock_zh_a_new_df = stock_zh_a_new()
|
352
|
+
print(stock_zh_a_new_df)
|
@@ -18,7 +18,7 @@ async def fetch_single_page(
|
|
18
18
|
session: aiohttp.ClientSession, url: str, params: Dict
|
19
19
|
) -> Dict:
|
20
20
|
"""异步获取单页数据"""
|
21
|
-
async with session.get(url, params=params) as response:
|
21
|
+
async with session.get(url, params=params, ssl=False) as response:
|
22
22
|
return await response.json()
|
23
23
|
|
24
24
|
|
@@ -1,10 +1,11 @@
|
|
1
1
|
#!/usr/bin/env python
|
2
2
|
# -*- coding:utf-8 -*-
|
3
3
|
"""
|
4
|
-
Date:
|
4
|
+
Date: 2025/3/19 15:30
|
5
5
|
Desc: 乐咕乐股-股债利差
|
6
6
|
https://legulegu.com/stockdata/equity-bond-spread
|
7
7
|
"""
|
8
|
+
|
8
9
|
import pandas as pd
|
9
10
|
import requests
|
10
11
|
|
@@ -24,11 +25,11 @@ def stock_ebs_lg() -> pd.DataFrame:
|
|
24
25
|
r = requests.get(
|
25
26
|
url,
|
26
27
|
params=params,
|
27
|
-
**get_cookie_csrf(url="https://legulegu.com/stockdata/equity-bond-spread")
|
28
|
+
**get_cookie_csrf(url="https://legulegu.com/stockdata/equity-bond-spread"),
|
28
29
|
)
|
29
30
|
data_json = r.json()
|
30
31
|
temp_df = pd.DataFrame(data_json["data"])
|
31
|
-
temp_df["date"] = pd.to_datetime(temp_df["date"]).dt.date
|
32
|
+
temp_df["date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
|
32
33
|
temp_df.rename(
|
33
34
|
columns={
|
34
35
|
"date": "日期",
|
@@ -46,7 +47,7 @@ def stock_ebs_lg() -> pd.DataFrame:
|
|
46
47
|
"股债利差均线",
|
47
48
|
]
|
48
49
|
]
|
49
|
-
temp_df[
|
50
|
+
temp_df["日期"] = pd.to_datetime(temp_df["日期"], errors="coerce").dt.date
|
50
51
|
temp_df["沪深300指数"] = pd.to_numeric(temp_df["沪深300指数"], errors="coerce")
|
51
52
|
temp_df["股债利差"] = pd.to_numeric(temp_df["股债利差"], errors="coerce")
|
52
53
|
temp_df["股债利差均线"] = pd.to_numeric(temp_df["股债利差均线"], errors="coerce")
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# !/usr/bin/env python
|
2
2
|
# -*- coding:utf-8 -*-
|
3
3
|
"""
|
4
|
-
Date: 2025/3/
|
4
|
+
Date: 2025/3/19 15:00
|
5
5
|
Desc: 雪球-个股-公司概况-公司简介
|
6
6
|
https://xueqiu.com/snowman/S/SH601127/detail#/GSJJ
|
7
7
|
"""
|
@@ -27,7 +27,7 @@ def stock_individual_basic_info_xq(
|
|
27
27
|
:return: 公司简介
|
28
28
|
:rtype: pandas.DataFrame
|
29
29
|
"""
|
30
|
-
xq_a_token = token or "
|
30
|
+
xq_a_token = token or "cc9943aa6d41f0ae420f49b428f2f90a472b070a"
|
31
31
|
url = "https://stock.xueqiu.com/v5/stock/f10/cn/company.json"
|
32
32
|
params = {
|
33
33
|
"symbol": symbol,
|
@@ -56,7 +56,7 @@ def stock_individual_basic_info_us_xq(
|
|
56
56
|
:return: 公司简介
|
57
57
|
:rtype: pandas.DataFrame
|
58
58
|
"""
|
59
|
-
xq_a_token = token or "
|
59
|
+
xq_a_token = token or "cc9943aa6d41f0ae420f49b428f2f90a472b070a"
|
60
60
|
url = "https://stock.xueqiu.com/v5/stock/f10/us/company.json"
|
61
61
|
params = {
|
62
62
|
"symbol": symbol,
|
@@ -85,7 +85,7 @@ def stock_individual_basic_info_hk_xq(
|
|
85
85
|
:return: 公司简介
|
86
86
|
:rtype: pandas.DataFrame
|
87
87
|
"""
|
88
|
-
xq_a_token = token or "
|
88
|
+
xq_a_token = token or "cc9943aa6d41f0ae420f49b428f2f90a472b070a"
|
89
89
|
url = "https://stock.xueqiu.com/v5/stock/f10/hk/company.json"
|
90
90
|
params = {
|
91
91
|
"symbol": symbol,
|