akshare 1.15.9__tar.gz → 1.15.10__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.15.9 → akshare-1.15.10}/PKG-INFO +1 -1
- {akshare-1.15.9 → akshare-1.15.10}/akshare/__init__.py +7 -1
- akshare-1.15.10/akshare/cal/rv.py +168 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/index/index_research_sw.py +1 -1
- akshare-1.15.10/akshare/qdii/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare.egg-info/PKG-INFO +1 -1
- {akshare-1.15.9 → akshare-1.15.10}/akshare.egg-info/SOURCES.txt +2 -0
- {akshare-1.15.9 → akshare-1.15.10}/LICENSE +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/README.md +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/air/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/air/air_hebei.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/air/air_zhenqi.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/air/cons.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/air/crypto.js +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/air/outcrypto.js +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/air/sunrise_tad.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/article/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/article/cons.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/article/epu_index.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/article/ff_factor.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/article/fred_md.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/article/risk_rv.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/bank/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/bank/bank_cbirc_2020.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/bank/cons.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/bond/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/bond/bond_cb_sina.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/bond/bond_cb_ths.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/bond/bond_cbond.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/bond/bond_china.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/bond/bond_china_money.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/bond/bond_convert.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/bond/bond_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/bond/bond_info_cm.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/bond/bond_investing.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/bond/bond_issue_cninfo.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/bond/bond_nafmii.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/bond/bond_summary.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/bond/bond_zh_cov.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/bond/bond_zh_sina.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/bond/cons.py +0 -0
- {akshare-1.15.9/akshare/qdii → akshare-1.15.10/akshare/cal}/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/cost/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/cost/cost_living.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/crypto/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/crypto/crypto_bitcoin_cme.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/crypto/crypto_hist_investing.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/crypto/crypto_hold.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/currency/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/currency/currency.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/currency/currency_china_bank_sina.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/currency/currency_safe.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/data/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/data/cninfo.js +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/data/crypto_info.zip +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/data/ths.js +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/datasets.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/economic/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/economic/cons.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/economic/macro_australia.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/economic/macro_bank.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/economic/macro_canada.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/economic/macro_china.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/economic/macro_china_hk.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/economic/macro_china_nbs.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/economic/macro_constitute.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/economic/macro_euro.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/economic/macro_finance_ths.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/economic/macro_germany.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/economic/macro_info_ws.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/economic/macro_japan.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/economic/macro_other.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/economic/macro_swiss.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/economic/macro_uk.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/economic/macro_usa.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/economic/marco_cnbs.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/energy/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/energy/energy_carbon.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/energy/energy_oil_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/event/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/event/cons.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/event/migration.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/exceptions.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/file_fold/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/file_fold/calendar.json +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/fortune/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/fortune/fortune_500.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/fortune/fortune_bloomberg.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/fortune/fortune_forbes_500.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/fortune/fortune_hurun.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/fortune/fortune_xincaifu_500.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/fund/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/fund/fund_amac.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/fund/fund_announcement.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/fund/fund_aum_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/fund/fund_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/fund/fund_etf_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/fund/fund_etf_sina.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/fund/fund_etf_ths.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/fund/fund_fhsp_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/fund/fund_init_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/fund/fund_lof_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/fund/fund_manager.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/fund/fund_portfolio_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/fund/fund_position_lg.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/fund/fund_rank_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/fund/fund_rating.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/fund/fund_report_cninfo.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/fund/fund_scale_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/fund/fund_scale_sina.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/fund/fund_xq.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures/cons.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures/cot.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures/futures_basis.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures/futures_comex_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures/futures_comm_ctp.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures/futures_comm_qihuo.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures/futures_contract_detail.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures/futures_daily_bar.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures/futures_foreign.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures/futures_hf_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures/futures_hq_sina.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures/futures_index_ccidx.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures/futures_international.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures/futures_inventory_99.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures/futures_inventory_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures/futures_news_baidu.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures/futures_news_shmet.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures/futures_roll_yield.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures/futures_rule.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures/futures_settlement_price_sgx.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures/futures_spot_stock_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures/futures_stock_js.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures/futures_to_spot.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures/futures_warehouse_receipt.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures/futures_zh_sina.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures/inventory_data.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures/receipt.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures/requests_fun.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures/symbol_var.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures_derivative/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures_derivative/cons.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures_derivative/futures_contract_info_cffex.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures_derivative/futures_contract_info_czce.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures_derivative/futures_contract_info_dce.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures_derivative/futures_contract_info_gfex.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures_derivative/futures_contract_info_ine.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures_derivative/futures_contract_info_shfe.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures_derivative/futures_cot_sina.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures_derivative/futures_hog.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures_derivative/futures_index_sina.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/futures_derivative/futures_spot_sys.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/fx/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/fx/cons.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/fx/currency_investing.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/fx/fx_quote.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/fx/fx_quote_baidu.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/hf/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/hf/hf_sp500.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/index/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/index/cons.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/index/index_cflp.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/index/index_cni.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/index/index_cons.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/index/index_cx.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/index/index_drewry.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/index/index_eri.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/index/index_fear_greed_funddb.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/index/index_hog.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/index/index_investing.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/index/index_kq_fz.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/index/index_kq_ss.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/index/index_option_qvix.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/index/index_research_fund_sw.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/index/index_spot.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/index/index_stock_hk.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/index/index_stock_us_sina.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/index/index_stock_zh.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/index/index_stock_zh_csindex.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/index/index_sugar.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/index/index_sw.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/index/index_yw.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/index/index_zh_a_scope.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/index/index_zh_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/interest_rate/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/interest_rate/interbank_rate_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/movie/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/movie/artist_yien.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/movie/jm.js +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/movie/movie_yien.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/movie/video_yien.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/news/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/news/news_baidu.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/news/news_cctv.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/news/news_stock.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/nlp/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/nlp/nlp_interface.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/option/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/option/cons.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/option/option_comm_qihuo.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/option/option_commodity.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/option/option_commodity_sina.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/option/option_czce.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/option/option_daily_stats_sse_szse.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/option/option_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/option/option_finance.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/option/option_finance_sina.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/option/option_lhb_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/option/option_premium_analysis_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/option/option_risk_analysis_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/option/option_risk_indicator_sse.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/option/option_value_analysis_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/other/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/other/other_car_cpca.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/other/other_car_gasgoo.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/pro/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/pro/client.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/pro/cons.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/pro/data_pro.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/qdii/qdii_jsl.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/qhkc/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/qhkc/qhkc_api.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/qhkc_web/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/qhkc_web/qhkc_fund.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/qhkc_web/qhkc_index.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/qhkc_web/qhkc_tool.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/rate/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/rate/repo_rate.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/reits/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/reits/reits_basic.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/request.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/sport/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/sport/sport_olympic.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/spot/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/spot/spot_hog_soozhu.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/spot/spot_price_qh.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/spot/spot_sge.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/cons.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_allotment_cninfo.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_ask_bid_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_board_concept_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_board_industry_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_cg_equity_mortgage.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_cg_guarantee.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_cg_lawsuit.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_dividend_cninfo.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_dzjy_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_fund_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_fund_hold.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_gsrl_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_hk_famous.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_hk_fhpx_ths.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_hk_hot_rank_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_hk_sina.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_hold_control_cninfo.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_hold_control_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_hold_num_cninfo.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_hot_rank_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_hot_search_baidu.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_hot_up_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_industry.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_industry_cninfo.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_industry_pe_cninfo.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_industry_sw.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_info.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_info_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_intraday_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_intraday_sina.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_ipo_summary_cninfo.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_new_cninfo.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_news_cx.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_profile_cninfo.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_rank_forecast.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_repurchase_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_share_changes_cninfo.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_share_hold.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_stop.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_summary.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_us_famous.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_us_js.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_us_pink.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_us_sina.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_weibo_nlp.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_xq.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_zh_a_sina.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_zh_a_special.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_zh_a_tick_tx.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_zh_ah_tx.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_zh_b_sina.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_zh_kcb_report.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock/stock_zh_kcb_sina.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/cons.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_a_below_net_asset_statistics.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_a_high_low.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_a_indicator.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_a_pe_and_pb.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_account_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_all_pb.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_analyst_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_board_industry_ths.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_buffett_index_lg.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_classify_sina.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_comment_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_concept_futu.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_congestion_lg.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_cyq_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_disclosure_cninfo.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_dxsyl_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_ebs_lg.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_esg_sina.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_fhps_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_fhps_ths.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_fund_flow.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_gddh_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_gdfx_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_gdhs.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_gdzjc_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_gpzy_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_gxl_lg.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_hist_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_hist_tx.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_hk_valuation_baidu.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_hot_xq.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_hsgt_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_hsgt_exchange_rate.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_hsgt_min_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_info.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_inner_trade_xq.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_irm_cninfo.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_jgdy_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_lh_yybpm.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_lhb_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_lhb_sina.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_margin_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_margin_sse.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_margin_szse.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_market_legu.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_pankou_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_qsjy_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_report_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_research_report_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_sns_sseinfo.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_sy_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_technology_ths.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_tfp_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_three_report_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_ttm_lyr.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_wencai.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_yjbb_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_yjyg_cninfo.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_yjyg_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_yzxdr_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_zdhtmx_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_zf_pg.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_zh_valuation_baidu.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_zh_vote_baidu.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/stock_ztb_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_feature/ths.js +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_fundamental/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_fundamental/stock_finance.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_fundamental/stock_finance_hk.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_fundamental/stock_finance_ths.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_fundamental/stock_hold.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_fundamental/stock_ipo_declare.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_fundamental/stock_kcb_detail_sse.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_fundamental/stock_kcb_sse.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_fundamental/stock_mda_ym.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_fundamental/stock_notice.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_fundamental/stock_profit_forecast_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_fundamental/stock_profit_forecast_hk_etnet.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_fundamental/stock_profit_forecast_ths.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_fundamental/stock_recommend.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_fundamental/stock_register_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_fundamental/stock_restricted_em.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_fundamental/stock_zygc.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/stock_fundamental/stock_zyjs_ths.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/tool/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/tool/trade_date_hist.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/utils/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/utils/cons.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/utils/context.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/utils/demjson.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/utils/func.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/utils/token_process.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare/utils/tqdm.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare.egg-info/dependency_links.txt +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare.egg-info/requires.txt +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/akshare.egg-info/top_level.txt +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/pyproject.toml +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/setup.cfg +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/setup.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/tests/__init__.py +0 -0
- {akshare-1.15.9 → akshare-1.15.10}/tests/test_func.py +0 -0
|
@@ -2919,9 +2919,10 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
|
|
|
2919
2919
|
1.15.7 fix: fix index_hist_sw interface
|
|
2920
2920
|
1.15.8 fix: fix fund_individual_basic_info_xq interface
|
|
2921
2921
|
1.15.9 fix: fix index_analysis_weekly_sw interface
|
|
2922
|
+
1.15.10 add: add volatility_yz_rv indicator
|
|
2922
2923
|
"""
|
|
2923
2924
|
|
|
2924
|
-
__version__ = "1.15.
|
|
2925
|
+
__version__ = "1.15.10"
|
|
2925
2926
|
__author__ = "AKFamily"
|
|
2926
2927
|
|
|
2927
2928
|
import sys
|
|
@@ -2943,6 +2944,11 @@ if sys.version_info < (3, 9):
|
|
|
2943
2944
|
|
|
2944
2945
|
del sys
|
|
2945
2946
|
|
|
2947
|
+
"""
|
|
2948
|
+
已实现波动率
|
|
2949
|
+
"""
|
|
2950
|
+
from akshare.cal.rv import volatility_yz_rv, rv_from_futures_zh_minute_sina, rv_from_stock_zh_a_hist_min_em
|
|
2951
|
+
|
|
2946
2952
|
"""
|
|
2947
2953
|
QDII
|
|
2948
2954
|
"""
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Yang-Zhang-s-Realized-Volatility-Automated-Estimation-in-Python
|
|
3
|
+
https://github.com/hugogobato/Yang-Zhang-s-Realized-Volatility-Automated-Estimation-in-Python
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import warnings
|
|
7
|
+
|
|
8
|
+
import numpy as np
|
|
9
|
+
import pandas as pd
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def rv_from_stock_zh_a_hist_min_em(
|
|
13
|
+
symbol="000001",
|
|
14
|
+
start_date="2021-10-20 09:30:00",
|
|
15
|
+
end_date="2024-11-01 15:00:00",
|
|
16
|
+
period="1",
|
|
17
|
+
adjust="hfq",
|
|
18
|
+
) -> pd.DataFrame:
|
|
19
|
+
"""
|
|
20
|
+
从东方财富网获取股票的分钟级历史行情数据,并进行数据清洗和格式化为计算 yz 已实现波动率所需的数据格式
|
|
21
|
+
https://quote.eastmoney.com/concept/sh603777.html?from=classic
|
|
22
|
+
:param symbol: 股票代码,如"000001"
|
|
23
|
+
:type symbol: str
|
|
24
|
+
:param start_date: 开始日期时间,格式"YYYY-MM-DD HH:MM:SS"
|
|
25
|
+
:type start_date: str
|
|
26
|
+
:param end_date: 结束日期时间,格式"YYYY-MM-DD HH:MM:SS"
|
|
27
|
+
:type end_date: str
|
|
28
|
+
:param period: 时间周期,可选{'1','5','15','30','60'}分钟
|
|
29
|
+
:type period: str
|
|
30
|
+
:param adjust: 复权方式,可选{'','qfq'(前复权),'hfq'(后复权)}
|
|
31
|
+
:type adjust: str
|
|
32
|
+
:return: 整理后的分钟行情数据,包含Date(索引),Open,High,Low,Close列
|
|
33
|
+
:rtype: pandas.DataFrame
|
|
34
|
+
"""
|
|
35
|
+
from akshare.stock_feature.stock_hist_em import stock_zh_a_hist_min_em
|
|
36
|
+
|
|
37
|
+
temp_df = stock_zh_a_hist_min_em(
|
|
38
|
+
symbol=symbol,
|
|
39
|
+
start_date=start_date,
|
|
40
|
+
end_date=end_date,
|
|
41
|
+
period=period,
|
|
42
|
+
adjust=adjust,
|
|
43
|
+
)
|
|
44
|
+
temp_df.rename(
|
|
45
|
+
columns={
|
|
46
|
+
"时间": "Date",
|
|
47
|
+
"开盘": "Open",
|
|
48
|
+
"最高": "High",
|
|
49
|
+
"最低": "Low",
|
|
50
|
+
"收盘": "Close",
|
|
51
|
+
},
|
|
52
|
+
inplace=True,
|
|
53
|
+
)
|
|
54
|
+
temp_df = temp_df[temp_df["Open"] != 0]
|
|
55
|
+
temp_df["Date"] = pd.to_datetime(temp_df["Date"])
|
|
56
|
+
temp_df.set_index(keys="Date", inplace=True)
|
|
57
|
+
return temp_df
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
def rv_from_futures_zh_minute_sina(
|
|
61
|
+
symbol: str = "IF2008", period: str = "5"
|
|
62
|
+
) -> pd.DataFrame:
|
|
63
|
+
"""
|
|
64
|
+
从新浪财经获取期货的分钟级历史行情数据,并进行数据清洗和格式化
|
|
65
|
+
https://vip.stock.finance.sina.com.cn/quotes_service/view/qihuohangqing.html#titlePos_3
|
|
66
|
+
:param symbol: 期货合约代码,如"IF2008"代表沪深300期货2020年8月合约
|
|
67
|
+
:type symbol: str
|
|
68
|
+
:param period: 时间周期,可选{'1','5','15','30','60'}分钟
|
|
69
|
+
:type period: str
|
|
70
|
+
:return: 整理后的分钟行情数据,包含Date(索引),Open,High,Low,Close列
|
|
71
|
+
:rtype: pandas.DataFrame
|
|
72
|
+
"""
|
|
73
|
+
from akshare.futures.futures_zh_sina import futures_zh_minute_sina
|
|
74
|
+
|
|
75
|
+
temp_df = futures_zh_minute_sina(symbol=symbol, period=period)
|
|
76
|
+
temp_df.rename(
|
|
77
|
+
columns={
|
|
78
|
+
"datetime": "Date",
|
|
79
|
+
"open": "Open",
|
|
80
|
+
"high": "High",
|
|
81
|
+
"low": "Low",
|
|
82
|
+
"close": "Close",
|
|
83
|
+
},
|
|
84
|
+
inplace=True,
|
|
85
|
+
)
|
|
86
|
+
temp_df["Date"] = pd.to_datetime(temp_df["Date"])
|
|
87
|
+
temp_df.set_index(keys="Date", inplace=True)
|
|
88
|
+
return temp_df
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
def volatility_yz_rv(data: pd.DataFrame) -> pd.DataFrame:
|
|
92
|
+
"""
|
|
93
|
+
波动率-已实现波动率-Yang-Zhang 已实现波动率(Yang-Zhang Realized Volatility)
|
|
94
|
+
https://github.com/hugogobato/Yang-Zhang-s-Realized-Volatility-Automated-Estimation-in-Python
|
|
95
|
+
基于以下公式计算:
|
|
96
|
+
RV^2 = Vo + k*Vc + (1-k)*Vrs
|
|
97
|
+
其中:
|
|
98
|
+
- Vo: 隔夜波动率, Vo = 1/(n-1)*sum(Oi-Obar)^2
|
|
99
|
+
Oi为标准化开盘价, Obar为标准化开盘价均值
|
|
100
|
+
- Vc: 收盘波动率, Vc = 1/(n-1)*sum(ci-Cbar)^2
|
|
101
|
+
ci为标准化收盘价, Cbar为标准化收盘价均值
|
|
102
|
+
- k: 权重系数, k = 0.34/(1.34+(n+1)/(n-1))
|
|
103
|
+
n为样本数量
|
|
104
|
+
- Vrs: Rogers-Satchell波动率代理, Vrs = ui(ui-ci)+di(di-ci)
|
|
105
|
+
ui = ln(Hi/Oi), ci = ln(Ci/Oi), di = ln(Li/Oi), oi = ln(Oi/Ci-1)
|
|
106
|
+
Hi/Li/Ci/Oi分别为最高价/最低价/收盘价/开盘价
|
|
107
|
+
|
|
108
|
+
:param data: 包含 OHLC(开高低收) 价格的 pandas.DataFrame
|
|
109
|
+
:type data: pandas.DataFrame
|
|
110
|
+
:return: 包含 Yang-Zhang 实现波动率的 pandas.DataFrame
|
|
111
|
+
:rtype: pandas.DataFrame
|
|
112
|
+
|
|
113
|
+
要求输入数据包含以下列:
|
|
114
|
+
- Open: 开盘价
|
|
115
|
+
- High: 最高价
|
|
116
|
+
- Low: 最低价
|
|
117
|
+
- Close: 收盘价
|
|
118
|
+
# yang_zhang_rv formula is give as:
|
|
119
|
+
# RV^2 = Vo + k*Vc + (1-k)*Vrs
|
|
120
|
+
# where Vo = 1/(n-1)*sum(Oi-Obar)^2
|
|
121
|
+
# with oi = normalized opening price at time t and Obar = mean of normalized opening prices
|
|
122
|
+
# Vc = = 1/(n-1)*sum(ci-Cbar)^2
|
|
123
|
+
# with ci = normalized close price at time t and Cbar = mean of normalized close prices
|
|
124
|
+
# k = 0.34/(1.34+(n+1)/(n-1))
|
|
125
|
+
# with n = total number of days or time periods considered
|
|
126
|
+
# Vrs (Rogers & Satchell RV proxy) = ui(ui-ci)+di(di-ci)
|
|
127
|
+
# with ui = ln(Hi/Oi), ci = ln(Ci/Oi), di=(Li/Oi), oi = ln(Oi/Ci-1)
|
|
128
|
+
# where Hi = high price at time t and Li = low price at time t
|
|
129
|
+
""" ""
|
|
130
|
+
warnings.filterwarnings("ignore")
|
|
131
|
+
|
|
132
|
+
data["ui"] = np.log(np.divide(data["High"][1:], data["Open"][1:]))
|
|
133
|
+
data["ci"] = np.log(np.divide(data["Close"][1:], data["Open"][1:]))
|
|
134
|
+
data["di"] = np.log(np.divide(data["Low"][1:], data["Open"][1:]))
|
|
135
|
+
data["oi"] = np.log(np.divide(data["Open"][1:], data["Close"][: len(data) - 1]))
|
|
136
|
+
data = data[1:]
|
|
137
|
+
data["RS"] = data["ui"] * (data["ui"] - data["ci"]) + data["di"] * (
|
|
138
|
+
data["di"] - data["ci"]
|
|
139
|
+
)
|
|
140
|
+
rs_var = data["RS"].groupby(pd.Grouper(freq="1D")).mean().dropna()
|
|
141
|
+
vc_and_vo = data[["oi", "ci"]].groupby(pd.Grouper(freq="1D")).var().dropna()
|
|
142
|
+
n = int(len(data) / len(rs_var))
|
|
143
|
+
k = 0.34 / (1.34 + (n + 1) / (n - 1))
|
|
144
|
+
yang_zhang_rv = np.sqrt((1 - k) * rs_var + vc_and_vo["oi"] + vc_and_vo["ci"] * k)
|
|
145
|
+
yang_zhang_rv_df = pd.DataFrame(yang_zhang_rv)
|
|
146
|
+
yang_zhang_rv_df.rename(columns={0: "yz_rv"}, inplace=True)
|
|
147
|
+
yang_zhang_rv_df.reset_index(inplace=True)
|
|
148
|
+
yang_zhang_rv_df.columns = ["date", "rv"]
|
|
149
|
+
yang_zhang_rv_df["date"] = pd.to_datetime(
|
|
150
|
+
yang_zhang_rv_df["date"], errors="coerce"
|
|
151
|
+
).dt.date
|
|
152
|
+
return yang_zhang_rv_df
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
if __name__ == "__main__":
|
|
156
|
+
futures_df = rv_from_futures_zh_minute_sina(symbol="IF2008", period="1")
|
|
157
|
+
volatility_yz_rv_df = volatility_yz_rv(data=futures_df)
|
|
158
|
+
print(volatility_yz_rv_df)
|
|
159
|
+
|
|
160
|
+
stock_df = rv_from_stock_zh_a_hist_min_em(
|
|
161
|
+
symbol="000001",
|
|
162
|
+
start_date="2021-10-20 09:30:00",
|
|
163
|
+
end_date="2024-11-01 15:00:00",
|
|
164
|
+
period="5",
|
|
165
|
+
adjust="",
|
|
166
|
+
)
|
|
167
|
+
volatility_yz_rv_df = volatility_yz_rv(data=stock_df)
|
|
168
|
+
print(volatility_yz_rv_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
|
{akshare-1.15.9 → akshare-1.15.10}/akshare/futures_derivative/futures_contract_info_cffex.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|