akshare 1.14.31__tar.gz → 1.14.33__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.14.31 → akshare-1.14.33}/PKG-INFO +1 -1
- {akshare-1.14.31 → akshare-1.14.33}/akshare/__init__.py +13 -1
- akshare-1.14.33/akshare/economic/macro_finance_ths.py +51 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_board_industry_ths.py +1 -1
- akshare-1.14.33/akshare/stock_feature/stock_concept_futu.py +183 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare.egg-info/PKG-INFO +1 -1
- {akshare-1.14.31 → akshare-1.14.33}/akshare.egg-info/SOURCES.txt +2 -0
- {akshare-1.14.31 → akshare-1.14.33}/LICENSE +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/README.md +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/air/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/air/air_hebei.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/air/air_zhenqi.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/air/cons.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/air/crypto.js +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/air/outcrypto.js +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/air/sunrise_tad.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/article/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/article/cons.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/article/epu_index.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/article/ff_factor.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/article/fred_md.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/article/risk_rv.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/bank/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/bank/bank_cbirc_2020.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/bank/cons.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/bond/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/bond/bond_cb_sina.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/bond/bond_cb_ths.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/bond/bond_cbond.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/bond/bond_china.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/bond/bond_china_money.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/bond/bond_convert.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/bond/bond_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/bond/bond_futures.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/bond/bond_info_cm.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/bond/bond_investing.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/bond/bond_issue_cninfo.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/bond/bond_nafmii.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/bond/bond_summary.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/bond/bond_zh_cov.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/bond/bond_zh_sina.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/bond/cons.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/cost/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/cost/cost_living.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/crypto/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/crypto/crypto_bitcoin_cme.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/crypto/crypto_hist_investing.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/crypto/crypto_hold.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/currency/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/currency/currency.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/currency/currency_china_bank_sina.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/currency/currency_safe.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/data/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/data/cninfo.js +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/data/crypto_info.zip +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/data/ths.js +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/datasets.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/economic/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/economic/cons.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/economic/macro_australia.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/economic/macro_bank.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/economic/macro_canada.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/economic/macro_china.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/economic/macro_china_hk.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/economic/macro_china_nbs.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/economic/macro_constitute.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/economic/macro_euro.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/economic/macro_germany.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/economic/macro_info_ws.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/economic/macro_japan.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/economic/macro_other.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/economic/macro_swiss.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/economic/macro_uk.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/economic/macro_usa.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/economic/marco_cnbs.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/energy/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/energy/energy_carbon.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/energy/energy_oil_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/event/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/event/cons.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/event/migration.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/file_fold/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/file_fold/calendar.json +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/fortune/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/fortune/fortune_500.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/fortune/fortune_bloomberg.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/fortune/fortune_forbes_500.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/fortune/fortune_hurun.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/fortune/fortune_it_juzi.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/fortune/fortune_xincaifu_500.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/fund/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/fund/fund_amac.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/fund/fund_announcement.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/fund/fund_aum_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/fund/fund_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/fund/fund_etf_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/fund/fund_etf_sina.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/fund/fund_etf_ths.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/fund/fund_fhsp_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/fund/fund_init_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/fund/fund_lof_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/fund/fund_manager.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/fund/fund_portfolio_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/fund/fund_position_lg.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/fund/fund_rank_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/fund/fund_rating.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/fund/fund_report_cninfo.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/fund/fund_scale_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/fund/fund_scale_sina.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/fund/fund_xq.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures/cons.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures/cot.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures/futures_basis.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures/futures_comex_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures/futures_comm_ctp.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures/futures_comm_qihuo.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures/futures_contract_detail.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures/futures_daily_bar.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures/futures_foreign.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures/futures_hf_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures/futures_hq_sina.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures/futures_index_ccidx.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures/futures_international.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures/futures_inventory_99.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures/futures_inventory_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures/futures_news_baidu.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures/futures_news_shmet.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures/futures_roll_yield.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures/futures_rule.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures/futures_settlement_price_sgx.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures/futures_spot_stock_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures/futures_stock_js.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures/futures_to_spot.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures/futures_warehouse_receipt.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures/futures_zh_sina.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures/inventory_data.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures/receipt.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures/requests_fun.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures/symbol_var.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures_derivative/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures_derivative/cons.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures_derivative/futures_contract_info_cffex.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures_derivative/futures_contract_info_czce.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures_derivative/futures_contract_info_dce.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures_derivative/futures_contract_info_gfex.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures_derivative/futures_contract_info_ine.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures_derivative/futures_contract_info_shfe.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures_derivative/futures_cot_sina.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures_derivative/futures_hog.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures_derivative/futures_index_price_nh.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures_derivative/futures_index_return_nh.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures_derivative/futures_index_sina.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures_derivative/futures_index_volatility_nh.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures_derivative/futures_other_index_nh.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/futures_derivative/futures_spot_sys.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/fx/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/fx/cons.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/fx/currency_investing.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/fx/fx_quote.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/fx/fx_quote_baidu.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/hf/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/hf/hf_sp500.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/index/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/index/cons.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/index/index_cflp.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/index/index_cni.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/index/index_cons.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/index/index_cx.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/index/index_drewry.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/index/index_eri.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/index/index_fear_greed_funddb.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/index/index_hog.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/index/index_investing.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/index/index_kq_fz.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/index/index_kq_ss.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/index/index_option_qvix.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/index/index_research_fund_sw.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/index/index_research_sw.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/index/index_spot.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/index/index_stock_hk.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/index/index_stock_us_sina.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/index/index_stock_zh.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/index/index_stock_zh_csindex.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/index/index_sugar.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/index/index_sw.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/index/index_yw.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/index/index_zh_a_scope.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/index/index_zh_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/interest_rate/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/interest_rate/interbank_rate_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/movie/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/movie/artist_yien.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/movie/jm.js +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/movie/movie_yien.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/movie/video_yien.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/news/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/news/news_baidu.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/news/news_cctv.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/news/news_stock.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/nlp/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/nlp/nlp_interface.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/option/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/option/cons.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/option/option_comm_qihuo.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/option/option_commodity.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/option/option_commodity_sina.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/option/option_czce.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/option/option_daily_stats_sse_szse.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/option/option_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/option/option_finance.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/option/option_finance_sina.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/option/option_lhb_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/option/option_premium_analysis_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/option/option_risk_analysis_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/option/option_risk_indicator_sse.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/option/option_value_analysis_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/other/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/other/other_car_cpca.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/other/other_car_gasgoo.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/pro/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/pro/client.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/pro/cons.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/pro/data_pro.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/qhkc/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/qhkc/qhkc_api.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/qhkc_web/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/qhkc_web/qhkc_fund.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/qhkc_web/qhkc_index.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/qhkc_web/qhkc_tool.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/rate/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/rate/repo_rate.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/reits/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/reits/reits_basic.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/sport/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/sport/sport_olympic.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/sport/sport_olympic_winter.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/spot/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/spot/spot_price_qh.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/spot/spot_sge.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/cons.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_allotment_cninfo.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_ask_bid_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_board_concept_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_board_industry_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_cg_equity_mortgage.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_cg_guarantee.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_cg_lawsuit.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_dividend_cninfo.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_dzjy_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_fund_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_fund_hold.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_gsrl_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_hk_fhpx_ths.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_hk_hot_rank_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_hk_sina.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_hold_control_cninfo.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_hold_control_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_hold_num_cninfo.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_hot_rank_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_hot_search_baidu.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_hot_up_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_industry.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_industry_cninfo.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_industry_pe_cninfo.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_industry_sw.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_info.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_info_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_intraday_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_intraday_sina.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_ipo_summary_cninfo.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_new_cninfo.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_profile_cninfo.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_rank_forecast.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_repurchase_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_share_changes_cninfo.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_share_hold.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_stop.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_summary.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_us_famous.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_us_js.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_us_pink.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_us_sina.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_weibo_nlp.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_xq.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_zh_a_sina.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_zh_a_special.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_zh_a_tick_tx.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_zh_ah_tx.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_zh_b_sina.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_zh_kcb_report.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock/stock_zh_kcb_sina.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/cons.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_a_below_net_asset_statistics.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_a_high_low.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_a_indicator.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_a_pe_and_pb.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_account_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_all_pb.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_analyst_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_buffett_index_lg.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_classify_sina.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_comment_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_congestion_lg.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_cyq_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_disclosure_cninfo.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_dxsyl_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_ebs_lg.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_esg_sina.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_fhps_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_fhps_ths.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_fund_flow.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_gddh_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_gdfx_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_gdhs.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_gdzjc_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_gpzy_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_gxl_lg.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_hist_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_hist_tx.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_hk_valuation_baidu.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_hot_xq.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_hsgt_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_hsgt_exchange_rate.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_hsgt_min_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_info.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_inner_trade_xq.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_irm_cninfo.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_jgdy_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_lh_yybpm.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_lhb_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_lhb_sina.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_margin_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_margin_sse.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_margin_szse.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_market_legu.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_pankou_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_qsjy_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_report_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_research_report_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_sns_sseinfo.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_sy_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_technology_ths.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_tfp_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_three_report_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_ttm_lyr.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_wencai.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_yjbb_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_yjyg_cninfo.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_yjyg_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_yzxdr_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_zdhtmx_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_zf_pg.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_zh_valuation_baidu.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_zh_vote_baidu.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/stock_ztb_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_feature/ths.js +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_fundamental/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_fundamental/stock_finance.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_fundamental/stock_finance_hk.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_fundamental/stock_finance_ths.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_fundamental/stock_hold.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_fundamental/stock_ipo_declare.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_fundamental/stock_kcb_detail_sse.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_fundamental/stock_kcb_sse.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_fundamental/stock_mda_ym.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_fundamental/stock_notice.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_fundamental/stock_profit_forecast_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_fundamental/stock_profit_forecast_hk_etnet.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_fundamental/stock_profit_forecast_ths.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_fundamental/stock_recommend.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_fundamental/stock_register_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_fundamental/stock_restricted_em.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_fundamental/stock_zygc.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/stock_fundamental/stock_zyjs_ths.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/tool/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/tool/trade_date_hist.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/utils/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/utils/cons.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/utils/demjson.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/utils/func.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/utils/token_process.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare/utils/tqdm.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare.egg-info/dependency_links.txt +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare.egg-info/requires.txt +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/akshare.egg-info/top_level.txt +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/pyproject.toml +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/setup.cfg +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/setup.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/tests/__init__.py +0 -0
- {akshare-1.14.31 → akshare-1.14.33}/tests/test_func.py +0 -0
|
@@ -2842,9 +2842,11 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
|
|
|
2842
2842
|
1.14.29 fix: fix stock_individual_spot_xq interface
|
|
2843
2843
|
1.14.30 fix: fix stock_us_hist_min_em interface
|
|
2844
2844
|
1.14.31 fix: fix option_shfe_daily interface
|
|
2845
|
+
1.14.32 add: add stock_concept_cons_futu interface
|
|
2846
|
+
1.14.33 fix: fix stock_concept_cons_futu interface
|
|
2845
2847
|
"""
|
|
2846
2848
|
|
|
2847
|
-
__version__ = "1.14.
|
|
2849
|
+
__version__ = "1.14.33"
|
|
2848
2850
|
__author__ = "AKFamily"
|
|
2849
2851
|
|
|
2850
2852
|
import sys
|
|
@@ -2866,6 +2868,16 @@ if sys.version_info < (3, 9):
|
|
|
2866
2868
|
|
|
2867
2869
|
del sys
|
|
2868
2870
|
|
|
2871
|
+
"""
|
|
2872
|
+
同花顺-数据中心-宏观数据-股票筹资
|
|
2873
|
+
"""
|
|
2874
|
+
from akshare.economic.macro_finance_ths import macro_stock_finance
|
|
2875
|
+
|
|
2876
|
+
"""
|
|
2877
|
+
富途牛牛-主题投资-概念板块-成分股
|
|
2878
|
+
"""
|
|
2879
|
+
from akshare.stock_feature.stock_concept_futu import stock_concept_cons_futu
|
|
2880
|
+
|
|
2869
2881
|
"""
|
|
2870
2882
|
商品期权手续费
|
|
2871
2883
|
"""
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
#!/usr/bin/env python
|
|
2
|
+
# -*- coding:utf-8 -*-
|
|
3
|
+
"""
|
|
4
|
+
Date: 2024/7/16 22:30
|
|
5
|
+
Desc: 同花顺-数据中心-宏观数据-股票筹资
|
|
6
|
+
https://data.10jqka.com.cn/macro/finance/
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from io import StringIO
|
|
10
|
+
|
|
11
|
+
import pandas as pd
|
|
12
|
+
import requests
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def macro_stock_finance() -> pd.DataFrame:
|
|
16
|
+
"""
|
|
17
|
+
同花顺-数据中心-宏观数据-股票筹资
|
|
18
|
+
https://data.10jqka.com.cn/macro/finance/
|
|
19
|
+
:return: 股票筹资
|
|
20
|
+
:rtype: pandas.DataFrame
|
|
21
|
+
"""
|
|
22
|
+
url = "https://data.10jqka.com.cn/macro/finance/"
|
|
23
|
+
headers = {
|
|
24
|
+
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 "
|
|
25
|
+
"(KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
|
|
26
|
+
}
|
|
27
|
+
r = requests.get(url, headers=headers)
|
|
28
|
+
temp_df = pd.read_html(StringIO(r.text))[0]
|
|
29
|
+
temp_df.rename(
|
|
30
|
+
columns={
|
|
31
|
+
"月份": "月份",
|
|
32
|
+
"募集资金(亿元)": "募集资金",
|
|
33
|
+
"首发募集资金(亿元)": "首发募集资金",
|
|
34
|
+
"增发募集资金(亿元)": "增发募集资金",
|
|
35
|
+
"配股募集资金(亿元)": "配股募集资金",
|
|
36
|
+
},
|
|
37
|
+
inplace=True,
|
|
38
|
+
)
|
|
39
|
+
temp_df = temp_df[
|
|
40
|
+
["月份", "募集资金", "首发募集资金", "增发募集资金", "配股募集资金"]
|
|
41
|
+
]
|
|
42
|
+
temp_df["募集资金"] = pd.to_numeric(temp_df["募集资金"], errors="coerce")
|
|
43
|
+
temp_df["首发募集资金"] = pd.to_numeric(temp_df["首发募集资金"], errors="coerce")
|
|
44
|
+
temp_df["增发募集资金"] = pd.to_numeric(temp_df["增发募集资金"], errors="coerce")
|
|
45
|
+
temp_df["配股募集资金"] = pd.to_numeric(temp_df["配股募集资金"], errors="coerce")
|
|
46
|
+
return temp_df
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
if __name__ == "__main__":
|
|
50
|
+
macro_stock_finance_df = macro_stock_finance()
|
|
51
|
+
print(macro_stock_finance_df)
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
#!/usr/bin/env python
|
|
2
|
+
# -*- coding:utf-8 -*-
|
|
3
|
+
"""
|
|
4
|
+
Date: 2024/7/16 22:00
|
|
5
|
+
Desc: 富途牛牛-主题投资-概念板块-成分股
|
|
6
|
+
https://www.futunn.com/quote/sparks-us
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
import json
|
|
10
|
+
|
|
11
|
+
import pandas as pd
|
|
12
|
+
import requests
|
|
13
|
+
from bs4 import BeautifulSoup
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def _stock_concept_cons_futu(symbol: str = "巴菲特持仓") -> pd.DataFrame:
|
|
17
|
+
"""
|
|
18
|
+
富途牛牛-主题投资-概念板块-成分股
|
|
19
|
+
https://www.futunn.com/quote/sparks-us
|
|
20
|
+
:param symbol: 板块名称; choice of {"巴菲特持仓", "佩洛西持仓"}
|
|
21
|
+
:type symbol: str
|
|
22
|
+
:return: 概念板块
|
|
23
|
+
:rtype: pandas.DataFrame
|
|
24
|
+
"""
|
|
25
|
+
symbol_map = {
|
|
26
|
+
"巴菲特持仓": "BK2999",
|
|
27
|
+
"佩洛西持仓": "BK20883",
|
|
28
|
+
}
|
|
29
|
+
url = f"https://www.futunn.com/stock/{symbol_map[symbol]}"
|
|
30
|
+
# 定义查询参数
|
|
31
|
+
params = {"global_content": json.dumps({"promote_id": 13766, "sub_promote_id": 24})}
|
|
32
|
+
headers = {
|
|
33
|
+
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 "
|
|
34
|
+
"(KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36",
|
|
35
|
+
}
|
|
36
|
+
r = requests.get(url, params=params, headers=headers)
|
|
37
|
+
soup = BeautifulSoup(r.text, features="lxml")
|
|
38
|
+
temp_code_name = [
|
|
39
|
+
item.find_all("div", attrs={"class": "fix-left"})
|
|
40
|
+
for item in soup.find(name="div", attrs={"class": "content-main"}).find_all("a")
|
|
41
|
+
]
|
|
42
|
+
temp_value_list = [
|
|
43
|
+
item.find_all("div", attrs={"class": "middle"})
|
|
44
|
+
for item in soup.find(name="div", attrs={"class": "content-main"}).find_all("a")
|
|
45
|
+
]
|
|
46
|
+
code_name_list = [item[0].find_all("span") for item in temp_code_name]
|
|
47
|
+
|
|
48
|
+
quant_list = [item[0].find_all("span") for item in temp_value_list]
|
|
49
|
+
temp_df = pd.DataFrame(
|
|
50
|
+
[
|
|
51
|
+
[item[0]["title"] for item in code_name_list],
|
|
52
|
+
[item[1]["title"] for item in code_name_list],
|
|
53
|
+
[item[0]["title"] for item in quant_list],
|
|
54
|
+
[item[1]["title"] for item in quant_list],
|
|
55
|
+
[item[2]["title"] for item in quant_list],
|
|
56
|
+
[item[3]["title"] for item in quant_list],
|
|
57
|
+
[item[4]["title"] for item in quant_list],
|
|
58
|
+
[item[5]["title"] for item in quant_list],
|
|
59
|
+
[item[6]["title"] for item in quant_list],
|
|
60
|
+
[item[7]["title"] for item in quant_list],
|
|
61
|
+
[item[8]["title"] for item in quant_list],
|
|
62
|
+
[item[9]["title"] for item in quant_list],
|
|
63
|
+
[item[10]["title"] for item in quant_list],
|
|
64
|
+
[item[11]["title"] for item in quant_list],
|
|
65
|
+
[item[12]["title"] for item in quant_list],
|
|
66
|
+
[item[13]["title"] for item in quant_list],
|
|
67
|
+
[item[14]["title"] for item in quant_list],
|
|
68
|
+
]
|
|
69
|
+
).T
|
|
70
|
+
temp_df.columns = [
|
|
71
|
+
"代码",
|
|
72
|
+
"股票名称",
|
|
73
|
+
"最新价",
|
|
74
|
+
"涨跌额",
|
|
75
|
+
"涨跌幅",
|
|
76
|
+
"成交量",
|
|
77
|
+
"成交额",
|
|
78
|
+
"-",
|
|
79
|
+
"-",
|
|
80
|
+
"-",
|
|
81
|
+
"-",
|
|
82
|
+
"-",
|
|
83
|
+
"-",
|
|
84
|
+
"-",
|
|
85
|
+
"-",
|
|
86
|
+
"-",
|
|
87
|
+
"-",
|
|
88
|
+
]
|
|
89
|
+
temp_df = temp_df[
|
|
90
|
+
[
|
|
91
|
+
"代码",
|
|
92
|
+
"股票名称",
|
|
93
|
+
"最新价",
|
|
94
|
+
"涨跌额",
|
|
95
|
+
"涨跌幅",
|
|
96
|
+
"成交量",
|
|
97
|
+
"成交额",
|
|
98
|
+
]
|
|
99
|
+
]
|
|
100
|
+
return temp_df
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
def stock_concept_cons_futu(symbol: str = "特朗普概念股") -> pd.DataFrame:
|
|
104
|
+
"""
|
|
105
|
+
富途牛牛-主题投资-概念板块-成分股
|
|
106
|
+
https://www.futunn.com/quote/sparks-us
|
|
107
|
+
:param symbol: 板块名称; choice of {"巴菲特持仓", "佩洛西持仓", "特朗普概念股"}
|
|
108
|
+
:type symbol: str
|
|
109
|
+
:return: 概念板块
|
|
110
|
+
:rtype: pandas.DataFrame
|
|
111
|
+
"""
|
|
112
|
+
if symbol == "特朗普概念股":
|
|
113
|
+
url = "https://www.futunn.com/quote-api/quote-v2/get-plate-stock"
|
|
114
|
+
params = {
|
|
115
|
+
"marketType": "2",
|
|
116
|
+
"plateId": "10102960",
|
|
117
|
+
"page": "0",
|
|
118
|
+
"pageSize": "30",
|
|
119
|
+
}
|
|
120
|
+
headers = {
|
|
121
|
+
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 "
|
|
122
|
+
"(KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36",
|
|
123
|
+
"Quote-Token": "7f74cd2a5e",
|
|
124
|
+
}
|
|
125
|
+
r = requests.get(url, params=params, headers=headers)
|
|
126
|
+
data_json = r.json()
|
|
127
|
+
total_page = data_json["data"]["pagination"]["pageCount"]
|
|
128
|
+
big_df = pd.DataFrame()
|
|
129
|
+
for page in range(0, total_page):
|
|
130
|
+
params.update(
|
|
131
|
+
{
|
|
132
|
+
"page": page,
|
|
133
|
+
}
|
|
134
|
+
)
|
|
135
|
+
if page == 1:
|
|
136
|
+
headers.update({"Quote-Token": "a3043d6fed"})
|
|
137
|
+
r = requests.get(url, params=params, headers=headers)
|
|
138
|
+
data_json = r.json()
|
|
139
|
+
temp_df = pd.DataFrame(data_json["data"]["list"])
|
|
140
|
+
big_df = pd.concat(objs=[big_df, temp_df], ignore_index=True)
|
|
141
|
+
|
|
142
|
+
big_df.rename(
|
|
143
|
+
columns={
|
|
144
|
+
"stockCode": "代码",
|
|
145
|
+
"name": "股票名称",
|
|
146
|
+
"price": "最新价",
|
|
147
|
+
"change": "涨跌额",
|
|
148
|
+
"changeRatio": "涨跌幅",
|
|
149
|
+
"tradeVolumn": "成交量",
|
|
150
|
+
"tradeTrunover": "成交额",
|
|
151
|
+
},
|
|
152
|
+
inplace=True,
|
|
153
|
+
)
|
|
154
|
+
big_df = big_df[
|
|
155
|
+
[
|
|
156
|
+
"代码",
|
|
157
|
+
"股票名称",
|
|
158
|
+
"最新价",
|
|
159
|
+
"涨跌额",
|
|
160
|
+
"涨跌幅",
|
|
161
|
+
"成交量",
|
|
162
|
+
"成交额",
|
|
163
|
+
]
|
|
164
|
+
]
|
|
165
|
+
big_df["最新价"] = pd.to_numeric(big_df["最新价"], errors="coerce")
|
|
166
|
+
big_df["涨跌额"] = pd.to_numeric(big_df["涨跌额"], errors="coerce")
|
|
167
|
+
return big_df
|
|
168
|
+
else:
|
|
169
|
+
temp_df = _stock_concept_cons_futu(symbol)
|
|
170
|
+
temp_df["最新价"] = pd.to_numeric(temp_df["最新价"], errors="coerce")
|
|
171
|
+
temp_df["涨跌额"] = pd.to_numeric(temp_df["涨跌额"], errors="coerce")
|
|
172
|
+
return temp_df
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
if __name__ == "__main__":
|
|
176
|
+
stock_concept_cons_futu_df = stock_concept_cons_futu(symbol="特朗普概念股")
|
|
177
|
+
print(stock_concept_cons_futu_df)
|
|
178
|
+
|
|
179
|
+
stock_concept_cons_futu_df = stock_concept_cons_futu(symbol="巴菲特持仓")
|
|
180
|
+
print(stock_concept_cons_futu_df)
|
|
181
|
+
|
|
182
|
+
stock_concept_cons_futu_df = stock_concept_cons_futu(symbol="佩洛西持仓")
|
|
183
|
+
print(stock_concept_cons_futu_df)
|
|
@@ -66,6 +66,7 @@ akshare/economic/macro_china_hk.py
|
|
|
66
66
|
akshare/economic/macro_china_nbs.py
|
|
67
67
|
akshare/economic/macro_constitute.py
|
|
68
68
|
akshare/economic/macro_euro.py
|
|
69
|
+
akshare/economic/macro_finance_ths.py
|
|
69
70
|
akshare/economic/macro_germany.py
|
|
70
71
|
akshare/economic/macro_info_ws.py
|
|
71
72
|
akshare/economic/macro_japan.py
|
|
@@ -305,6 +306,7 @@ akshare/stock_feature/stock_board_industry_ths.py
|
|
|
305
306
|
akshare/stock_feature/stock_buffett_index_lg.py
|
|
306
307
|
akshare/stock_feature/stock_classify_sina.py
|
|
307
308
|
akshare/stock_feature/stock_comment_em.py
|
|
309
|
+
akshare/stock_feature/stock_concept_futu.py
|
|
308
310
|
akshare/stock_feature/stock_congestion_lg.py
|
|
309
311
|
akshare/stock_feature/stock_cyq_em.py
|
|
310
312
|
akshare/stock_feature/stock_disclosure_cninfo.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|