akshare 1.17.79__tar.gz → 1.17.80__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of akshare might be problematic. Click here for more details.
- {akshare-1.17.79 → akshare-1.17.80}/PKG-INFO +1 -1
- {akshare-1.17.79 → akshare-1.17.80}/akshare/__init__.py +8 -2
- akshare-1.17.80/akshare/futures/futures_contract_detail.py +89 -0
- akshare-1.17.80/akshare/option/option_contract_info_ctp.py +63 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare.egg-info/PKG-INFO +1 -1
- {akshare-1.17.79 → akshare-1.17.80}/akshare.egg-info/SOURCES.txt +1 -0
- akshare-1.17.79/akshare/futures/futures_contract_detail.py +0 -42
- {akshare-1.17.79 → akshare-1.17.80}/LICENSE +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/README.md +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/air/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/air/air_hebei.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/air/air_zhenqi.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/air/cons.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/air/crypto.js +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/air/outcrypto.js +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/air/sunrise_tad.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/article/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/article/cons.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/article/epu_index.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/article/ff_factor.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/article/fred_md.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/article/risk_rv.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/bank/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/bank/bank_cbirc_2020.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/bank/cons.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/bond/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/bond/bond_buy_back_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/bond/bond_cb_sina.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/bond/bond_cb_ths.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/bond/bond_cbond.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/bond/bond_china.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/bond/bond_china_money.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/bond/bond_convert.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/bond/bond_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/bond/bond_info_cm.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/bond/bond_issue_cninfo.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/bond/bond_nafmii.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/bond/bond_summary.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/bond/bond_zh_cov.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/bond/bond_zh_sina.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/bond/cons.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/cal/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/cal/rv.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/cost/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/cost/cost_living.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/crypto/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/crypto/crypto_bitcoin_cme.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/crypto/crypto_hold.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/currency/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/currency/currency.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/currency/currency_china_bank_sina.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/currency/currency_safe.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/data/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/data/cninfo.js +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/data/crypto_info.zip +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/data/ths.js +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/datasets.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/economic/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/economic/cons.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/economic/macro_australia.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/economic/macro_bank.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/economic/macro_canada.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/economic/macro_china.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/economic/macro_china_hk.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/economic/macro_china_nbs.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/economic/macro_constitute.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/economic/macro_euro.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/economic/macro_finance_ths.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/economic/macro_germany.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/economic/macro_info_ws.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/economic/macro_japan.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/economic/macro_other.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/economic/macro_swiss.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/economic/macro_uk.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/economic/macro_usa.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/economic/marco_cnbs.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/energy/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/energy/energy_carbon.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/energy/energy_oil_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/event/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/event/cons.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/event/migration.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/exceptions.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/file_fold/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/file_fold/calendar.json +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/forex/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/forex/cons.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/forex/forex_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fortune/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fortune/fortune_500.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fortune/fortune_bloomberg.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fortune/fortune_forbes_500.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fortune/fortune_hurun.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fortune/fortune_xincaifu_500.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fund/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fund/fund_amac.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fund/fund_announcement_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fund/fund_aum_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fund/fund_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fund/fund_etf_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fund/fund_etf_sina.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fund/fund_etf_ths.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fund/fund_fee_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fund/fund_fhsp_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fund/fund_init_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fund/fund_lof_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fund/fund_manager.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fund/fund_overview_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fund/fund_portfolio_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fund/fund_position_lg.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fund/fund_rank_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fund/fund_rating.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fund/fund_report_cninfo.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fund/fund_scale_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fund/fund_scale_sina.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fund/fund_xq.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures/cons.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures/cot.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures/futures_basis.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures/futures_comex_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures/futures_comm_ctp.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures/futures_comm_qihuo.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures/futures_daily_bar.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures/futures_foreign.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures/futures_hf_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures/futures_hist_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures/futures_hq_sina.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures/futures_index_ccidx.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures/futures_inventory_99.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures/futures_inventory_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures/futures_news_shmet.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures/futures_roll_yield.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures/futures_rule.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures/futures_rule_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures/futures_settlement_price_sgx.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures/futures_spot_stock_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures/futures_stock_js.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures/futures_to_spot.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures/futures_warehouse_receipt.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures/futures_zh_sina.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures/receipt.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures/requests_fun.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures/symbol_var.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures_derivative/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures_derivative/cons.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures_derivative/futures_contract_info_cffex.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures_derivative/futures_contract_info_czce.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures_derivative/futures_contract_info_dce.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures_derivative/futures_contract_info_gfex.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures_derivative/futures_contract_info_ine.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures_derivative/futures_contract_info_shfe.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures_derivative/futures_cot_sina.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures_derivative/futures_hog.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures_derivative/futures_index_sina.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/futures_derivative/futures_spot_sys.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fx/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fx/cons.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fx/currency_investing.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fx/fx_c_swap_cm.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fx/fx_quote.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/fx/fx_quote_baidu.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/hf/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/hf/hf_sp500.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/index/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/index/cons.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/index/index_cflp.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/index/index_cni.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/index/index_cons.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/index/index_csindex.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/index/index_cx.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/index/index_drewry.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/index/index_eri.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/index/index_global_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/index/index_global_sina.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/index/index_hog.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/index/index_kq_fz.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/index/index_kq_ss.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/index/index_option_qvix.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/index/index_research_fund_sw.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/index/index_research_sw.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/index/index_spot.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/index/index_stock_hk.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/index/index_stock_us_sina.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/index/index_stock_zh.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/index/index_stock_zh_csindex.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/index/index_sugar.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/index/index_sw.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/index/index_yw.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/index/index_zh_a_scope.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/index/index_zh_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/interest_rate/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/interest_rate/interbank_rate_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/movie/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/movie/artist_yien.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/movie/jm.js +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/movie/movie_yien.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/movie/video_yien.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/news/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/news/news_baidu.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/news/news_cctv.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/news/news_stock.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/nlp/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/nlp/nlp_interface.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/option/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/option/cons.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/option/option_comm_qihuo.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/option/option_commodity.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/option/option_commodity_sina.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/option/option_current_sse.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/option/option_current_szse.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/option/option_czce.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/option/option_daily_stats_sse_szse.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/option/option_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/option/option_finance.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/option/option_finance_sina.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/option/option_lhb_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/option/option_margin.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/option/option_premium_analysis_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/option/option_risk_analysis_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/option/option_risk_indicator_sse.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/option/option_value_analysis_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/other/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/other/other_car_cpca.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/other/other_car_gasgoo.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/pro/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/pro/client.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/pro/cons.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/pro/data_pro.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/qdii/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/qdii/qdii_jsl.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/qhkc/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/qhkc/qhkc_api.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/qhkc_web/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/qhkc_web/qhkc_fund.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/qhkc_web/qhkc_index.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/qhkc_web/qhkc_tool.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/rate/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/rate/repo_rate.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/reits/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/reits/reits_basic.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/request.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/spot/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/spot/spot_hog_soozhu.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/spot/spot_price_qh.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/spot/spot_sge.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/cons.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_allotment_cninfo.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_ask_bid_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_board_concept_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_board_industry_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_cg_equity_mortgage.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_cg_guarantee.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_cg_lawsuit.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_dividend_cninfo.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_dzjy_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_fund_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_fund_hold.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_gsrl_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_hk_comparison_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_hk_famous.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_hk_fhpx_ths.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_hk_hot_rank_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_hk_sina.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_hold_control_cninfo.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_hold_control_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_hold_num_cninfo.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_hot_rank_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_hot_search_baidu.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_hot_up_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_hsgt_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_industry.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_industry_cninfo.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_industry_pe_cninfo.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_industry_sw.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_info.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_info_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_intraday_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_intraday_sina.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_ipo_summary_cninfo.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_new_cninfo.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_news_cx.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_profile_cninfo.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_profile_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_rank_forecast.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_repurchase_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_share_changes_cninfo.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_share_hold.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_stop.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_summary.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_us_famous.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_us_js.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_us_pink.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_us_sina.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_weibo_nlp.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_xq.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_zh_a_sina.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_zh_a_special.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_zh_a_tick_tx.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_zh_ah_tx.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_zh_b_sina.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_zh_comparison_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_zh_kcb_report.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock/stock_zh_kcb_sina.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_a/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_a/stock_board_concept_name_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_a/stock_individual_fund_flow_rank.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_a/stock_zh_a_spot.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/cons.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_a_below_net_asset_statistics.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_a_high_low.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_a_indicator.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_a_pe_and_pb.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_account_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_all_pb.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_analyst_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_board_concept_ths.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_board_industry_ths.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_buffett_index_lg.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_classify_sina.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_comment_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_concept_futu.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_congestion_lg.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_cyq_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_disclosure_cninfo.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_dxsyl_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_ebs_lg.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_esg_sina.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_fhps_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_fhps_ths.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_fund_flow.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_gddh_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_gdfx_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_gdhs.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_gdzjc_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_gpzy_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_gxl_lg.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_hist_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_hist_tx.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_hk_valuation_baidu.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_hot_xq.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_hsgt_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_hsgt_exchange_rate.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_hsgt_min_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_info.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_inner_trade_xq.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_irm_cninfo.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_jgdy_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_lh_yybpm.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_lhb_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_lhb_sina.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_margin_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_margin_sse.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_margin_szse.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_market_legu.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_pankou_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_qsjy_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_report_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_research_report_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_sns_sseinfo.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_sy_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_technology_ths.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_tfp_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_three_report_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_ttm_lyr.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_value_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_yjbb_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_yjyg_cninfo.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_yjyg_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_yzxdr_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_zdhtmx_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_zf_pg.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_zh_valuation_baidu.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_zh_vote_baidu.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/stock_ztb_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_feature/ths.js +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_fundamental/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_fundamental/stock_basic_info_xq.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_fundamental/stock_finance_hk_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_fundamental/stock_finance_sina.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_fundamental/stock_finance_ths.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_fundamental/stock_finance_us_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_fundamental/stock_gbjg_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_fundamental/stock_hold.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_fundamental/stock_ipo_declare.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_fundamental/stock_kcb_detail_sse.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_fundamental/stock_kcb_sse.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_fundamental/stock_notice.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_fundamental/stock_profit_forecast_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_fundamental/stock_profit_forecast_hk_etnet.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_fundamental/stock_profit_forecast_ths.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_fundamental/stock_recommend.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_fundamental/stock_register_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_fundamental/stock_restricted_em.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_fundamental/stock_zygc.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/stock_fundamental/stock_zyjs_ths.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/tool/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/tool/trade_date_hist.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/utils/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/utils/cons.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/utils/context.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/utils/demjson.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/utils/func.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/utils/multi_decrypt.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/utils/token_process.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare/utils/tqdm.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare.egg-info/dependency_links.txt +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare.egg-info/requires.txt +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/akshare.egg-info/top_level.txt +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/pyproject.toml +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/setup.cfg +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/setup.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/tests/__init__.py +0 -0
- {akshare-1.17.79 → akshare-1.17.80}/tests/test_func.py +0 -0
|
@@ -3186,9 +3186,10 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
|
|
|
3186
3186
|
1.17.77 fix: fix get_dce_daily interface
|
|
3187
3187
|
1.17.78 fix: fix update python 3.14 support
|
|
3188
3188
|
1.17.79 fix: fix futures_contract_info_dce interface
|
|
3189
|
+
1.17.80 fix: fix futures_contract_detail_em interface
|
|
3189
3190
|
"""
|
|
3190
3191
|
|
|
3191
|
-
__version__ = "1.17.
|
|
3192
|
+
__version__ = "1.17.80"
|
|
3192
3193
|
__author__ = "AKFamily"
|
|
3193
3194
|
|
|
3194
3195
|
import sys
|
|
@@ -3210,6 +3211,11 @@ if sys.version_info < (3, 9):
|
|
|
3210
3211
|
|
|
3211
3212
|
del sys
|
|
3212
3213
|
|
|
3214
|
+
"""
|
|
3215
|
+
openctp-合约信息接口
|
|
3216
|
+
"""
|
|
3217
|
+
from akshare.option.option_contract_info_ctp import option_contract_info_ctp
|
|
3218
|
+
|
|
3213
3219
|
"""
|
|
3214
3220
|
中国外汇交易中心暨全国银行间同业拆借中心-基准-外汇市场-外汇掉期曲线-外汇掉漆 C-Swap 定盘曲线
|
|
3215
3221
|
"""
|
|
@@ -4684,7 +4690,7 @@ from akshare.stock.stock_zh_kcb_report import stock_zh_kcb_report_em
|
|
|
4684
4690
|
"""
|
|
4685
4691
|
期货合约详情
|
|
4686
4692
|
"""
|
|
4687
|
-
from akshare.futures.futures_contract_detail import futures_contract_detail
|
|
4693
|
+
from akshare.futures.futures_contract_detail import futures_contract_detail, futures_contract_detail_em
|
|
4688
4694
|
|
|
4689
4695
|
"""
|
|
4690
4696
|
胡润排行榜
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
#!/usr/bin/env python
|
|
2
|
+
# -*- coding:utf-8 -*-
|
|
3
|
+
"""
|
|
4
|
+
Date: 2025/10/30 17:00
|
|
5
|
+
Desc: 查询期货合约当前时刻的详情
|
|
6
|
+
https://finance.sina.com.cn/futures/quotes/V2101.shtml
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from io import StringIO
|
|
10
|
+
|
|
11
|
+
import pandas as pd
|
|
12
|
+
import requests
|
|
13
|
+
from bs4 import BeautifulSoup
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def futures_contract_detail(symbol: str = "AP2101") -> pd.DataFrame:
|
|
17
|
+
"""
|
|
18
|
+
查询期货合约详情
|
|
19
|
+
https://finance.sina.com.cn/futures/quotes/V2101.shtml
|
|
20
|
+
:param symbol: 合约
|
|
21
|
+
:type symbol: str
|
|
22
|
+
:return: 期货合约详情
|
|
23
|
+
:rtype: pandas.DataFrame
|
|
24
|
+
"""
|
|
25
|
+
url = f"https://finance.sina.com.cn/futures/quotes/{symbol}.shtml"
|
|
26
|
+
r = requests.get(url)
|
|
27
|
+
r.encoding = "gb2312"
|
|
28
|
+
temp_df = pd.read_html(StringIO(r.text))[6]
|
|
29
|
+
data_one = temp_df.iloc[:, :2]
|
|
30
|
+
data_one.columns = ["item", "value"]
|
|
31
|
+
data_two = temp_df.iloc[:, 2:4]
|
|
32
|
+
data_two.columns = ["item", "value"]
|
|
33
|
+
data_three = temp_df.iloc[:, 4:]
|
|
34
|
+
data_three.columns = ["item", "value"]
|
|
35
|
+
temp_df = pd.concat(
|
|
36
|
+
objs=[data_one, data_two, data_three], axis=0, ignore_index=True
|
|
37
|
+
)
|
|
38
|
+
return temp_df
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def futures_contract_detail_em(symbol: str = "v2602F") -> pd.DataFrame:
|
|
42
|
+
"""
|
|
43
|
+
查询期货合约详情
|
|
44
|
+
https://quote.eastmoney.com/qihuo/v2602F.html
|
|
45
|
+
:param symbol: 合约
|
|
46
|
+
:type symbol: str
|
|
47
|
+
:return: 期货合约详情
|
|
48
|
+
:rtype: pandas.DataFrame
|
|
49
|
+
"""
|
|
50
|
+
url = f"https://quote.eastmoney.com/qihuo/{symbol}.html"
|
|
51
|
+
r = requests.get(url)
|
|
52
|
+
soup = BeautifulSoup(r.text, features="lxml")
|
|
53
|
+
url_text = \
|
|
54
|
+
soup.find(name="div", attrs={"class": "sidertabbox_tsplit"}).find(name="div", attrs={"class": "onet"}).find(
|
|
55
|
+
"a")[
|
|
56
|
+
'href']
|
|
57
|
+
inner_symbol = url_text.split("#")[-1].strip("futures_")
|
|
58
|
+
url = f"https://futsse-static.eastmoney.com/redis?msgid={inner_symbol}_info"
|
|
59
|
+
r = requests.get(url)
|
|
60
|
+
data_json = r.json()
|
|
61
|
+
temp_df = pd.DataFrame.from_dict(data_json, orient="index")
|
|
62
|
+
column_mapping = {
|
|
63
|
+
'vname': '交易品种',
|
|
64
|
+
'vcode': '交易代码',
|
|
65
|
+
'jydw': '交易单位',
|
|
66
|
+
'bjdw': '报价单位',
|
|
67
|
+
'market': '上市交易所',
|
|
68
|
+
'zxbddw': '最小变动价格',
|
|
69
|
+
'zdtbfd': '跌涨停板幅度',
|
|
70
|
+
'hyjgyf': '合约交割月份',
|
|
71
|
+
'jysj': '交易时间',
|
|
72
|
+
'zhjyr': '最后交易日',
|
|
73
|
+
'zhjgr': '最后交割日',
|
|
74
|
+
'jgpj': '交割品级',
|
|
75
|
+
'zcjybzj': '最初交易保证金',
|
|
76
|
+
'jgfs': '交割方式'
|
|
77
|
+
}
|
|
78
|
+
temp_df.rename(index=column_mapping, inplace=True)
|
|
79
|
+
temp_df.reset_index(drop=False, inplace=True)
|
|
80
|
+
temp_df.columns = ['item', 'value']
|
|
81
|
+
return temp_df
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
if __name__ == "__main__":
|
|
85
|
+
futures_contract_detail_df = futures_contract_detail(symbol="V2101")
|
|
86
|
+
print(futures_contract_detail_df)
|
|
87
|
+
|
|
88
|
+
futures_contract_detail_em_df = futures_contract_detail_em(symbol="v2603F")
|
|
89
|
+
print(futures_contract_detail_em_df)
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
#!/usr/bin/env python
|
|
2
|
+
# -*- coding:utf-8 -*-
|
|
3
|
+
"""
|
|
4
|
+
Date: 2025/10/30 17:40
|
|
5
|
+
Desc: openctp-合约信息接口
|
|
6
|
+
http://openctp.cn/instruments.html
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
import pandas as pd
|
|
10
|
+
import requests
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def option_contract_info_ctp() -> pd.DataFrame:
|
|
14
|
+
"""
|
|
15
|
+
openctp-合约信息接口-期权合约
|
|
16
|
+
http://openctp.cn/instruments.html
|
|
17
|
+
:return: 期权合约信息
|
|
18
|
+
:rtype: pandas.DataFrame
|
|
19
|
+
"""
|
|
20
|
+
url = "http://dict.openctp.cn/instruments?types=option"
|
|
21
|
+
r = requests.get(url)
|
|
22
|
+
data_json = r.json()
|
|
23
|
+
temp_df = pd.DataFrame(data_json['data'])
|
|
24
|
+
|
|
25
|
+
# 字段映射:英文字段名 -> 中文字段名
|
|
26
|
+
column_mapping = {
|
|
27
|
+
'ExchangeID': '交易所ID',
|
|
28
|
+
'InstrumentID': '合约ID',
|
|
29
|
+
'InstrumentName': '合约名称',
|
|
30
|
+
'ProductClass': '商品类别',
|
|
31
|
+
'ProductID': '品种ID',
|
|
32
|
+
'VolumeMultiple': '合约乘数',
|
|
33
|
+
'PriceTick': '最小变动价位',
|
|
34
|
+
'LongMarginRatioByMoney': '做多保证金率',
|
|
35
|
+
'ShortMarginRatioByMoney': '做空保证金率',
|
|
36
|
+
'LongMarginRatioByVolume': '做多保证金/手',
|
|
37
|
+
'ShortMarginRatioByVolume': '做空保证金/手',
|
|
38
|
+
'OpenRatioByMoney': '开仓手续费率',
|
|
39
|
+
'OpenRatioByVolume': '开仓手续费/手',
|
|
40
|
+
'CloseRatioByMoney': '平仓手续费率',
|
|
41
|
+
'CloseRatioByVolume': '平仓手续费/手',
|
|
42
|
+
'CloseTodayRatioByMoney': '平今手续费率',
|
|
43
|
+
'CloseTodayRatioByVolume': '平今手续费/手',
|
|
44
|
+
'DeliveryYear': '交割年份',
|
|
45
|
+
'DeliveryMonth': '交割月份',
|
|
46
|
+
'OpenDate': '上市日期',
|
|
47
|
+
'ExpireDate': '最后交易日',
|
|
48
|
+
'DeliveryDate': '交割日',
|
|
49
|
+
'UnderlyingInstrID': '标的合约ID',
|
|
50
|
+
'UnderlyingMultiple': '标的合约乘数',
|
|
51
|
+
'OptionsType': '期权类型',
|
|
52
|
+
'StrikePrice': '行权价',
|
|
53
|
+
'InstLifePhase': '合约状态'
|
|
54
|
+
}
|
|
55
|
+
# 重命名列为中文
|
|
56
|
+
temp_df = temp_df.rename(columns=column_mapping)
|
|
57
|
+
return temp_df
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
# 使用示例
|
|
61
|
+
if __name__ == "__main__":
|
|
62
|
+
option_contract_info_ctp_df = option_contract_info_ctp()
|
|
63
|
+
print(option_contract_info_ctp_df)
|
|
@@ -210,6 +210,7 @@ akshare/option/cons.py
|
|
|
210
210
|
akshare/option/option_comm_qihuo.py
|
|
211
211
|
akshare/option/option_commodity.py
|
|
212
212
|
akshare/option/option_commodity_sina.py
|
|
213
|
+
akshare/option/option_contract_info_ctp.py
|
|
213
214
|
akshare/option/option_current_sse.py
|
|
214
215
|
akshare/option/option_current_szse.py
|
|
215
216
|
akshare/option/option_czce.py
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env python
|
|
2
|
-
# -*- coding:utf-8 -*-
|
|
3
|
-
"""
|
|
4
|
-
Date: 2024/1/29 17:00
|
|
5
|
-
Desc: 查询期货合约当前时刻的详情
|
|
6
|
-
https://finance.sina.com.cn/futures/quotes/V2101.shtml
|
|
7
|
-
"""
|
|
8
|
-
|
|
9
|
-
from io import StringIO
|
|
10
|
-
|
|
11
|
-
import pandas as pd
|
|
12
|
-
import requests
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
def futures_contract_detail(symbol: str = "AP2101") -> pd.DataFrame:
|
|
16
|
-
"""
|
|
17
|
-
查询期货合约详情
|
|
18
|
-
https://finance.sina.com.cn/futures/quotes/V2101.shtml
|
|
19
|
-
:param symbol: 合约
|
|
20
|
-
:type symbol: str
|
|
21
|
-
:return: 期货合约详情
|
|
22
|
-
:rtype: pandas.DataFrame
|
|
23
|
-
"""
|
|
24
|
-
url = f"https://finance.sina.com.cn/futures/quotes/{symbol}.shtml"
|
|
25
|
-
r = requests.get(url)
|
|
26
|
-
r.encoding = "gb2312"
|
|
27
|
-
temp_df = pd.read_html(StringIO(r.text))[6]
|
|
28
|
-
data_one = temp_df.iloc[:, :2]
|
|
29
|
-
data_one.columns = ["item", "value"]
|
|
30
|
-
data_two = temp_df.iloc[:, 2:4]
|
|
31
|
-
data_two.columns = ["item", "value"]
|
|
32
|
-
data_three = temp_df.iloc[:, 4:]
|
|
33
|
-
data_three.columns = ["item", "value"]
|
|
34
|
-
temp_df = pd.concat(
|
|
35
|
-
objs=[data_one, data_two, data_three], axis=0, ignore_index=True
|
|
36
|
-
)
|
|
37
|
-
return temp_df
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
if __name__ == "__main__":
|
|
41
|
-
futures_contract_detail_df = futures_contract_detail(symbol="IM2402")
|
|
42
|
-
print(futures_contract_detail_df)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{akshare-1.17.79 → akshare-1.17.80}/akshare/futures_derivative/futures_contract_info_cffex.py
RENAMED
|
File without changes
|