akshare 1.16.64__tar.gz → 1.16.65__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.64 → akshare-1.16.65}/PKG-INFO +3 -8
- {akshare-1.16.64 → akshare-1.16.65}/README.md +2 -7
- {akshare-1.16.64 → akshare-1.16.65}/akshare/__init__.py +2 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/air/cons.py +1 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/air/crypto.js +1 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/air/outcrypto.js +1 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/article/cons.py +1 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/article/epu_index.py +4 -3
- {akshare-1.16.64 → akshare-1.16.65}/akshare/article/ff_factor.py +19 -8
- {akshare-1.16.64 → akshare-1.16.65}/akshare/article/fred_md.py +4 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/article/risk_rv.py +3 -8
- {akshare-1.16.64 → akshare-1.16.65}/akshare/bond/bond_cb_sina.py +1 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/bond/bond_cbond.py +19 -14
- {akshare-1.16.64 → akshare-1.16.65}/akshare/bond/bond_em.py +34 -15
- akshare-1.16.65/akshare/bond/bond_summary.py +92 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/bond/bond_zh_cov.py +0 -6
- {akshare-1.16.64 → akshare-1.16.65}/akshare/bond/cons.py +14 -11
- {akshare-1.16.64 → akshare-1.16.65}/akshare/crypto/__init__.py +1 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/crypto/crypto_bitcoin_cme.py +7 -7
- {akshare-1.16.64 → akshare-1.16.65}/akshare/crypto/crypto_hold.py +4 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/currency/currency.py +1 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/currency/currency_china_bank_sina.py +6 -3
- {akshare-1.16.64 → akshare-1.16.65}/akshare/data/__init__.py +1 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/data/cninfo.js +1 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/cons.py +10 -3
- {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/macro_australia.py +0 -7
- {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/macro_canada.py +92 -81
- {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/macro_china.py +0 -34
- {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/macro_china_hk.py +0 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/macro_euro.py +103 -56
- {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/macro_germany.py +1 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/macro_japan.py +0 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/macro_other.py +1 -6
- {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/macro_swiss.py +2 -3
- {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/macro_uk.py +1 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/macro_usa.py +0 -2
- {akshare-1.16.64 → akshare-1.16.65}/akshare/energy/energy_carbon.py +0 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/energy/energy_oil_em.py +1 -2
- {akshare-1.16.64 → akshare-1.16.65}/akshare/event/cons.py +1 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/forex/forex_em.py +0 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/fortune/fortune_bloomberg.py +6 -3
- {akshare-1.16.64 → akshare-1.16.65}/akshare/fortune/fortune_forbes_500.py +3 -6
- {akshare-1.16.64 → akshare-1.16.65}/akshare/fortune/fortune_hurun.py +2 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/fortune/fortune_xincaifu_500.py +17 -14
- {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_announcement.py +1 -0
- akshare-1.16.65/akshare/fund/fund_aum_em.py +104 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_em.py +0 -7
- {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_etf_em.py +0 -5
- {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_fhsp_em.py +27 -20
- {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_init_em.py +8 -5
- {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_lof_em.py +0 -5
- {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_manager.py +18 -7
- {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_portfolio_em.py +0 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_position_lg.py +19 -8
- {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_rank_em.py +0 -3
- {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_rating.py +28 -9
- {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_scale_em.py +24 -13
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_comex_em.py +1 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_contract_detail.py +11 -8
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_inventory_em.py +0 -2
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_rule.py +5 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_settlement_price_sgx.py +21 -6
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_stock_js.py +0 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/receipt.py +279 -153
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/requests_fun.py +16 -3
- akshare-1.16.65/akshare/futures_derivative/cons.py +142 -0
- akshare-1.16.65/akshare/futures_derivative/futures_contract_info_cffex.py +100 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures_derivative/futures_contract_info_dce.py +16 -9
- akshare-1.16.65/akshare/futures_derivative/futures_contract_info_gfex.py +72 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures_derivative/futures_index_sina.py +25 -13
- akshare-1.16.65/akshare/fx/cons.py +23 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/fx/fx_quote.py +1 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/fx/fx_quote_baidu.py +2 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/hf/__init__.py +1 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/hf/hf_sp500.py +8 -7
- {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_eri.py +1 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_global_em.py +0 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_kq_fz.py +17 -14
- {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_kq_ss.py +1 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_stock_hk.py +0 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_stock_zh.py +0 -3
- {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_sugar.py +18 -4
- {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_zh_em.py +0 -15
- {akshare-1.16.64 → akshare-1.16.65}/akshare/interest_rate/interbank_rate_em.py +0 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/movie/jm.js +0 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/news/__init__.py +1 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/news/news_stock.py +0 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/option/option_commodity_sina.py +22 -26
- {akshare-1.16.64 → akshare-1.16.65}/akshare/option/option_daily_stats_sse_szse.py +0 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/option/option_em.py +0 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/option/option_lhb_em.py +0 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/option/option_risk_indicator_sse.py +0 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/other/__init__.py +1 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/pro/client.py +6 -4
- akshare-1.16.65/akshare/pro/cons.py +9 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/pro/data_pro.py +6 -5
- {akshare-1.16.64 → akshare-1.16.65}/akshare/qhkc/qhkc_api.py +63 -21
- {akshare-1.16.64 → akshare-1.16.65}/akshare/qhkc_web/qhkc_fund.py +1 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/qhkc_web/qhkc_index.py +1 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/qhkc_web/qhkc_tool.py +55 -54
- {akshare-1.16.64 → akshare-1.16.65}/akshare/rate/__init__.py +1 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/rate/repo_rate.py +36 -32
- {akshare-1.16.64 → akshare-1.16.65}/akshare/reits/__init__.py +1 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/reits/reits_basic.py +44 -2
- {akshare-1.16.64 → akshare-1.16.65}/akshare/sport/__init__.py +1 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/sport/sport_olympic.py +1 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/spot/__init__.py +1 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/cons.py +19 -12
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_board_concept_em.py +0 -6
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_board_industry_em.py +0 -6
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_dzjy_em.py +1 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_fund_em.py +0 -2
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_fund_hold.py +1 -2
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_gsrl_em.py +1 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_hk_famous.py +0 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_hk_fhpx_ths.py +2 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_hk_hot_rank_em.py +1 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_hold_control_em.py +0 -2
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_hot_up_em.py +4 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_hsgt_em.py +0 -2
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_industry.py +1 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_info.py +0 -2
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_info_em.py +0 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_repurchase_em.py +7 -2
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_share_hold.py +0 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_stop.py +0 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_summary.py +0 -2
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_us_famous.py +0 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_us_js.py +3 -2
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_us_pink.py +0 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_weibo_nlp.py +18 -20
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_zh_a_special.py +0 -3
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_zh_a_tick_tx.py +11 -3
- akshare-1.16.65/akshare/stock_a/__init__.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_a/stock_board_concept_name_em.py +0 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_a/stock_zh_a_spot.py +0 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/cons.py +1 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_account_em.py +0 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_all_pb.py +2 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_analyst_em.py +0 -3
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_buffett_index_lg.py +7 -6
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_classify_sina.py +3 -6
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_comment_em.py +0 -2
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_congestion_lg.py +2 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_dxsyl_em.py +116 -71
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_gdzjc_em.py +16 -5
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_gxl_lg.py +3 -2
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_hist_em.py +0 -20
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_hist_tx.py +10 -8
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_hot_xq.py +4 -6
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_hsgt_em.py +0 -2
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_hsgt_exchange_rate.py +0 -2
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_hsgt_min_em.py +13 -16
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_inner_trade_xq.py +0 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_lhb_em.py +0 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_margin_em.py +0 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_margin_sse.py +0 -2
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_pankou_em.py +0 -2
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_qsjy_em.py +13 -4
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_research_report_em.py +0 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_yjyg_cninfo.py +4 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_zh_vote_baidu.py +4 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_ztb_em.py +0 -6
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/__init__.py +1 -1
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_hold.py +26 -17
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_ipo_declare.py +1 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_kcb_detail_sse.py +10 -10
- akshare-1.16.65/akshare/stock_fundamental/stock_kcb_sse.py +56 -0
- akshare-1.16.65/akshare/stock_fundamental/stock_profit_forecast_hk_etnet.py +126 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_recommend.py +20 -4
- {akshare-1.16.64 → akshare-1.16.65}/akshare/utils/demjson.py +2005 -1334
- {akshare-1.16.64 → akshare-1.16.65}/akshare/utils/token_process.py +6 -5
- {akshare-1.16.64 → akshare-1.16.65}/akshare.egg-info/PKG-INFO +3 -8
- akshare-1.16.64/akshare/bond/bond_summary.py +0 -91
- akshare-1.16.64/akshare/fund/fund_aum_em.py +0 -92
- akshare-1.16.64/akshare/futures_derivative/cons.py +0 -145
- akshare-1.16.64/akshare/futures_derivative/futures_contract_info_cffex.py +0 -86
- akshare-1.16.64/akshare/futures_derivative/futures_contract_info_gfex.py +0 -60
- akshare-1.16.64/akshare/fx/cons.py +0 -18
- akshare-1.16.64/akshare/pro/__init__.py +0 -1
- akshare-1.16.64/akshare/pro/cons.py +0 -8
- akshare-1.16.64/akshare/stock_fundamental/stock_kcb_sse.py +0 -55
- akshare-1.16.64/akshare/stock_fundamental/stock_profit_forecast_hk_etnet.py +0 -103
- {akshare-1.16.64 → akshare-1.16.65}/LICENSE +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/air/__init__.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/air/air_hebei.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/air/air_zhenqi.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/air/sunrise_tad.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/article/__init__.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/bank/__init__.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/bank/bank_cbirc_2020.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/bank/cons.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/bond/__init__.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/bond/bond_cb_ths.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/bond/bond_china.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/bond/bond_china_money.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/bond/bond_convert.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/bond/bond_info_cm.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/bond/bond_issue_cninfo.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/bond/bond_nafmii.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/bond/bond_zh_sina.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/cal/__init__.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/cal/rv.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/cost/__init__.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/cost/cost_living.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/currency/__init__.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/currency/currency_safe.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/data/crypto_info.zip +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/data/ths.js +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/datasets.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/__init__.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/macro_bank.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/macro_china_nbs.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/macro_constitute.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/macro_finance_ths.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/macro_info_ws.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/marco_cnbs.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/energy/__init__.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/event/__init__.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/event/migration.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/exceptions.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/file_fold/__init__.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/file_fold/calendar.json +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/forex/__init__.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/forex/cons.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/fortune/__init__.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/fortune/fortune_500.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/__init__.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_amac.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_etf_sina.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_etf_ths.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_fee_em.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_report_cninfo.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_scale_sina.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_xq.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/__init__.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/cons.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/cot.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_basis.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_comm_ctp.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_comm_qihuo.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_daily_bar.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_foreign.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_hf_em.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_hist_em.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_hq_sina.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_index_ccidx.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_inventory_99.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_news_shmet.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_roll_yield.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_rule_em.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_spot_stock_em.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_to_spot.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_warehouse_receipt.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_zh_sina.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/symbol_var.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures_derivative/__init__.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures_derivative/futures_contract_info_czce.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures_derivative/futures_contract_info_ine.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures_derivative/futures_contract_info_shfe.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures_derivative/futures_cot_sina.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures_derivative/futures_hog.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/futures_derivative/futures_spot_sys.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/fx/__init__.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/fx/currency_investing.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/index/__init__.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/index/cons.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_cflp.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_cni.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_cons.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_cx.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_drewry.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_global_sina.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_hog.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_option_qvix.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_research_fund_sw.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_research_sw.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_spot.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_stock_us_sina.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_stock_zh_csindex.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_sw.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_yw.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_zh_a_scope.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/interest_rate/__init__.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/movie/__init__.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/movie/artist_yien.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/movie/movie_yien.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/movie/video_yien.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/news/news_baidu.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/news/news_cctv.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/nlp/__init__.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/nlp/nlp_interface.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/option/__init__.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/option/cons.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/option/option_comm_qihuo.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/option/option_commodity.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/option/option_czce.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/option/option_finance.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/option/option_finance_sina.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/option/option_premium_analysis_em.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/option/option_risk_analysis_em.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/option/option_value_analysis_em.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/other/other_car_cpca.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/other/other_car_gasgoo.py +0 -0
- {akshare-1.16.64/akshare/qdii → akshare-1.16.65/akshare/pro}/__init__.py +0 -0
- {akshare-1.16.64/akshare/stock_a → akshare-1.16.65/akshare/qdii}/__init__.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/qdii/qdii_jsl.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/qhkc/__init__.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/qhkc_web/__init__.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/request.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/spot/spot_hog_soozhu.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/spot/spot_price_qh.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/spot/spot_sge.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/__init__.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_allotment_cninfo.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_ask_bid_em.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_cg_equity_mortgage.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_cg_guarantee.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_cg_lawsuit.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_dividend_cninfo.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_hk_sina.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_hold_control_cninfo.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_hold_num_cninfo.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_hot_rank_em.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_hot_search_baidu.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_industry_cninfo.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_industry_pe_cninfo.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_industry_sw.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_intraday_em.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_intraday_sina.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_ipo_summary_cninfo.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_new_cninfo.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_news_cx.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_profile_cninfo.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_rank_forecast.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_share_changes_cninfo.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_us_sina.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_xq.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_zh_a_sina.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_zh_ah_tx.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_zh_b_sina.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_zh_kcb_report.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_zh_kcb_sina.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_a/stock_individual_fund_flow_rank.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/__init__.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_a_below_net_asset_statistics.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_a_high_low.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_a_indicator.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_a_pe_and_pb.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_board_concept_ths.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_board_industry_ths.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_concept_futu.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_cyq_em.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_disclosure_cninfo.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_ebs_lg.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_esg_sina.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_fhps_em.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_fhps_ths.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_fund_flow.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_gddh_em.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_gdfx_em.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_gdhs.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_gpzy_em.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_hk_valuation_baidu.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_info.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_irm_cninfo.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_jgdy_em.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_lh_yybpm.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_lhb_sina.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_margin_szse.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_market_legu.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_report_em.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_sns_sseinfo.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_sy_em.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_technology_ths.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_tfp_em.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_three_report_em.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_ttm_lyr.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_value_em.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_wencai.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_yjbb_em.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_yjyg_em.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_yzxdr_em.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_zdhtmx_em.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_zf_pg.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_zh_valuation_baidu.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/ths.js +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_basic_info_xq.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_finance_hk_em.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_finance_sina.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_finance_ths.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_finance_us_em.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_mda_ym.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_notice.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_profit_forecast_em.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_profit_forecast_ths.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_register_em.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_restricted_em.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_zygc.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_zyjs_ths.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/tool/__init__.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/tool/trade_date_hist.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/utils/__init__.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/utils/cons.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/utils/context.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/utils/func.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/utils/multi_decrypt.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare/utils/tqdm.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare.egg-info/SOURCES.txt +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare.egg-info/dependency_links.txt +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare.egg-info/requires.txt +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/akshare.egg-info/top_level.txt +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/pyproject.toml +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/setup.cfg +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/setup.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/tests/__init__.py +0 -0
- {akshare-1.16.64 → akshare-1.16.65}/tests/test_func.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: akshare
|
3
|
-
Version: 1.16.
|
3
|
+
Version: 1.16.65
|
4
4
|
Summary: AKShare is an elegant and simple financial data interface library for Python, built for human beings!
|
5
5
|
Home-page: https://github.com/akfamily/akshare
|
6
6
|
Author: AKFamily
|
@@ -53,13 +53,8 @@ Dynamic: requires-dist
|
|
53
53
|
Dynamic: requires-python
|
54
54
|
Dynamic: summary
|
55
55
|
|
56
|
-
|
57
|
-
还独家分享了众多国内外财经数据源的使用和注意事项,请点击[了解更多](https://
|
58
|
-
|
59
|
-
**量化投研视频课程:《PyBroker-入门及实战》已经上架!《PyBroker-进阶及实战》正在更新!**
|
60
|
-
|
61
|
-
**更多视频教程已经发布:《AKShare-初阶-使用教学》、《AKShare-初阶-实战应用》、《AKShare-源码解析》、《开源项目巡礼》**,
|
62
|
-
详情请关注【数据科学实战】公众号,查看更多课程信息!
|
56
|
+
**广告推广**:欢迎加入专注于财经数据和量化投研的知识社区,获取《财经数据宝典》和《量化投研宝典》,其汇集了财经数据和量化投研的多年经验,
|
57
|
+
还独家分享了众多国内外财经数据源的使用和注意事项,请点击[了解更多](https://t.zsxq.com/ZCxUG)**。
|
63
58
|
|
64
59
|
**广告推广**:期魔方是一款非常专业本地化期货量化终端,无需部署或搭建环境,可直接调用及时和历史数据做回测实盘,
|
65
60
|
支持开箱即用的机器学习训练,策略投研、回测均免费,详情请[访问期魔方官网](https://qmfquant.com)。
|
@@ -1,10 +1,5 @@
|
|
1
|
-
|
2
|
-
还独家分享了众多国内外财经数据源的使用和注意事项,请点击[了解更多](https://
|
3
|
-
|
4
|
-
**量化投研视频课程:《PyBroker-入门及实战》已经上架!《PyBroker-进阶及实战》正在更新!**
|
5
|
-
|
6
|
-
**更多视频教程已经发布:《AKShare-初阶-使用教学》、《AKShare-初阶-实战应用》、《AKShare-源码解析》、《开源项目巡礼》**,
|
7
|
-
详情请关注【数据科学实战】公众号,查看更多课程信息!
|
1
|
+
**广告推广**:欢迎加入专注于财经数据和量化投研的知识社区,获取《财经数据宝典》和《量化投研宝典》,其汇集了财经数据和量化投研的多年经验,
|
2
|
+
还独家分享了众多国内外财经数据源的使用和注意事项,请点击[了解更多](https://t.zsxq.com/ZCxUG)**。
|
8
3
|
|
9
4
|
**广告推广**:期魔方是一款非常专业本地化期货量化终端,无需部署或搭建环境,可直接调用及时和历史数据做回测实盘,
|
10
5
|
支持开箱即用的机器学习训练,策略投研、回测均免费,详情请[访问期魔方官网](https://qmfquant.com)。
|
@@ -3073,9 +3073,10 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
|
|
3073
3073
|
1.16.62 fix: fix stock_gdfx_free_holding_change_em interface
|
3074
3074
|
1.16.63 fix: fix stock_board_concept_name_ths interface
|
3075
3075
|
1.16.64 add: add reits_hist_em interface
|
3076
|
+
1.16.65 fix: fix stock_dzjy_yybph interface
|
3076
3077
|
"""
|
3077
3078
|
|
3078
|
-
__version__ = "1.16.
|
3079
|
+
__version__ = "1.16.65"
|
3079
3080
|
__author__ = "AKFamily"
|
3080
3081
|
|
3081
3082
|
import sys
|
@@ -5,6 +5,7 @@ Date: 2024/1/20 22:00
|
|
5
5
|
Desc: 经济政策不确定性指数
|
6
6
|
https://www.policyuncertainty.com/index.html
|
7
7
|
"""
|
8
|
+
|
8
9
|
import pandas as pd
|
9
10
|
|
10
11
|
|
@@ -28,7 +29,7 @@ def article_epu_index(symbol: str = "China") -> pd.DataFrame:
|
|
28
29
|
symbol = "HK"
|
29
30
|
epu_df = pd.read_excel(
|
30
31
|
io=f"http://www.policyuncertainty.com/media/{symbol}_EPU_Data_Annotated.xlsx",
|
31
|
-
engine="openpyxl"
|
32
|
+
engine="openpyxl",
|
32
33
|
)
|
33
34
|
return epu_df
|
34
35
|
if symbol in ["Germany", "France", "Italy"]: # 欧洲
|
@@ -40,13 +41,13 @@ def article_epu_index(symbol: str = "China") -> pd.DataFrame:
|
|
40
41
|
if symbol in ["Ireland", "Chile", "Colombia", "Netherlands", "Singapore", "Sweden"]:
|
41
42
|
epu_df = pd.read_excel(
|
42
43
|
io=f"http://www.policyuncertainty.com/media/{symbol}_Policy_Uncertainty_Data.xlsx",
|
43
|
-
engine="openpyxl"
|
44
|
+
engine="openpyxl",
|
44
45
|
)
|
45
46
|
return epu_df
|
46
47
|
if symbol == "Greece":
|
47
48
|
epu_df = pd.read_excel(
|
48
49
|
io=f"http://www.policyuncertainty.com/media/FKT_{symbol}_Policy_Uncertainty_Data.xlsx",
|
49
|
-
engine="openpyxl"
|
50
|
+
engine="openpyxl",
|
50
51
|
)
|
51
52
|
return epu_df
|
52
53
|
url = f"http://www.policyuncertainty.com/media/{symbol}_Policy_Uncertainty_Data.csv"
|
@@ -5,6 +5,7 @@ Date: 2024/1/20 22:30
|
|
5
5
|
Desc: FF-data-library
|
6
6
|
https://mba.tuck.dartmouth.edu/pages/faculty/ken.french/data_library.html
|
7
7
|
"""
|
8
|
+
|
8
9
|
from io import StringIO
|
9
10
|
|
10
11
|
import pandas as pd
|
@@ -23,26 +24,31 @@ def article_ff_crr() -> pd.DataFrame:
|
|
23
24
|
res = requests.get(ff_home_url)
|
24
25
|
# first table
|
25
26
|
list_index = (
|
26
|
-
pd.read_html(StringIO(res.text), header=0, index_col=0)[4]
|
27
|
+
pd.read_html(StringIO(res.text), header=0, index_col=0)[4]
|
28
|
+
.iloc[2, :]
|
29
|
+
.index.tolist()
|
27
30
|
)
|
28
31
|
list_0 = [
|
29
32
|
item
|
30
33
|
for item in pd.read_html(StringIO(res.text), header=0, index_col=0)[4]
|
31
|
-
|
34
|
+
.iloc[0, :]
|
35
|
+
.iloc[0]
|
32
36
|
.split(" ")
|
33
37
|
if item != ""
|
34
38
|
]
|
35
39
|
list_1 = [
|
36
40
|
item
|
37
41
|
for item in pd.read_html(StringIO(res.text), header=0, index_col=0)[4]
|
38
|
-
|
42
|
+
.iloc[0, :]
|
43
|
+
.iloc[1]
|
39
44
|
.split(" ")
|
40
45
|
if item != ""
|
41
46
|
]
|
42
47
|
list_2 = [
|
43
48
|
item
|
44
49
|
for item in pd.read_html(StringIO(res.text), header=0, index_col=0)[4]
|
45
|
-
|
50
|
+
.iloc[0, :]
|
51
|
+
.iloc[2]
|
46
52
|
.split(" ")
|
47
53
|
if item != ""
|
48
54
|
]
|
@@ -63,26 +69,31 @@ def article_ff_crr() -> pd.DataFrame:
|
|
63
69
|
|
64
70
|
# second table
|
65
71
|
list_index = (
|
66
|
-
pd.read_html(StringIO(res.text), header=0, index_col=0)[4]
|
72
|
+
pd.read_html(StringIO(res.text), header=0, index_col=0)[4]
|
73
|
+
.iloc[1, :]
|
74
|
+
.index.tolist()
|
67
75
|
)
|
68
76
|
list_0 = [
|
69
77
|
item
|
70
78
|
for item in pd.read_html(StringIO(res.text), header=0, index_col=0)[4]
|
71
|
-
|
79
|
+
.iloc[1, :]
|
80
|
+
.iloc[0]
|
72
81
|
.split(" ")
|
73
82
|
if item != ""
|
74
83
|
]
|
75
84
|
list_1 = [
|
76
85
|
item
|
77
86
|
for item in pd.read_html(StringIO(res.text), header=0, index_col=0)[4]
|
78
|
-
|
87
|
+
.iloc[1, :]
|
88
|
+
.iloc[1]
|
79
89
|
.split(" ")
|
80
90
|
if item != ""
|
81
91
|
]
|
82
92
|
list_2 = [
|
83
93
|
item
|
84
94
|
for item in pd.read_html(StringIO(res.text), header=0, index_col=0)[4]
|
85
|
-
|
95
|
+
.iloc[1, :]
|
96
|
+
.iloc[2]
|
86
97
|
.split(" ")
|
87
98
|
if item != ""
|
88
99
|
]
|
@@ -6,6 +6,7 @@ Desc: Economic Research from Federal Reserve Bank of St. Louis
|
|
6
6
|
https://research.stlouisfed.org/econ/mccracken/fred-databases/
|
7
7
|
FRED-MD and FRED-QD are large macroeconomic databases designed for the empirical analysis of “big data.” The datasets of monthly and quarterly observations mimic the coverage of datasets already used in the literature, but they add three appealing features. They are updated in real-time through the FRED database. They are publicly accessible, facilitating the replication of empirical work. And they relieve the researcher of the task of incorporating data changes and revisions (a task accomplished by the data desk at the Federal Reserve Bank of St. Louis).
|
8
8
|
"""
|
9
|
+
|
9
10
|
import pandas as pd
|
10
11
|
|
11
12
|
|
@@ -17,7 +18,9 @@ def fred_md(date: str = "2020-01") -> pd.DataFrame:
|
|
17
18
|
:return: Monthly Data
|
18
19
|
:rtype: pandas.DataFrame
|
19
20
|
"""
|
20
|
-
url =
|
21
|
+
url = (
|
22
|
+
f"https://s3.amazonaws.com/files.fred.stlouisfed.org/fred-md/monthly/{date}.csv"
|
23
|
+
)
|
21
24
|
temp_df = pd.read_csv(url)
|
22
25
|
return temp_df
|
23
26
|
|
@@ -4,6 +4,7 @@
|
|
4
4
|
Date: 2024/1/20 20:51
|
5
5
|
Desc: 修大成主页-Risk Lab-Realized Volatility; Oxford-Man Institute of Quantitative Finance Realized Library
|
6
6
|
"""
|
7
|
+
|
7
8
|
import json
|
8
9
|
|
9
10
|
import pandas as pd
|
@@ -64,11 +65,8 @@ def article_oman_rv(symbol: str = "FTSE", index: str = "rk_th2") -> pd.DataFrame
|
|
64
65
|
res = requests.get(url)
|
65
66
|
soup = BeautifulSoup(res.text, "lxml")
|
66
67
|
soup_text = soup.find("p").get_text()
|
67
|
-
data_json = json.loads(soup_text[soup_text.find("{"): soup_text.rfind("};") + 1])
|
68
|
+
data_json = json.loads(soup_text[soup_text.find("{") : soup_text.rfind("};") + 1])
|
68
69
|
date_list = data_json[f".{symbol}"]["dates"]
|
69
|
-
title_fore = data_json[f".{symbol}"][index]["name"]
|
70
|
-
title_last = data_json[f".{symbol}"][index]["measure"]
|
71
|
-
title_list = title_fore + "-" + title_last
|
72
70
|
temp_df = pd.DataFrame([date_list, data_json[f".{symbol}"][index]["data"]]).T
|
73
71
|
temp_df.index = pd.to_datetime(temp_df.iloc[:, 0], unit="ms")
|
74
72
|
temp_df = temp_df.iloc[:, 1]
|
@@ -107,10 +105,7 @@ def article_oman_rv_short(symbol: str = "FTSE") -> pd.DataFrame:
|
|
107
105
|
res = requests.get(url, headers=headers, verify=False)
|
108
106
|
soup = BeautifulSoup(res.text, "lxml")
|
109
107
|
soup_text = soup.find("p").get_text()
|
110
|
-
data_json = json.loads(soup_text[soup_text.find("{"): soup_text.rfind("}") + 1])
|
111
|
-
title_fore = data_json[f".{symbol}"]["name"]
|
112
|
-
title_last = data_json[f".{symbol}"]["measure"]
|
113
|
-
title_list = title_fore + "-" + title_last
|
108
|
+
data_json = json.loads(soup_text[soup_text.find("{") : soup_text.rfind("}") + 1])
|
114
109
|
temp_df = pd.DataFrame(data_json[f".{symbol}"]["data"])
|
115
110
|
temp_df.index = pd.to_datetime(temp_df.iloc[:, 0], unit="ms")
|
116
111
|
temp_df = temp_df.iloc[:, 1]
|
@@ -4,6 +4,7 @@
|
|
4
4
|
Date: 2022/9/20 17:46
|
5
5
|
Desc: 中国债券信息网-中债指数-中债指数族系-总指数-综合类指数
|
6
6
|
"""
|
7
|
+
|
7
8
|
import pandas as pd
|
8
9
|
import requests
|
9
10
|
|
@@ -58,17 +59,17 @@ def bond_new_composite_index_cbond(
|
|
58
59
|
url = "https://yield.chinabond.com.cn/cbweb-mn/indices/singleIndexQuery"
|
59
60
|
params = {
|
60
61
|
"indexid": "8a8b2ca0332abed20134ea76d8885831",
|
61
|
-
"": "",
|
62
|
+
"": "", # noqa: F601
|
62
63
|
"qxlxt": period_map[period],
|
63
|
-
"": "",
|
64
|
+
"": "", # noqa: F601
|
64
65
|
"ltcslx": "",
|
65
|
-
"": "",
|
66
|
-
"zslxt": indicator_map[indicator],
|
67
|
-
"": "",
|
68
|
-
"zslxt": indicator_map[indicator],
|
69
|
-
"": "",
|
66
|
+
"": "", # noqa: F601
|
67
|
+
"zslxt": indicator_map[indicator], # noqa: F601
|
68
|
+
"": "", # noqa: F601
|
69
|
+
"zslxt": indicator_map[indicator], # noqa: F601
|
70
|
+
"": "", # noqa: F601
|
70
71
|
"lx": "1",
|
71
|
-
"": "",
|
72
|
+
"": "", # noqa: F601
|
72
73
|
"locale": "",
|
73
74
|
}
|
74
75
|
r = requests.post(url, params=params)
|
@@ -79,8 +80,12 @@ def bond_new_composite_index_cbond(
|
|
79
80
|
)
|
80
81
|
temp_df.reset_index(inplace=True)
|
81
82
|
temp_df.columns = ["date", "value"]
|
82
|
-
temp_df[
|
83
|
-
temp_df["date"] =
|
83
|
+
temp_df["date"] = temp_df["date"].astype(float)
|
84
|
+
temp_df["date"] = (
|
85
|
+
pd.to_datetime(temp_df["date"], unit="ms", errors="coerce", utc=True)
|
86
|
+
.dt.tz_convert("Asia/Shanghai")
|
87
|
+
.dt.date
|
88
|
+
)
|
84
89
|
temp_df["value"] = pd.to_numeric(temp_df["value"], errors="coerce")
|
85
90
|
return temp_df
|
86
91
|
|
@@ -135,13 +140,13 @@ def bond_composite_index_cbond(
|
|
135
140
|
url = "https://yield.chinabond.com.cn/cbweb-mn/indices/singleIndexQuery"
|
136
141
|
params = {
|
137
142
|
"indexid": "2c90818811afed8d0111c0c672b31578",
|
138
|
-
"": "",
|
143
|
+
"": "", # noqa: F601
|
139
144
|
"qxlxt": period_map[period],
|
140
|
-
"": "",
|
145
|
+
"": "", # noqa: F601
|
141
146
|
"zslxt": indicator_map[indicator],
|
142
|
-
"": "",
|
147
|
+
"": "", # noqa: F601
|
143
148
|
"lx": "1",
|
144
|
-
"": "",
|
149
|
+
"": "", # noqa: F601
|
145
150
|
"locale": "",
|
146
151
|
}
|
147
152
|
r = requests.post(url, params=params)
|
@@ -5,6 +5,7 @@ Date: 2023/12/4 14:00
|
|
5
5
|
Desc: 东方财富网-数据中心-经济数据-中美国债收益率
|
6
6
|
https://data.eastmoney.com/cjsj/zmgzsyl.html
|
7
7
|
"""
|
8
|
+
|
8
9
|
import pandas as pd
|
9
10
|
import requests
|
10
11
|
from tqdm import tqdm
|
@@ -30,7 +31,6 @@ def bond_zh_us_rate(start_date: str = "19901219") -> pd.DataFrame:
|
|
30
31
|
"ps": "500",
|
31
32
|
"pageNo": "1",
|
32
33
|
"pageNum": "1",
|
33
|
-
"_": "1615791534490",
|
34
34
|
}
|
35
35
|
r = requests.get(url, params=params)
|
36
36
|
data_json = r.json()
|
@@ -47,14 +47,13 @@ def bond_zh_us_rate(start_date: str = "19901219") -> pd.DataFrame:
|
|
47
47
|
"ps": "500",
|
48
48
|
"pageNo": page,
|
49
49
|
"pageNum": page,
|
50
|
-
"_": "1615791534490",
|
51
50
|
}
|
52
51
|
r = requests.get(url, params=params)
|
53
52
|
data_json = r.json()
|
54
53
|
temp_df = pd.DataFrame(data_json["result"]["data"])
|
55
54
|
for col in temp_df.columns:
|
56
55
|
if temp_df[col].isnull().all(): # 检查列是否包含 None 或 NaN
|
57
|
-
temp_df[col] = pd.to_numeric(temp_df[col], errors=
|
56
|
+
temp_df[col] = pd.to_numeric(temp_df[col], errors="coerce")
|
58
57
|
if big_df.empty:
|
59
58
|
big_df = temp_df
|
60
59
|
else:
|
@@ -62,7 +61,7 @@ def bond_zh_us_rate(start_date: str = "19901219") -> pd.DataFrame:
|
|
62
61
|
|
63
62
|
temp_date_list = pd.to_datetime(big_df["SOLAR_DATE"]).dt.date.to_list()
|
64
63
|
if pd.to_datetime(start_date) in pd.date_range(
|
65
|
-
|
64
|
+
temp_date_list[-1], temp_date_list[0]
|
66
65
|
):
|
67
66
|
break
|
68
67
|
|
@@ -102,21 +101,41 @@ def bond_zh_us_rate(start_date: str = "19901219") -> pd.DataFrame:
|
|
102
101
|
]
|
103
102
|
]
|
104
103
|
big_df["日期"] = pd.to_datetime(big_df["日期"], errors="coerce")
|
105
|
-
big_df["中国国债收益率2年"] = pd.to_numeric(
|
106
|
-
|
107
|
-
|
108
|
-
big_df["中国国债收益率
|
109
|
-
|
104
|
+
big_df["中国国债收益率2年"] = pd.to_numeric(
|
105
|
+
big_df["中国国债收益率2年"], errors="coerce"
|
106
|
+
)
|
107
|
+
big_df["中国国债收益率5年"] = pd.to_numeric(
|
108
|
+
big_df["中国国债收益率5年"], errors="coerce"
|
109
|
+
)
|
110
|
+
big_df["中国国债收益率10年"] = pd.to_numeric(
|
111
|
+
big_df["中国国债收益率10年"], errors="coerce"
|
112
|
+
)
|
113
|
+
big_df["中国国债收益率30年"] = pd.to_numeric(
|
114
|
+
big_df["中国国债收益率30年"], errors="coerce"
|
115
|
+
)
|
116
|
+
big_df["中国国债收益率10年-2年"] = pd.to_numeric(
|
117
|
+
big_df["中国国债收益率10年-2年"], errors="coerce"
|
118
|
+
)
|
110
119
|
big_df["中国GDP年增率"] = pd.to_numeric(big_df["中国GDP年增率"], errors="coerce")
|
111
|
-
big_df["美国国债收益率2年"] = pd.to_numeric(
|
112
|
-
|
113
|
-
|
114
|
-
big_df["美国国债收益率
|
115
|
-
|
120
|
+
big_df["美国国债收益率2年"] = pd.to_numeric(
|
121
|
+
big_df["美国国债收益率2年"], errors="coerce"
|
122
|
+
)
|
123
|
+
big_df["美国国债收益率5年"] = pd.to_numeric(
|
124
|
+
big_df["美国国债收益率5年"], errors="coerce"
|
125
|
+
)
|
126
|
+
big_df["美国国债收益率10年"] = pd.to_numeric(
|
127
|
+
big_df["美国国债收益率10年"], errors="coerce"
|
128
|
+
)
|
129
|
+
big_df["美国国债收益率30年"] = pd.to_numeric(
|
130
|
+
big_df["美国国债收益率30年"], errors="coerce"
|
131
|
+
)
|
132
|
+
big_df["美国国债收益率10年-2年"] = pd.to_numeric(
|
133
|
+
big_df["美国国债收益率10年-2年"], errors="coerce"
|
134
|
+
)
|
116
135
|
big_df["美国GDP年增率"] = pd.to_numeric(big_df["美国GDP年增率"], errors="coerce")
|
117
136
|
big_df.sort_values("日期", inplace=True)
|
118
137
|
big_df.set_index(["日期"], inplace=True)
|
119
|
-
big_df = big_df[pd.to_datetime(start_date):]
|
138
|
+
big_df = big_df[pd.to_datetime(start_date) :]
|
120
139
|
big_df.reset_index(inplace=True)
|
121
140
|
big_df["日期"] = pd.to_datetime(big_df["日期"]).dt.date
|
122
141
|
return big_df
|
@@ -0,0 +1,92 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding:utf-8 -*-
|
3
|
+
"""
|
4
|
+
Date: 2022/3/5 12:55
|
5
|
+
Desc: 上登债券信息网-债券成交概览
|
6
|
+
http://bond.sse.com.cn/data/statistics/overview/turnover/
|
7
|
+
"""
|
8
|
+
|
9
|
+
from io import BytesIO
|
10
|
+
|
11
|
+
import pandas as pd
|
12
|
+
import requests
|
13
|
+
|
14
|
+
|
15
|
+
def bond_cash_summary_sse(date: str = "20210111") -> pd.DataFrame:
|
16
|
+
"""
|
17
|
+
上登债券信息网-市场数据-市场统计-市场概览-债券现券市场概览
|
18
|
+
http://bond.sse.com.cn/data/statistics/overview/bondow/
|
19
|
+
:param date: 指定日期
|
20
|
+
:type date: str
|
21
|
+
:return: 债券成交概览
|
22
|
+
:rtype: pandas.DataFrame
|
23
|
+
"""
|
24
|
+
url = "http://query.sse.com.cn/commonExcelDd.do"
|
25
|
+
headers = {
|
26
|
+
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
|
27
|
+
"Referer": "http://bond.sse.com.cn/",
|
28
|
+
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36",
|
29
|
+
}
|
30
|
+
params = {
|
31
|
+
"sqlId": "COMMON_SSEBOND_SCSJ_SCTJ_SCGL_ZQXQSCGL_CX_L",
|
32
|
+
"TRADE_DATE": f"{date[:4]}-{date[4:6]}-{date[6:]}",
|
33
|
+
}
|
34
|
+
r = requests.get(url, params=params, headers=headers)
|
35
|
+
temp_df = pd.read_excel(BytesIO(r.content), engine="xlrd")
|
36
|
+
temp_df.columns = [
|
37
|
+
"债券现货",
|
38
|
+
"托管只数",
|
39
|
+
"托管市值",
|
40
|
+
"托管面值",
|
41
|
+
"数据日期",
|
42
|
+
]
|
43
|
+
temp_df["托管只数"] = pd.to_numeric(temp_df["托管只数"])
|
44
|
+
temp_df["托管市值"] = pd.to_numeric(temp_df["托管市值"])
|
45
|
+
temp_df["托管面值"] = pd.to_numeric(temp_df["托管面值"])
|
46
|
+
temp_df["数据日期"] = pd.to_datetime(temp_df["数据日期"]).dt.date
|
47
|
+
return temp_df
|
48
|
+
|
49
|
+
|
50
|
+
def bond_deal_summary_sse(date: str = "20210104") -> pd.DataFrame:
|
51
|
+
"""
|
52
|
+
上登债券信息网-市场数据-市场统计-市场概览-债券成交概览
|
53
|
+
http://bond.sse.com.cn/data/statistics/overview/turnover/
|
54
|
+
:param date: 指定日期
|
55
|
+
:type date: str
|
56
|
+
:return: 债券成交概览
|
57
|
+
:rtype: pandas.DataFrame
|
58
|
+
"""
|
59
|
+
url = "http://query.sse.com.cn/commonExcelDd.do"
|
60
|
+
headers = {
|
61
|
+
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
|
62
|
+
"Referer": "http://bond.sse.com.cn/",
|
63
|
+
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36",
|
64
|
+
}
|
65
|
+
params = {
|
66
|
+
"sqlId": "COMMON_SSEBOND_SCSJ_SCTJ_SCGL_ZQCJGL_CX_L",
|
67
|
+
"TRADE_DATE": f"{date[:4]}-{date[4:6]}-{date[6:]}",
|
68
|
+
}
|
69
|
+
r = requests.get(url, params=params, headers=headers)
|
70
|
+
temp_df = pd.read_excel(BytesIO(r.content))
|
71
|
+
temp_df.columns = [
|
72
|
+
"债券类型",
|
73
|
+
"当日成交笔数",
|
74
|
+
"当日成交金额",
|
75
|
+
"当年成交笔数",
|
76
|
+
"当年成交金额",
|
77
|
+
"数据日期",
|
78
|
+
]
|
79
|
+
temp_df["当日成交笔数"] = pd.to_numeric(temp_df["当日成交笔数"])
|
80
|
+
temp_df["当日成交金额"] = pd.to_numeric(temp_df["当日成交金额"])
|
81
|
+
temp_df["当年成交笔数"] = pd.to_numeric(temp_df["当年成交笔数"])
|
82
|
+
temp_df["当年成交金额"] = pd.to_numeric(temp_df["当年成交金额"])
|
83
|
+
temp_df["数据日期"] = pd.to_datetime(temp_df["数据日期"]).dt.date
|
84
|
+
return temp_df
|
85
|
+
|
86
|
+
|
87
|
+
if __name__ == "__main__":
|
88
|
+
bond_cash_summary_sse_df = bond_cash_summary_sse(date="20210111")
|
89
|
+
print(bond_cash_summary_sse_df)
|
90
|
+
|
91
|
+
bond_summary_sse_df = bond_deal_summary_sse(date="20210111")
|
92
|
+
print(bond_summary_sse_df)
|
@@ -105,7 +105,6 @@ def _code_id_map() -> dict:
|
|
105
105
|
"fid": "f12",
|
106
106
|
"fs": "m:1 t:2,m:1 t:23",
|
107
107
|
"fields": "f3,f12",
|
108
|
-
"_": "1623833739532",
|
109
108
|
}
|
110
109
|
temp_df = fetch_paginated_data(url, params)
|
111
110
|
temp_df["market_id"] = 1
|
@@ -122,7 +121,6 @@ def _code_id_map() -> dict:
|
|
122
121
|
"fid": "f3",
|
123
122
|
"fs": "m:0 t:6,m:0 t:80",
|
124
123
|
"fields": "f3,f12",
|
125
|
-
"_": "1623833739532",
|
126
124
|
}
|
127
125
|
temp_df_sz = fetch_paginated_data(url, params)
|
128
126
|
temp_df_sz["sz_id"] = 0
|
@@ -282,7 +280,6 @@ def bond_zh_hs_cov_pre_min(symbol: str = "sh113570") -> pd.DataFrame:
|
|
282
280
|
"iscr": "1",
|
283
281
|
"iscca": "0",
|
284
282
|
"secid": f"{market_type[symbol[:2]]}.{symbol[2:]}",
|
285
|
-
"_": "1623766962675",
|
286
283
|
}
|
287
284
|
r = requests.get(url, params=params)
|
288
285
|
data_json = r.json()
|
@@ -485,7 +482,6 @@ def bond_cov_comparison() -> pd.DataFrame:
|
|
485
482
|
"fs": "b:MK0354",
|
486
483
|
"fields": "f1,f152,f2,f3,f12,f13,f14,f227,f228,f229,f230,f231,f232,f233,f234,"
|
487
484
|
"f235,f236,f237,f238,f239,f240,f241,f242,f26,f243",
|
488
|
-
"_": "1590386857527",
|
489
485
|
}
|
490
486
|
temp_df = fetch_paginated_data(url, params)
|
491
487
|
temp_df.columns = [
|
@@ -574,7 +570,6 @@ def bond_zh_cov_info(
|
|
574
570
|
"source": "WEB",
|
575
571
|
"client": "WEB",
|
576
572
|
"filter": f'(SECURITY_CODE="{symbol}")',
|
577
|
-
"_": "1654952140613",
|
578
573
|
}
|
579
574
|
if indicator == "基本信息":
|
580
575
|
params.update(
|
@@ -647,7 +642,6 @@ def bond_zh_cov_value_analysis(symbol: str = "113527") -> pd.DataFrame:
|
|
647
642
|
"filter": f'(zcode="{symbol}")',
|
648
643
|
"p": "1",
|
649
644
|
"ps": "8000",
|
650
|
-
"_": "1648629088839",
|
651
645
|
}
|
652
646
|
r = requests.get(url, params=params)
|
653
647
|
data_json = r.json()
|
@@ -4,35 +4,40 @@
|
|
4
4
|
Date: 2019/10/20 10:21
|
5
5
|
Desc: 债券配置文件
|
6
6
|
"""
|
7
|
+
|
7
8
|
# bond-cov-sina
|
8
9
|
zh_sina_bond_hs_cov_url = "http://vip.stock.finance.sina.com.cn/quotes_service/api/json_v2.php/Market_Center.getHQNodeDataSimple"
|
9
10
|
zh_sina_bond_hs_cov_count_url = "http://vip.stock.finance.sina.com.cn/quotes_service/api/json_v2.php/Market_Center.getHQNodeStockCountSimple"
|
10
|
-
zh_sina_bond_hs_cov_hist_url =
|
11
|
+
zh_sina_bond_hs_cov_hist_url = (
|
12
|
+
"https://finance.sina.com.cn/realstock/company/{}/hisdata/klc_kl.js?d={}"
|
13
|
+
)
|
11
14
|
zh_sina_bond_hs_cov_payload = {
|
12
15
|
"page": "1",
|
13
16
|
"num": "80",
|
14
17
|
"sort": "symbol",
|
15
18
|
"asc": "1",
|
16
19
|
"node": "hskzz_z",
|
17
|
-
"_s_r_a": "page"
|
20
|
+
"_s_r_a": "page",
|
18
21
|
}
|
19
22
|
|
20
23
|
# bond-sina
|
21
24
|
zh_sina_bond_hs_url = "http://vip.stock.finance.sina.com.cn/quotes_service/api/json_v2.php/Market_Center.getHQNodeData"
|
22
25
|
zh_sina_bond_hs_count_url = "http://vip.stock.finance.sina.com.cn/quotes_service/api/json_v2.php/Market_Center.getHQNodeStockCountSimple"
|
23
|
-
zh_sina_bond_hs_hist_url =
|
26
|
+
zh_sina_bond_hs_hist_url = (
|
27
|
+
"https://finance.sina.com.cn/realstock/company/{}/hisdata/klc_kl.js?d={}"
|
28
|
+
)
|
24
29
|
zh_sina_bond_hs_payload = {
|
25
30
|
"page": "1",
|
26
31
|
"num": "80",
|
27
32
|
"sort": "symbol",
|
28
33
|
"asc": "1",
|
29
34
|
"node": "hs_z",
|
30
|
-
"_s_r_a": "page"
|
35
|
+
"_s_r_a": "page",
|
31
36
|
}
|
32
37
|
|
33
38
|
# headers
|
34
39
|
SHORT_HEADERS = {
|
35
|
-
|
40
|
+
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.91 Safari/537.36"
|
36
41
|
}
|
37
42
|
|
38
43
|
# quote
|
@@ -45,9 +50,7 @@ MARKET_QUOTE_PAYLOAD = {
|
|
45
50
|
}
|
46
51
|
|
47
52
|
# trade
|
48
|
-
MARKET_TRADE_URL =
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
"bondName": ""
|
53
|
-
}
|
53
|
+
MARKET_TRADE_URL = (
|
54
|
+
"http://www.chinamoney.com.cn/ags/ms/cm-u-md-bond/CbtPri?lang=cn&flag=1&bondName="
|
55
|
+
)
|
56
|
+
MARKET_TRADE_PAYLOAD = {"lang": "cn", "flag": "1", "bondName": ""}
|