akshare 1.15.72__tar.gz → 1.15.74__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.

Files changed (391) hide show
  1. {akshare-1.15.72 → akshare-1.15.74}/PKG-INFO +1 -1
  2. {akshare-1.15.72 → akshare-1.15.74}/akshare/__init__.py +3 -1
  3. {akshare-1.15.72 → akshare-1.15.74}/akshare/economic/macro_australia.py +74 -62
  4. {akshare-1.15.72 → akshare-1.15.74}/akshare/index/index_option_qvix.py +78 -72
  5. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_dzjy_em.py +1 -1
  6. {akshare-1.15.72 → akshare-1.15.74}/akshare.egg-info/PKG-INFO +1 -1
  7. {akshare-1.15.72 → akshare-1.15.74}/LICENSE +0 -0
  8. {akshare-1.15.72 → akshare-1.15.74}/README.md +0 -0
  9. {akshare-1.15.72 → akshare-1.15.74}/akshare/air/__init__.py +0 -0
  10. {akshare-1.15.72 → akshare-1.15.74}/akshare/air/air_hebei.py +0 -0
  11. {akshare-1.15.72 → akshare-1.15.74}/akshare/air/air_zhenqi.py +0 -0
  12. {akshare-1.15.72 → akshare-1.15.74}/akshare/air/cons.py +0 -0
  13. {akshare-1.15.72 → akshare-1.15.74}/akshare/air/crypto.js +0 -0
  14. {akshare-1.15.72 → akshare-1.15.74}/akshare/air/outcrypto.js +0 -0
  15. {akshare-1.15.72 → akshare-1.15.74}/akshare/air/sunrise_tad.py +0 -0
  16. {akshare-1.15.72 → akshare-1.15.74}/akshare/article/__init__.py +0 -0
  17. {akshare-1.15.72 → akshare-1.15.74}/akshare/article/cons.py +0 -0
  18. {akshare-1.15.72 → akshare-1.15.74}/akshare/article/epu_index.py +0 -0
  19. {akshare-1.15.72 → akshare-1.15.74}/akshare/article/ff_factor.py +0 -0
  20. {akshare-1.15.72 → akshare-1.15.74}/akshare/article/fred_md.py +0 -0
  21. {akshare-1.15.72 → akshare-1.15.74}/akshare/article/risk_rv.py +0 -0
  22. {akshare-1.15.72 → akshare-1.15.74}/akshare/bank/__init__.py +0 -0
  23. {akshare-1.15.72 → akshare-1.15.74}/akshare/bank/bank_cbirc_2020.py +0 -0
  24. {akshare-1.15.72 → akshare-1.15.74}/akshare/bank/cons.py +0 -0
  25. {akshare-1.15.72 → akshare-1.15.74}/akshare/bond/__init__.py +0 -0
  26. {akshare-1.15.72 → akshare-1.15.74}/akshare/bond/bond_cb_sina.py +0 -0
  27. {akshare-1.15.72 → akshare-1.15.74}/akshare/bond/bond_cb_ths.py +0 -0
  28. {akshare-1.15.72 → akshare-1.15.74}/akshare/bond/bond_cbond.py +0 -0
  29. {akshare-1.15.72 → akshare-1.15.74}/akshare/bond/bond_china.py +0 -0
  30. {akshare-1.15.72 → akshare-1.15.74}/akshare/bond/bond_china_money.py +0 -0
  31. {akshare-1.15.72 → akshare-1.15.74}/akshare/bond/bond_convert.py +0 -0
  32. {akshare-1.15.72 → akshare-1.15.74}/akshare/bond/bond_em.py +0 -0
  33. {akshare-1.15.72 → akshare-1.15.74}/akshare/bond/bond_info_cm.py +0 -0
  34. {akshare-1.15.72 → akshare-1.15.74}/akshare/bond/bond_issue_cninfo.py +0 -0
  35. {akshare-1.15.72 → akshare-1.15.74}/akshare/bond/bond_nafmii.py +0 -0
  36. {akshare-1.15.72 → akshare-1.15.74}/akshare/bond/bond_summary.py +0 -0
  37. {akshare-1.15.72 → akshare-1.15.74}/akshare/bond/bond_zh_cov.py +0 -0
  38. {akshare-1.15.72 → akshare-1.15.74}/akshare/bond/bond_zh_sina.py +0 -0
  39. {akshare-1.15.72 → akshare-1.15.74}/akshare/bond/cons.py +0 -0
  40. {akshare-1.15.72 → akshare-1.15.74}/akshare/cal/__init__.py +0 -0
  41. {akshare-1.15.72 → akshare-1.15.74}/akshare/cal/rv.py +0 -0
  42. {akshare-1.15.72 → akshare-1.15.74}/akshare/cost/__init__.py +0 -0
  43. {akshare-1.15.72 → akshare-1.15.74}/akshare/cost/cost_living.py +0 -0
  44. {akshare-1.15.72 → akshare-1.15.74}/akshare/crypto/__init__.py +0 -0
  45. {akshare-1.15.72 → akshare-1.15.74}/akshare/crypto/crypto_bitcoin_cme.py +0 -0
  46. {akshare-1.15.72 → akshare-1.15.74}/akshare/crypto/crypto_hold.py +0 -0
  47. {akshare-1.15.72 → akshare-1.15.74}/akshare/currency/__init__.py +0 -0
  48. {akshare-1.15.72 → akshare-1.15.74}/akshare/currency/currency.py +0 -0
  49. {akshare-1.15.72 → akshare-1.15.74}/akshare/currency/currency_china_bank_sina.py +0 -0
  50. {akshare-1.15.72 → akshare-1.15.74}/akshare/currency/currency_safe.py +0 -0
  51. {akshare-1.15.72 → akshare-1.15.74}/akshare/data/__init__.py +0 -0
  52. {akshare-1.15.72 → akshare-1.15.74}/akshare/data/cninfo.js +0 -0
  53. {akshare-1.15.72 → akshare-1.15.74}/akshare/data/crypto_info.zip +0 -0
  54. {akshare-1.15.72 → akshare-1.15.74}/akshare/data/ths.js +0 -0
  55. {akshare-1.15.72 → akshare-1.15.74}/akshare/datasets.py +0 -0
  56. {akshare-1.15.72 → akshare-1.15.74}/akshare/economic/__init__.py +0 -0
  57. {akshare-1.15.72 → akshare-1.15.74}/akshare/economic/cons.py +0 -0
  58. {akshare-1.15.72 → akshare-1.15.74}/akshare/economic/macro_bank.py +0 -0
  59. {akshare-1.15.72 → akshare-1.15.74}/akshare/economic/macro_canada.py +0 -0
  60. {akshare-1.15.72 → akshare-1.15.74}/akshare/economic/macro_china.py +0 -0
  61. {akshare-1.15.72 → akshare-1.15.74}/akshare/economic/macro_china_hk.py +0 -0
  62. {akshare-1.15.72 → akshare-1.15.74}/akshare/economic/macro_china_nbs.py +0 -0
  63. {akshare-1.15.72 → akshare-1.15.74}/akshare/economic/macro_constitute.py +0 -0
  64. {akshare-1.15.72 → akshare-1.15.74}/akshare/economic/macro_euro.py +0 -0
  65. {akshare-1.15.72 → akshare-1.15.74}/akshare/economic/macro_finance_ths.py +0 -0
  66. {akshare-1.15.72 → akshare-1.15.74}/akshare/economic/macro_germany.py +0 -0
  67. {akshare-1.15.72 → akshare-1.15.74}/akshare/economic/macro_info_ws.py +0 -0
  68. {akshare-1.15.72 → akshare-1.15.74}/akshare/economic/macro_japan.py +0 -0
  69. {akshare-1.15.72 → akshare-1.15.74}/akshare/economic/macro_other.py +0 -0
  70. {akshare-1.15.72 → akshare-1.15.74}/akshare/economic/macro_swiss.py +0 -0
  71. {akshare-1.15.72 → akshare-1.15.74}/akshare/economic/macro_uk.py +0 -0
  72. {akshare-1.15.72 → akshare-1.15.74}/akshare/economic/macro_usa.py +0 -0
  73. {akshare-1.15.72 → akshare-1.15.74}/akshare/economic/marco_cnbs.py +0 -0
  74. {akshare-1.15.72 → akshare-1.15.74}/akshare/energy/__init__.py +0 -0
  75. {akshare-1.15.72 → akshare-1.15.74}/akshare/energy/energy_carbon.py +0 -0
  76. {akshare-1.15.72 → akshare-1.15.74}/akshare/energy/energy_oil_em.py +0 -0
  77. {akshare-1.15.72 → akshare-1.15.74}/akshare/event/__init__.py +0 -0
  78. {akshare-1.15.72 → akshare-1.15.74}/akshare/event/cons.py +0 -0
  79. {akshare-1.15.72 → akshare-1.15.74}/akshare/event/migration.py +0 -0
  80. {akshare-1.15.72 → akshare-1.15.74}/akshare/exceptions.py +0 -0
  81. {akshare-1.15.72 → akshare-1.15.74}/akshare/file_fold/__init__.py +0 -0
  82. {akshare-1.15.72 → akshare-1.15.74}/akshare/file_fold/calendar.json +0 -0
  83. {akshare-1.15.72 → akshare-1.15.74}/akshare/fortune/__init__.py +0 -0
  84. {akshare-1.15.72 → akshare-1.15.74}/akshare/fortune/fortune_500.py +0 -0
  85. {akshare-1.15.72 → akshare-1.15.74}/akshare/fortune/fortune_bloomberg.py +0 -0
  86. {akshare-1.15.72 → akshare-1.15.74}/akshare/fortune/fortune_forbes_500.py +0 -0
  87. {akshare-1.15.72 → akshare-1.15.74}/akshare/fortune/fortune_hurun.py +0 -0
  88. {akshare-1.15.72 → akshare-1.15.74}/akshare/fortune/fortune_xincaifu_500.py +0 -0
  89. {akshare-1.15.72 → akshare-1.15.74}/akshare/fund/__init__.py +0 -0
  90. {akshare-1.15.72 → akshare-1.15.74}/akshare/fund/fund_amac.py +0 -0
  91. {akshare-1.15.72 → akshare-1.15.74}/akshare/fund/fund_announcement.py +0 -0
  92. {akshare-1.15.72 → akshare-1.15.74}/akshare/fund/fund_aum_em.py +0 -0
  93. {akshare-1.15.72 → akshare-1.15.74}/akshare/fund/fund_em.py +0 -0
  94. {akshare-1.15.72 → akshare-1.15.74}/akshare/fund/fund_etf_em.py +0 -0
  95. {akshare-1.15.72 → akshare-1.15.74}/akshare/fund/fund_etf_sina.py +0 -0
  96. {akshare-1.15.72 → akshare-1.15.74}/akshare/fund/fund_etf_ths.py +0 -0
  97. {akshare-1.15.72 → akshare-1.15.74}/akshare/fund/fund_fee_em.py +0 -0
  98. {akshare-1.15.72 → akshare-1.15.74}/akshare/fund/fund_fhsp_em.py +0 -0
  99. {akshare-1.15.72 → akshare-1.15.74}/akshare/fund/fund_init_em.py +0 -0
  100. {akshare-1.15.72 → akshare-1.15.74}/akshare/fund/fund_lof_em.py +0 -0
  101. {akshare-1.15.72 → akshare-1.15.74}/akshare/fund/fund_manager.py +0 -0
  102. {akshare-1.15.72 → akshare-1.15.74}/akshare/fund/fund_portfolio_em.py +0 -0
  103. {akshare-1.15.72 → akshare-1.15.74}/akshare/fund/fund_position_lg.py +0 -0
  104. {akshare-1.15.72 → akshare-1.15.74}/akshare/fund/fund_rank_em.py +0 -0
  105. {akshare-1.15.72 → akshare-1.15.74}/akshare/fund/fund_rating.py +0 -0
  106. {akshare-1.15.72 → akshare-1.15.74}/akshare/fund/fund_report_cninfo.py +0 -0
  107. {akshare-1.15.72 → akshare-1.15.74}/akshare/fund/fund_scale_em.py +0 -0
  108. {akshare-1.15.72 → akshare-1.15.74}/akshare/fund/fund_scale_sina.py +0 -0
  109. {akshare-1.15.72 → akshare-1.15.74}/akshare/fund/fund_xq.py +0 -0
  110. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures/__init__.py +0 -0
  111. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures/cons.py +0 -0
  112. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures/cot.py +0 -0
  113. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures/futures_basis.py +0 -0
  114. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures/futures_comex_em.py +0 -0
  115. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures/futures_comm_ctp.py +0 -0
  116. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures/futures_comm_qihuo.py +0 -0
  117. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures/futures_contract_detail.py +0 -0
  118. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures/futures_daily_bar.py +0 -0
  119. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures/futures_foreign.py +0 -0
  120. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures/futures_hf_em.py +0 -0
  121. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures/futures_hq_sina.py +0 -0
  122. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures/futures_index_ccidx.py +0 -0
  123. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures/futures_inventory_99.py +0 -0
  124. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures/futures_inventory_em.py +0 -0
  125. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures/futures_news_shmet.py +0 -0
  126. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures/futures_roll_yield.py +0 -0
  127. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures/futures_rule.py +0 -0
  128. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures/futures_settlement_price_sgx.py +0 -0
  129. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures/futures_spot_stock_em.py +0 -0
  130. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures/futures_stock_js.py +0 -0
  131. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures/futures_to_spot.py +0 -0
  132. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures/futures_warehouse_receipt.py +0 -0
  133. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures/futures_zh_sina.py +0 -0
  134. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures/receipt.py +0 -0
  135. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures/requests_fun.py +0 -0
  136. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures/symbol_var.py +0 -0
  137. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures_derivative/__init__.py +0 -0
  138. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures_derivative/cons.py +0 -0
  139. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures_derivative/futures_contract_info_cffex.py +0 -0
  140. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures_derivative/futures_contract_info_czce.py +0 -0
  141. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures_derivative/futures_contract_info_dce.py +0 -0
  142. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures_derivative/futures_contract_info_gfex.py +0 -0
  143. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures_derivative/futures_contract_info_ine.py +0 -0
  144. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures_derivative/futures_contract_info_shfe.py +0 -0
  145. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures_derivative/futures_cot_sina.py +0 -0
  146. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures_derivative/futures_hog.py +0 -0
  147. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures_derivative/futures_index_sina.py +0 -0
  148. {akshare-1.15.72 → akshare-1.15.74}/akshare/futures_derivative/futures_spot_sys.py +0 -0
  149. {akshare-1.15.72 → akshare-1.15.74}/akshare/fx/__init__.py +0 -0
  150. {akshare-1.15.72 → akshare-1.15.74}/akshare/fx/cons.py +0 -0
  151. {akshare-1.15.72 → akshare-1.15.74}/akshare/fx/currency_investing.py +0 -0
  152. {akshare-1.15.72 → akshare-1.15.74}/akshare/fx/fx_quote.py +0 -0
  153. {akshare-1.15.72 → akshare-1.15.74}/akshare/fx/fx_quote_baidu.py +0 -0
  154. {akshare-1.15.72 → akshare-1.15.74}/akshare/hf/__init__.py +0 -0
  155. {akshare-1.15.72 → akshare-1.15.74}/akshare/hf/hf_sp500.py +0 -0
  156. {akshare-1.15.72 → akshare-1.15.74}/akshare/index/__init__.py +0 -0
  157. {akshare-1.15.72 → akshare-1.15.74}/akshare/index/cons.py +0 -0
  158. {akshare-1.15.72 → akshare-1.15.74}/akshare/index/index_cflp.py +0 -0
  159. {akshare-1.15.72 → akshare-1.15.74}/akshare/index/index_cni.py +0 -0
  160. {akshare-1.15.72 → akshare-1.15.74}/akshare/index/index_cons.py +0 -0
  161. {akshare-1.15.72 → akshare-1.15.74}/akshare/index/index_cx.py +0 -0
  162. {akshare-1.15.72 → akshare-1.15.74}/akshare/index/index_drewry.py +0 -0
  163. {akshare-1.15.72 → akshare-1.15.74}/akshare/index/index_eri.py +0 -0
  164. {akshare-1.15.72 → akshare-1.15.74}/akshare/index/index_hog.py +0 -0
  165. {akshare-1.15.72 → akshare-1.15.74}/akshare/index/index_kq_fz.py +0 -0
  166. {akshare-1.15.72 → akshare-1.15.74}/akshare/index/index_kq_ss.py +0 -0
  167. {akshare-1.15.72 → akshare-1.15.74}/akshare/index/index_research_fund_sw.py +0 -0
  168. {akshare-1.15.72 → akshare-1.15.74}/akshare/index/index_research_sw.py +0 -0
  169. {akshare-1.15.72 → akshare-1.15.74}/akshare/index/index_spot.py +0 -0
  170. {akshare-1.15.72 → akshare-1.15.74}/akshare/index/index_stock_hk.py +0 -0
  171. {akshare-1.15.72 → akshare-1.15.74}/akshare/index/index_stock_us_sina.py +0 -0
  172. {akshare-1.15.72 → akshare-1.15.74}/akshare/index/index_stock_zh.py +0 -0
  173. {akshare-1.15.72 → akshare-1.15.74}/akshare/index/index_stock_zh_csindex.py +0 -0
  174. {akshare-1.15.72 → akshare-1.15.74}/akshare/index/index_sugar.py +0 -0
  175. {akshare-1.15.72 → akshare-1.15.74}/akshare/index/index_sw.py +0 -0
  176. {akshare-1.15.72 → akshare-1.15.74}/akshare/index/index_yw.py +0 -0
  177. {akshare-1.15.72 → akshare-1.15.74}/akshare/index/index_zh_a_scope.py +0 -0
  178. {akshare-1.15.72 → akshare-1.15.74}/akshare/index/index_zh_em.py +0 -0
  179. {akshare-1.15.72 → akshare-1.15.74}/akshare/interest_rate/__init__.py +0 -0
  180. {akshare-1.15.72 → akshare-1.15.74}/akshare/interest_rate/interbank_rate_em.py +0 -0
  181. {akshare-1.15.72 → akshare-1.15.74}/akshare/movie/__init__.py +0 -0
  182. {akshare-1.15.72 → akshare-1.15.74}/akshare/movie/artist_yien.py +0 -0
  183. {akshare-1.15.72 → akshare-1.15.74}/akshare/movie/jm.js +0 -0
  184. {akshare-1.15.72 → akshare-1.15.74}/akshare/movie/movie_yien.py +0 -0
  185. {akshare-1.15.72 → akshare-1.15.74}/akshare/movie/video_yien.py +0 -0
  186. {akshare-1.15.72 → akshare-1.15.74}/akshare/news/__init__.py +0 -0
  187. {akshare-1.15.72 → akshare-1.15.74}/akshare/news/news_baidu.py +0 -0
  188. {akshare-1.15.72 → akshare-1.15.74}/akshare/news/news_cctv.py +0 -0
  189. {akshare-1.15.72 → akshare-1.15.74}/akshare/news/news_stock.py +0 -0
  190. {akshare-1.15.72 → akshare-1.15.74}/akshare/nlp/__init__.py +0 -0
  191. {akshare-1.15.72 → akshare-1.15.74}/akshare/nlp/nlp_interface.py +0 -0
  192. {akshare-1.15.72 → akshare-1.15.74}/akshare/option/__init__.py +0 -0
  193. {akshare-1.15.72 → akshare-1.15.74}/akshare/option/cons.py +0 -0
  194. {akshare-1.15.72 → akshare-1.15.74}/akshare/option/option_comm_qihuo.py +0 -0
  195. {akshare-1.15.72 → akshare-1.15.74}/akshare/option/option_commodity.py +0 -0
  196. {akshare-1.15.72 → akshare-1.15.74}/akshare/option/option_commodity_sina.py +0 -0
  197. {akshare-1.15.72 → akshare-1.15.74}/akshare/option/option_czce.py +0 -0
  198. {akshare-1.15.72 → akshare-1.15.74}/akshare/option/option_daily_stats_sse_szse.py +0 -0
  199. {akshare-1.15.72 → akshare-1.15.74}/akshare/option/option_em.py +0 -0
  200. {akshare-1.15.72 → akshare-1.15.74}/akshare/option/option_finance.py +0 -0
  201. {akshare-1.15.72 → akshare-1.15.74}/akshare/option/option_finance_sina.py +0 -0
  202. {akshare-1.15.72 → akshare-1.15.74}/akshare/option/option_lhb_em.py +0 -0
  203. {akshare-1.15.72 → akshare-1.15.74}/akshare/option/option_premium_analysis_em.py +0 -0
  204. {akshare-1.15.72 → akshare-1.15.74}/akshare/option/option_risk_analysis_em.py +0 -0
  205. {akshare-1.15.72 → akshare-1.15.74}/akshare/option/option_risk_indicator_sse.py +0 -0
  206. {akshare-1.15.72 → akshare-1.15.74}/akshare/option/option_value_analysis_em.py +0 -0
  207. {akshare-1.15.72 → akshare-1.15.74}/akshare/other/__init__.py +0 -0
  208. {akshare-1.15.72 → akshare-1.15.74}/akshare/other/other_car_cpca.py +0 -0
  209. {akshare-1.15.72 → akshare-1.15.74}/akshare/other/other_car_gasgoo.py +0 -0
  210. {akshare-1.15.72 → akshare-1.15.74}/akshare/pro/__init__.py +0 -0
  211. {akshare-1.15.72 → akshare-1.15.74}/akshare/pro/client.py +0 -0
  212. {akshare-1.15.72 → akshare-1.15.74}/akshare/pro/cons.py +0 -0
  213. {akshare-1.15.72 → akshare-1.15.74}/akshare/pro/data_pro.py +0 -0
  214. {akshare-1.15.72 → akshare-1.15.74}/akshare/qdii/__init__.py +0 -0
  215. {akshare-1.15.72 → akshare-1.15.74}/akshare/qdii/qdii_jsl.py +0 -0
  216. {akshare-1.15.72 → akshare-1.15.74}/akshare/qhkc/__init__.py +0 -0
  217. {akshare-1.15.72 → akshare-1.15.74}/akshare/qhkc/qhkc_api.py +0 -0
  218. {akshare-1.15.72 → akshare-1.15.74}/akshare/qhkc_web/__init__.py +0 -0
  219. {akshare-1.15.72 → akshare-1.15.74}/akshare/qhkc_web/qhkc_fund.py +0 -0
  220. {akshare-1.15.72 → akshare-1.15.74}/akshare/qhkc_web/qhkc_index.py +0 -0
  221. {akshare-1.15.72 → akshare-1.15.74}/akshare/qhkc_web/qhkc_tool.py +0 -0
  222. {akshare-1.15.72 → akshare-1.15.74}/akshare/rate/__init__.py +0 -0
  223. {akshare-1.15.72 → akshare-1.15.74}/akshare/rate/repo_rate.py +0 -0
  224. {akshare-1.15.72 → akshare-1.15.74}/akshare/reits/__init__.py +0 -0
  225. {akshare-1.15.72 → akshare-1.15.74}/akshare/reits/reits_basic.py +0 -0
  226. {akshare-1.15.72 → akshare-1.15.74}/akshare/request.py +0 -0
  227. {akshare-1.15.72 → akshare-1.15.74}/akshare/sport/__init__.py +0 -0
  228. {akshare-1.15.72 → akshare-1.15.74}/akshare/sport/sport_olympic.py +0 -0
  229. {akshare-1.15.72 → akshare-1.15.74}/akshare/spot/__init__.py +0 -0
  230. {akshare-1.15.72 → akshare-1.15.74}/akshare/spot/spot_hog_soozhu.py +0 -0
  231. {akshare-1.15.72 → akshare-1.15.74}/akshare/spot/spot_price_qh.py +0 -0
  232. {akshare-1.15.72 → akshare-1.15.74}/akshare/spot/spot_sge.py +0 -0
  233. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/__init__.py +0 -0
  234. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/cons.py +0 -0
  235. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_allotment_cninfo.py +0 -0
  236. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_ask_bid_em.py +0 -0
  237. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_board_concept_em.py +0 -0
  238. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_board_industry_em.py +0 -0
  239. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_cg_equity_mortgage.py +0 -0
  240. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_cg_guarantee.py +0 -0
  241. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_cg_lawsuit.py +0 -0
  242. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_dividend_cninfo.py +0 -0
  243. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_fund_em.py +0 -0
  244. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_fund_hold.py +0 -0
  245. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_gsrl_em.py +0 -0
  246. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_hk_famous.py +0 -0
  247. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_hk_fhpx_ths.py +0 -0
  248. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_hk_hot_rank_em.py +0 -0
  249. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_hk_sina.py +0 -0
  250. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_hold_control_cninfo.py +0 -0
  251. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_hold_control_em.py +0 -0
  252. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_hold_num_cninfo.py +0 -0
  253. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_hot_rank_em.py +0 -0
  254. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_hot_search_baidu.py +0 -0
  255. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_hot_up_em.py +0 -0
  256. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_industry.py +0 -0
  257. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_industry_cninfo.py +0 -0
  258. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_industry_pe_cninfo.py +0 -0
  259. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_industry_sw.py +0 -0
  260. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_info.py +0 -0
  261. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_info_em.py +0 -0
  262. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_intraday_em.py +0 -0
  263. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_intraday_sina.py +0 -0
  264. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_ipo_summary_cninfo.py +0 -0
  265. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_new_cninfo.py +0 -0
  266. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_news_cx.py +0 -0
  267. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_profile_cninfo.py +0 -0
  268. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_rank_forecast.py +0 -0
  269. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_repurchase_em.py +0 -0
  270. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_share_changes_cninfo.py +0 -0
  271. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_share_hold.py +0 -0
  272. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_stop.py +0 -0
  273. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_summary.py +0 -0
  274. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_us_famous.py +0 -0
  275. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_us_js.py +0 -0
  276. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_us_pink.py +0 -0
  277. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_us_sina.py +0 -0
  278. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_weibo_nlp.py +0 -0
  279. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_xq.py +0 -0
  280. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_zh_a_sina.py +0 -0
  281. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_zh_a_special.py +0 -0
  282. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_zh_a_tick_tx.py +0 -0
  283. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_zh_ah_tx.py +0 -0
  284. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_zh_b_sina.py +0 -0
  285. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_zh_kcb_report.py +0 -0
  286. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock/stock_zh_kcb_sina.py +0 -0
  287. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/__init__.py +0 -0
  288. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/cons.py +0 -0
  289. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_a_below_net_asset_statistics.py +0 -0
  290. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_a_high_low.py +0 -0
  291. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_a_indicator.py +0 -0
  292. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_a_pe_and_pb.py +0 -0
  293. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_account_em.py +0 -0
  294. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_all_pb.py +0 -0
  295. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_analyst_em.py +0 -0
  296. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_board_industry_ths.py +0 -0
  297. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_buffett_index_lg.py +0 -0
  298. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_classify_sina.py +0 -0
  299. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_comment_em.py +0 -0
  300. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_concept_futu.py +0 -0
  301. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_congestion_lg.py +0 -0
  302. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_cyq_em.py +0 -0
  303. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_disclosure_cninfo.py +0 -0
  304. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_dxsyl_em.py +0 -0
  305. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_ebs_lg.py +0 -0
  306. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_esg_sina.py +0 -0
  307. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_fhps_em.py +0 -0
  308. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_fhps_ths.py +0 -0
  309. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_fund_flow.py +0 -0
  310. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_gddh_em.py +0 -0
  311. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_gdfx_em.py +0 -0
  312. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_gdhs.py +0 -0
  313. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_gdzjc_em.py +0 -0
  314. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_gpzy_em.py +0 -0
  315. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_gxl_lg.py +0 -0
  316. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_hist_em.py +0 -0
  317. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_hist_tx.py +0 -0
  318. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_hk_valuation_baidu.py +0 -0
  319. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_hot_xq.py +0 -0
  320. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_hsgt_em.py +0 -0
  321. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_hsgt_exchange_rate.py +0 -0
  322. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_hsgt_min_em.py +0 -0
  323. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_info.py +0 -0
  324. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_inner_trade_xq.py +0 -0
  325. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_irm_cninfo.py +0 -0
  326. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_jgdy_em.py +0 -0
  327. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_lh_yybpm.py +0 -0
  328. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_lhb_em.py +0 -0
  329. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_lhb_sina.py +0 -0
  330. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_margin_em.py +0 -0
  331. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_margin_sse.py +0 -0
  332. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_margin_szse.py +0 -0
  333. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_market_legu.py +0 -0
  334. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_pankou_em.py +0 -0
  335. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_qsjy_em.py +0 -0
  336. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_report_em.py +0 -0
  337. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_research_report_em.py +0 -0
  338. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_sns_sseinfo.py +0 -0
  339. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_sy_em.py +0 -0
  340. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_technology_ths.py +0 -0
  341. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_tfp_em.py +0 -0
  342. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_three_report_em.py +0 -0
  343. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_ttm_lyr.py +0 -0
  344. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_value_em.py +0 -0
  345. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_wencai.py +0 -0
  346. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_yjbb_em.py +0 -0
  347. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_yjyg_cninfo.py +0 -0
  348. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_yjyg_em.py +0 -0
  349. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_yzxdr_em.py +0 -0
  350. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_zdhtmx_em.py +0 -0
  351. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_zf_pg.py +0 -0
  352. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_zh_valuation_baidu.py +0 -0
  353. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_zh_vote_baidu.py +0 -0
  354. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/stock_ztb_em.py +0 -0
  355. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_feature/ths.js +0 -0
  356. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_fundamental/__init__.py +0 -0
  357. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_fundamental/stock_finance.py +0 -0
  358. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_fundamental/stock_finance_hk.py +0 -0
  359. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_fundamental/stock_finance_ths.py +0 -0
  360. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_fundamental/stock_hold.py +0 -0
  361. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_fundamental/stock_ipo_declare.py +0 -0
  362. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_fundamental/stock_kcb_detail_sse.py +0 -0
  363. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_fundamental/stock_kcb_sse.py +0 -0
  364. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_fundamental/stock_mda_ym.py +0 -0
  365. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_fundamental/stock_notice.py +0 -0
  366. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_fundamental/stock_profit_forecast_em.py +0 -0
  367. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_fundamental/stock_profit_forecast_hk_etnet.py +0 -0
  368. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_fundamental/stock_profit_forecast_ths.py +0 -0
  369. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_fundamental/stock_recommend.py +0 -0
  370. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_fundamental/stock_register_em.py +0 -0
  371. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_fundamental/stock_restricted_em.py +0 -0
  372. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_fundamental/stock_zygc.py +0 -0
  373. {akshare-1.15.72 → akshare-1.15.74}/akshare/stock_fundamental/stock_zyjs_ths.py +0 -0
  374. {akshare-1.15.72 → akshare-1.15.74}/akshare/tool/__init__.py +0 -0
  375. {akshare-1.15.72 → akshare-1.15.74}/akshare/tool/trade_date_hist.py +0 -0
  376. {akshare-1.15.72 → akshare-1.15.74}/akshare/utils/__init__.py +0 -0
  377. {akshare-1.15.72 → akshare-1.15.74}/akshare/utils/cons.py +0 -0
  378. {akshare-1.15.72 → akshare-1.15.74}/akshare/utils/context.py +0 -0
  379. {akshare-1.15.72 → akshare-1.15.74}/akshare/utils/demjson.py +0 -0
  380. {akshare-1.15.72 → akshare-1.15.74}/akshare/utils/func.py +0 -0
  381. {akshare-1.15.72 → akshare-1.15.74}/akshare/utils/token_process.py +0 -0
  382. {akshare-1.15.72 → akshare-1.15.74}/akshare/utils/tqdm.py +0 -0
  383. {akshare-1.15.72 → akshare-1.15.74}/akshare.egg-info/SOURCES.txt +0 -0
  384. {akshare-1.15.72 → akshare-1.15.74}/akshare.egg-info/dependency_links.txt +0 -0
  385. {akshare-1.15.72 → akshare-1.15.74}/akshare.egg-info/requires.txt +0 -0
  386. {akshare-1.15.72 → akshare-1.15.74}/akshare.egg-info/top_level.txt +0 -0
  387. {akshare-1.15.72 → akshare-1.15.74}/pyproject.toml +0 -0
  388. {akshare-1.15.72 → akshare-1.15.74}/setup.cfg +0 -0
  389. {akshare-1.15.72 → akshare-1.15.74}/setup.py +0 -0
  390. {akshare-1.15.72 → akshare-1.15.74}/tests/__init__.py +0 -0
  391. {akshare-1.15.72 → akshare-1.15.74}/tests/test_func.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: akshare
3
- Version: 1.15.72
3
+ Version: 1.15.74
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
@@ -2982,9 +2982,11 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
2982
2982
  1.15.70 fix: fix stock_research_report_em interface
2983
2983
  1.15.71 fix: fix stock_dzjy_sctj interface
2984
2984
  1.15.72 fix: fix stock_us_spot interface
2985
+ 1.15.73 fix: fix stock_dzjy_hygtj interface
2986
+ 1.15.74 fix: fix macro_australia_retail_rate_monthly interface
2985
2987
  """
2986
2988
 
2987
- __version__ = "1.15.72"
2989
+ __version__ = "1.15.74"
2988
2990
  __author__ = "AKFamily"
2989
2991
 
2990
2992
  import sys
@@ -1,15 +1,14 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
- Date: 2022/11/27 20:26
4
+ Date: 2025/1/17 15:30
5
5
  Desc: 东方财富-经济数据-澳大利亚
6
6
  https://data.eastmoney.com/cjsj/foreign_5_0.html
7
7
  """
8
+
8
9
  import pandas as pd
9
10
  import requests
10
11
 
11
- from akshare.utils import demjson
12
-
13
12
 
14
13
  # 零售销售月率
15
14
  def macro_australia_retail_rate_monthly() -> pd.DataFrame:
@@ -47,18 +46,19 @@ def macro_australia_retail_rate_monthly() -> pd.DataFrame:
47
46
  "发布日期",
48
47
  "现值",
49
48
  "前值",
50
-
51
-
52
49
  ]
53
- temp_df = temp_df[[
54
- "时间",
55
- "前值",
56
- "现值",
57
- "发布日期",
58
- ]]
50
+ temp_df = temp_df[
51
+ [
52
+ "时间",
53
+ "前值",
54
+ "现值",
55
+ "发布日期",
56
+ ]
57
+ ]
59
58
  temp_df["前值"] = pd.to_numeric(temp_df["前值"], errors="coerce")
60
59
  temp_df["现值"] = pd.to_numeric(temp_df["现值"], errors="coerce")
61
- temp_df['发布日期'] = pd.to_datetime(temp_df['发布日期']).dt.date
60
+ temp_df["发布日期"] = pd.to_datetime(temp_df["发布日期"], errors="coerce").dt.date
61
+ temp_df.sort_values(by="发布日期", ignore_index=True, inplace=True)
62
62
  return temp_df
63
63
 
64
64
 
@@ -98,17 +98,19 @@ def macro_australia_trade() -> pd.DataFrame:
98
98
  "发布日期",
99
99
  "现值",
100
100
  "前值",
101
-
102
101
  ]
103
- temp_df = temp_df[[
104
- "时间",
105
- "前值",
106
- "现值",
107
- "发布日期",
108
- ]]
102
+ temp_df = temp_df[
103
+ [
104
+ "时间",
105
+ "前值",
106
+ "现值",
107
+ "发布日期",
108
+ ]
109
+ ]
109
110
  temp_df["前值"] = pd.to_numeric(temp_df["前值"], errors="coerce")
110
111
  temp_df["现值"] = pd.to_numeric(temp_df["现值"], errors="coerce")
111
- temp_df['发布日期'] = pd.to_datetime(temp_df['发布日期']).dt.date
112
+ temp_df["发布日期"] = pd.to_datetime(temp_df["发布日期"], errors="coerce").dt.date
113
+ temp_df.sort_values(by="发布日期", ignore_index=True, inplace=True)
112
114
  return temp_df
113
115
 
114
116
 
@@ -148,17 +150,19 @@ def macro_australia_unemployment_rate() -> pd.DataFrame:
148
150
  "发布日期",
149
151
  "现值",
150
152
  "前值",
151
-
152
153
  ]
153
- temp_df = temp_df[[
154
- "时间",
155
- "前值",
156
- "现值",
157
- "发布日期",
158
- ]]
154
+ temp_df = temp_df[
155
+ [
156
+ "时间",
157
+ "前值",
158
+ "现值",
159
+ "发布日期",
160
+ ]
161
+ ]
159
162
  temp_df["前值"] = pd.to_numeric(temp_df["前值"], errors="coerce")
160
163
  temp_df["现值"] = pd.to_numeric(temp_df["现值"], errors="coerce")
161
- temp_df['发布日期'] = pd.to_datetime(temp_df['发布日期']).dt.date
164
+ temp_df["发布日期"] = pd.to_datetime(temp_df["发布日期"], errors="coerce").dt.date
165
+ temp_df.sort_values(by="发布日期", ignore_index=True, inplace=True)
162
166
  return temp_df
163
167
 
164
168
 
@@ -198,17 +202,19 @@ def macro_australia_ppi_quarterly() -> pd.DataFrame:
198
202
  "发布日期",
199
203
  "现值",
200
204
  "前值",
201
-
202
205
  ]
203
- temp_df = temp_df[[
204
- "时间",
205
- "前值",
206
- "现值",
207
- "发布日期",
208
- ]]
206
+ temp_df = temp_df[
207
+ [
208
+ "时间",
209
+ "前值",
210
+ "现值",
211
+ "发布日期",
212
+ ]
213
+ ]
209
214
  temp_df["前值"] = pd.to_numeric(temp_df["前值"], errors="coerce")
210
215
  temp_df["现值"] = pd.to_numeric(temp_df["现值"], errors="coerce")
211
- temp_df['发布日期'] = pd.to_datetime(temp_df['发布日期']).dt.date
216
+ temp_df["发布日期"] = pd.to_datetime(temp_df["发布日期"], errors="coerce").dt.date
217
+ temp_df.sort_values(by="发布日期", ignore_index=True, inplace=True)
212
218
  return temp_df
213
219
 
214
220
 
@@ -216,7 +222,7 @@ def macro_australia_ppi_quarterly() -> pd.DataFrame:
216
222
  def macro_australia_cpi_quarterly() -> pd.DataFrame:
217
223
  """
218
224
  东方财富-经济数据-澳大利亚-消费者物价指数季率
219
- http://data.eastmoney.com/cjsj/foreign_5_4.html
225
+ https://data.eastmoney.com/cjsj/foreign_5_4.html
220
226
  :return: 消费者物价指数季率
221
227
  :rtype: pandas.DataFrame
222
228
  """
@@ -248,17 +254,19 @@ def macro_australia_cpi_quarterly() -> pd.DataFrame:
248
254
  "发布日期",
249
255
  "现值",
250
256
  "前值",
251
-
252
257
  ]
253
- temp_df = temp_df[[
254
- "时间",
255
- "前值",
256
- "现值",
257
- "发布日期",
258
- ]]
258
+ temp_df = temp_df[
259
+ [
260
+ "时间",
261
+ "前值",
262
+ "现值",
263
+ "发布日期",
264
+ ]
265
+ ]
259
266
  temp_df["前值"] = pd.to_numeric(temp_df["前值"], errors="coerce")
260
267
  temp_df["现值"] = pd.to_numeric(temp_df["现值"], errors="coerce")
261
- temp_df['发布日期'] = pd.to_datetime(temp_df['发布日期']).dt.date
268
+ temp_df["发布日期"] = pd.to_datetime(temp_df["发布日期"], errors="coerce").dt.date
269
+ temp_df.sort_values(by="发布日期", ignore_index=True, inplace=True)
262
270
  return temp_df
263
271
 
264
272
 
@@ -298,17 +306,19 @@ def macro_australia_cpi_yearly() -> pd.DataFrame:
298
306
  "发布日期",
299
307
  "现值",
300
308
  "前值",
301
-
302
309
  ]
303
- temp_df = temp_df[[
304
- "时间",
305
- "前值",
306
- "现值",
307
- "发布日期",
308
- ]]
310
+ temp_df = temp_df[
311
+ [
312
+ "时间",
313
+ "前值",
314
+ "现值",
315
+ "发布日期",
316
+ ]
317
+ ]
309
318
  temp_df["前值"] = pd.to_numeric(temp_df["前值"], errors="coerce")
310
319
  temp_df["现值"] = pd.to_numeric(temp_df["现值"], errors="coerce")
311
- temp_df['发布日期'] = pd.to_datetime(temp_df['发布日期']).dt.date
320
+ temp_df["发布日期"] = pd.to_datetime(temp_df["发布日期"], errors="coerce").dt.date
321
+ temp_df.sort_values(by="发布日期", ignore_index=True, inplace=True)
312
322
  return temp_df
313
323
 
314
324
 
@@ -348,21 +358,23 @@ def macro_australia_bank_rate() -> pd.DataFrame:
348
358
  "发布日期",
349
359
  "现值",
350
360
  "前值",
351
-
352
361
  ]
353
- temp_df = temp_df[[
354
- "时间",
355
- "前值",
356
- "现值",
357
- "发布日期",
358
- ]]
362
+ temp_df = temp_df[
363
+ [
364
+ "时间",
365
+ "前值",
366
+ "现值",
367
+ "发布日期",
368
+ ]
369
+ ]
359
370
  temp_df["前值"] = pd.to_numeric(temp_df["前值"], errors="coerce")
360
371
  temp_df["现值"] = pd.to_numeric(temp_df["现值"], errors="coerce")
361
- temp_df['发布日期'] = pd.to_datetime(temp_df['发布日期']).dt.date
372
+ temp_df["发布日期"] = pd.to_datetime(temp_df["发布日期"], errors="coerce").dt.date
373
+ temp_df.sort_values(by="发布日期", ignore_index=True, inplace=True)
362
374
  return temp_df
363
375
 
364
376
 
365
- if __name__ == '__main__':
377
+ if __name__ == "__main__":
366
378
  macro_australia_retail_rate_monthly_df = macro_australia_retail_rate_monthly()
367
379
  print(macro_australia_retail_rate_monthly_df)
368
380
 
@@ -7,7 +7,22 @@ Desc: 50 ETF 期权波动率指数 QVIX
7
7
  http://1.optbbs.com/s/vix.shtml?50ETF
8
8
  http://1.optbbs.com/s/vix.shtml?300ETF
9
9
  """
10
+
10
11
  import pandas as pd
12
+ from functools import lru_cache
13
+
14
+
15
+ @lru_cache
16
+ def __get_optbbs_daily() -> pd.DataFrame:
17
+ """
18
+ 读取原始数据
19
+ http://1.optbbs.com/d/csv/d/k.csv
20
+ :return: 原始数据
21
+ :rtype: pandas.DataFrame
22
+ """
23
+ url = "http://1.optbbs.com/d/csv/d/k.csv"
24
+ temp_df = pd.read_csv(url, encoding="gbk")
25
+ return temp_df
11
26
 
12
27
 
13
28
  def index_option_50etf_qvix() -> pd.DataFrame:
@@ -17,8 +32,7 @@ def index_option_50etf_qvix() -> pd.DataFrame:
17
32
  :return: 50ETF 期权波动率指数 QVIX
18
33
  :rtype: pandas.DataFrame
19
34
  """
20
- url = "http://1.optbbs.com/d/csv/d/k.csv"
21
- temp_df = pd.read_csv(url).iloc[:, :5]
35
+ temp_df = __get_optbbs_daily().iloc[:, :5]
22
36
  temp_df.columns = [
23
37
  "date",
24
38
  "open",
@@ -26,11 +40,11 @@ def index_option_50etf_qvix() -> pd.DataFrame:
26
40
  "low",
27
41
  "close",
28
42
  ]
29
- temp_df["date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
30
- temp_df['open'] = pd.to_numeric(temp_df['open'], errors="coerce")
31
- temp_df['high'] = pd.to_numeric(temp_df['high'], errors="coerce")
32
- temp_df['low'] = pd.to_numeric(temp_df['low'], errors="coerce")
33
- temp_df['close'] = pd.to_numeric(temp_df['close'], errors="coerce")
43
+ temp_df.loc[:, "date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
44
+ temp_df.loc[:, "open"] = pd.to_numeric(temp_df["open"], errors="coerce")
45
+ temp_df.loc[:, "high"] = pd.to_numeric(temp_df["high"], errors="coerce")
46
+ temp_df.loc[:, "low"] = pd.to_numeric(temp_df["low"], errors="coerce")
47
+ temp_df.loc[:, "close"] = pd.to_numeric(temp_df["close"], errors="coerce")
34
48
  return temp_df
35
49
 
36
50
 
@@ -47,7 +61,7 @@ def index_option_50etf_min_qvix() -> pd.DataFrame:
47
61
  "time",
48
62
  "qvix",
49
63
  ]
50
- temp_df['qvix'] = pd.to_numeric(temp_df['qvix'], errors="coerce")
64
+ temp_df.loc[:, "qvix"] = pd.to_numeric(temp_df["qvix"], errors="coerce")
51
65
  return temp_df
52
66
 
53
67
 
@@ -58,8 +72,7 @@ def index_option_300etf_qvix() -> pd.DataFrame:
58
72
  :return: 300 ETF 期权波动率指数 QVIX
59
73
  :rtype: pandas.DataFrame
60
74
  """
61
- url = "http://1.optbbs.com/d/csv/d/k.csv"
62
- temp_df = pd.read_csv(url).iloc[:, [0, 9, 10, 11, 12]]
75
+ temp_df = __get_optbbs_daily().iloc[:, [0, 9, 10, 11, 12]]
63
76
  temp_df.columns = [
64
77
  "date",
65
78
  "open",
@@ -67,11 +80,11 @@ def index_option_300etf_qvix() -> pd.DataFrame:
67
80
  "low",
68
81
  "close",
69
82
  ]
70
- temp_df["date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
71
- temp_df['open'] = pd.to_numeric(temp_df['open'], errors="coerce")
72
- temp_df['high'] = pd.to_numeric(temp_df['high'], errors="coerce")
73
- temp_df['low'] = pd.to_numeric(temp_df['low'], errors="coerce")
74
- temp_df['close'] = pd.to_numeric(temp_df['close'], errors="coerce")
83
+ temp_df.loc[:, "date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
84
+ temp_df.loc[:, "open"] = pd.to_numeric(temp_df["open"], errors="coerce")
85
+ temp_df.loc[:, "high"] = pd.to_numeric(temp_df["high"], errors="coerce")
86
+ temp_df.loc[:, "low"] = pd.to_numeric(temp_df["low"], errors="coerce")
87
+ temp_df.loc[:, "close"] = pd.to_numeric(temp_df["close"], errors="coerce")
75
88
  return temp_df
76
89
 
77
90
 
@@ -88,7 +101,7 @@ def index_option_300etf_min_qvix() -> pd.DataFrame:
88
101
  "time",
89
102
  "qvix",
90
103
  ]
91
- temp_df['qvix'] = pd.to_numeric(temp_df['qvix'], errors="coerce")
104
+ temp_df.loc[:, "qvix"] = pd.to_numeric(temp_df["qvix"], errors="coerce")
92
105
  return temp_df
93
106
 
94
107
 
@@ -99,8 +112,7 @@ def index_option_500etf_qvix() -> pd.DataFrame:
99
112
  :return: 500 ETF 期权波动率指数 QVIX
100
113
  :rtype: pandas.DataFrame
101
114
  """
102
- url = "http://1.optbbs.com/d/csv/d/k.csv"
103
- temp_df = pd.read_csv(url).iloc[:, [0, 67, 68, 69, 70]]
115
+ temp_df = __get_optbbs_daily().iloc[:, [0, 67, 68, 69, 70]]
104
116
  temp_df.columns = [
105
117
  "date",
106
118
  "open",
@@ -108,11 +120,11 @@ def index_option_500etf_qvix() -> pd.DataFrame:
108
120
  "low",
109
121
  "close",
110
122
  ]
111
- temp_df["date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
112
- temp_df["open"] = pd.to_numeric(temp_df["open"], errors="coerce")
113
- temp_df["high"] = pd.to_numeric(temp_df["high"], errors="coerce")
114
- temp_df["low"] = pd.to_numeric(temp_df["low"], errors="coerce")
115
- temp_df["close"] = pd.to_numeric(temp_df["close"], errors="coerce")
123
+ temp_df.loc[:, "date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
124
+ temp_df.loc[:, "open"] = pd.to_numeric(temp_df["open"], errors="coerce")
125
+ temp_df.loc[:, "high"] = pd.to_numeric(temp_df["high"], errors="coerce")
126
+ temp_df.loc[:, "low"] = pd.to_numeric(temp_df["low"], errors="coerce")
127
+ temp_df.loc[:, "close"] = pd.to_numeric(temp_df["close"], errors="coerce")
116
128
  return temp_df
117
129
 
118
130
 
@@ -129,7 +141,7 @@ def index_option_500etf_min_qvix() -> pd.DataFrame:
129
141
  "time",
130
142
  "qvix",
131
143
  ]
132
- temp_df["qvix"] = pd.to_numeric(temp_df["qvix"], errors="coerce")
144
+ temp_df.loc[:, "qvix"] = pd.to_numeric(temp_df["qvix"], errors="coerce")
133
145
  return temp_df
134
146
 
135
147
 
@@ -140,8 +152,7 @@ def index_option_cyb_qvix() -> pd.DataFrame:
140
152
  :return: 创业板 期权波动率指数 QVIX
141
153
  :rtype: pandas.DataFrame
142
154
  """
143
- url = "http://1.optbbs.com/d/csv/d/k.csv"
144
- temp_df = pd.read_csv(url).iloc[:, [0, 71, 72, 73, 74]]
155
+ temp_df = __get_optbbs_daily().iloc[:, [0, 71, 72, 73, 74]]
145
156
  temp_df.columns = [
146
157
  "date",
147
158
  "open",
@@ -149,11 +160,11 @@ def index_option_cyb_qvix() -> pd.DataFrame:
149
160
  "low",
150
161
  "close",
151
162
  ]
152
- temp_df["date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
153
- temp_df["open"] = pd.to_numeric(temp_df["open"], errors="coerce")
154
- temp_df["high"] = pd.to_numeric(temp_df["high"], errors="coerce")
155
- temp_df["low"] = pd.to_numeric(temp_df["low"], errors="coerce")
156
- temp_df["close"] = pd.to_numeric(temp_df["close"], errors="coerce")
163
+ temp_df.loc[:, "date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
164
+ temp_df.loc[:, "open"] = pd.to_numeric(temp_df["open"], errors="coerce")
165
+ temp_df.loc[:, "high"] = pd.to_numeric(temp_df["high"], errors="coerce")
166
+ temp_df.loc[:, "low"] = pd.to_numeric(temp_df["low"], errors="coerce")
167
+ temp_df.loc[:, "close"] = pd.to_numeric(temp_df["close"], errors="coerce")
157
168
  return temp_df
158
169
 
159
170
 
@@ -170,7 +181,7 @@ def index_option_cyb_min_qvix() -> pd.DataFrame:
170
181
  "time",
171
182
  "qvix",
172
183
  ]
173
- temp_df["qvix"] = pd.to_numeric(temp_df["qvix"], errors="coerce")
184
+ temp_df.loc[:, "qvix"] = pd.to_numeric(temp_df["qvix"], errors="coerce")
174
185
  return temp_df
175
186
 
176
187
 
@@ -181,8 +192,7 @@ def index_option_kcb_qvix() -> pd.DataFrame:
181
192
  :return: 科创板 期权波动率指数 QVIX
182
193
  :rtype: pandas.DataFrame
183
194
  """
184
- url = "http://1.optbbs.com/d/csv/d/k.csv"
185
- temp_df = pd.read_csv(url).iloc[:, [0, 83, 84, 85, 86]]
195
+ temp_df = __get_optbbs_daily().iloc[:, [0, 83, 84, 85, 86]]
186
196
  temp_df.columns = [
187
197
  "date",
188
198
  "open",
@@ -190,11 +200,11 @@ def index_option_kcb_qvix() -> pd.DataFrame:
190
200
  "low",
191
201
  "close",
192
202
  ]
193
- temp_df["date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
194
- temp_df["open"] = pd.to_numeric(temp_df["open"], errors="coerce")
195
- temp_df["high"] = pd.to_numeric(temp_df["high"], errors="coerce")
196
- temp_df["low"] = pd.to_numeric(temp_df["low"], errors="coerce")
197
- temp_df["close"] = pd.to_numeric(temp_df["close"], errors="coerce")
203
+ temp_df.loc[:, "date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
204
+ temp_df.loc[:, "open"] = pd.to_numeric(temp_df["open"], errors="coerce")
205
+ temp_df.loc[:, "high"] = pd.to_numeric(temp_df["high"], errors="coerce")
206
+ temp_df.loc[:, "low"] = pd.to_numeric(temp_df["low"], errors="coerce")
207
+ temp_df.loc[:, "close"] = pd.to_numeric(temp_df["close"], errors="coerce")
198
208
  return temp_df
199
209
 
200
210
 
@@ -211,7 +221,7 @@ def index_option_kcb_min_qvix() -> pd.DataFrame:
211
221
  "time",
212
222
  "qvix",
213
223
  ]
214
- temp_df["qvix"] = pd.to_numeric(temp_df["qvix"], errors="coerce")
224
+ temp_df.loc[:, "qvix"] = pd.to_numeric(temp_df["qvix"], errors="coerce")
215
225
  return temp_df
216
226
 
217
227
 
@@ -222,8 +232,7 @@ def index_option_100etf_qvix() -> pd.DataFrame:
222
232
  :return: 深证100ETF 期权波动率指数 QVIX
223
233
  :rtype: pandas.DataFrame
224
234
  """
225
- url = "http://1.optbbs.com/d/csv/d/k.csv"
226
- temp_df = pd.read_csv(url).iloc[:, [0, 75, 76, 77, 78]]
235
+ temp_df = __get_optbbs_daily().iloc[:, [0, 75, 76, 77, 78]]
227
236
  temp_df.columns = [
228
237
  "date",
229
238
  "open",
@@ -231,11 +240,11 @@ def index_option_100etf_qvix() -> pd.DataFrame:
231
240
  "low",
232
241
  "close",
233
242
  ]
234
- temp_df["date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
235
- temp_df["open"] = pd.to_numeric(temp_df["open"], errors="coerce")
236
- temp_df["high"] = pd.to_numeric(temp_df["high"], errors="coerce")
237
- temp_df["low"] = pd.to_numeric(temp_df["low"], errors="coerce")
238
- temp_df["close"] = pd.to_numeric(temp_df["close"], errors="coerce")
243
+ temp_df.loc[:, "date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
244
+ temp_df.loc[:, "open"] = pd.to_numeric(temp_df["open"], errors="coerce")
245
+ temp_df.loc[:, "high"] = pd.to_numeric(temp_df["high"], errors="coerce")
246
+ temp_df.loc[:, "low"] = pd.to_numeric(temp_df["low"], errors="coerce")
247
+ temp_df.loc[:, "close"] = pd.to_numeric(temp_df["close"], errors="coerce")
239
248
  return temp_df
240
249
 
241
250
 
@@ -252,7 +261,7 @@ def index_option_100etf_min_qvix() -> pd.DataFrame:
252
261
  "time",
253
262
  "qvix",
254
263
  ]
255
- temp_df["qvix"] = pd.to_numeric(temp_df["qvix"], errors="coerce")
264
+ temp_df.loc[:, "qvix"] = pd.to_numeric(temp_df["qvix"], errors="coerce")
256
265
  return temp_df
257
266
 
258
267
 
@@ -263,8 +272,7 @@ def index_option_300index_qvix() -> pd.DataFrame:
263
272
  :return: 中证300股指 期权波动率指数 QVIX
264
273
  :rtype: pandas.DataFrame
265
274
  """
266
- url = "http://1.optbbs.com/d/csv/d/k.csv"
267
- temp_df = pd.read_csv(url).iloc[:, [0, 17, 18, 19, 20]]
275
+ temp_df = __get_optbbs_daily().iloc[:, [0, 17, 18, 19, 20]]
268
276
  temp_df.columns = [
269
277
  "date",
270
278
  "open",
@@ -272,11 +280,11 @@ def index_option_300index_qvix() -> pd.DataFrame:
272
280
  "low",
273
281
  "close",
274
282
  ]
275
- temp_df["date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
276
- temp_df["open"] = pd.to_numeric(temp_df["open"], errors="coerce")
277
- temp_df["high"] = pd.to_numeric(temp_df["high"], errors="coerce")
278
- temp_df["low"] = pd.to_numeric(temp_df["low"], errors="coerce")
279
- temp_df["close"] = pd.to_numeric(temp_df["close"], errors="coerce")
283
+ temp_df.loc[:, "date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
284
+ temp_df.loc[:, "open"] = pd.to_numeric(temp_df["open"], errors="coerce")
285
+ temp_df.loc[:, "high"] = pd.to_numeric(temp_df["high"], errors="coerce")
286
+ temp_df.loc[:, "low"] = pd.to_numeric(temp_df["low"], errors="coerce")
287
+ temp_df.loc[:, "close"] = pd.to_numeric(temp_df["close"], errors="coerce")
280
288
  return temp_df
281
289
 
282
290
 
@@ -293,7 +301,7 @@ def index_option_300index_min_qvix() -> pd.DataFrame:
293
301
  "time",
294
302
  "qvix",
295
303
  ]
296
- temp_df["qvix"] = pd.to_numeric(temp_df["qvix"], errors="coerce")
304
+ temp_df.loc[:, "qvix"] = pd.to_numeric(temp_df["qvix"], errors="coerce")
297
305
  return temp_df
298
306
 
299
307
 
@@ -304,8 +312,7 @@ def index_option_1000index_qvix() -> pd.DataFrame:
304
312
  :return: 中证1000股指 期权波动率指数 QVIX
305
313
  :rtype: pandas.DataFrame
306
314
  """
307
- url = "http://1.optbbs.com/d/csv/d/k.csv"
308
- temp_df = pd.read_csv(url).iloc[:, [0, 25, 26, 27, 28]]
315
+ temp_df = __get_optbbs_daily().iloc[:, [0, 25, 26, 27, 28]]
309
316
  temp_df.columns = [
310
317
  "date",
311
318
  "open",
@@ -313,11 +320,11 @@ def index_option_1000index_qvix() -> pd.DataFrame:
313
320
  "low",
314
321
  "close",
315
322
  ]
316
- temp_df["date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
317
- temp_df["open"] = pd.to_numeric(temp_df["open"], errors="coerce")
318
- temp_df["high"] = pd.to_numeric(temp_df["high"], errors="coerce")
319
- temp_df["low"] = pd.to_numeric(temp_df["low"], errors="coerce")
320
- temp_df["close"] = pd.to_numeric(temp_df["close"], errors="coerce")
323
+ temp_df.loc[:, "date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
324
+ temp_df.loc[:, "open"] = pd.to_numeric(temp_df["open"], errors="coerce")
325
+ temp_df.loc[:, "high"] = pd.to_numeric(temp_df["high"], errors="coerce")
326
+ temp_df.loc[:, "low"] = pd.to_numeric(temp_df["low"], errors="coerce")
327
+ temp_df.loc[:, "close"] = pd.to_numeric(temp_df["close"], errors="coerce")
321
328
  return temp_df
322
329
 
323
330
 
@@ -334,7 +341,7 @@ def index_option_1000index_min_qvix() -> pd.DataFrame:
334
341
  "time",
335
342
  "qvix",
336
343
  ]
337
- temp_df["qvix"] = pd.to_numeric(temp_df["qvix"], errors="coerce")
344
+ temp_df.loc[:, "qvix"] = pd.to_numeric(temp_df["qvix"], errors="coerce")
338
345
  return temp_df
339
346
 
340
347
 
@@ -345,8 +352,7 @@ def index_option_50index_qvix() -> pd.DataFrame:
345
352
  :return: 上证50股指 期权波动率指数 QVIX
346
353
  :rtype: pandas.DataFrame
347
354
  """
348
- url = "http://1.optbbs.com/d/csv/d/k.csv"
349
- temp_df = pd.read_csv(url).iloc[:, [0, 79, 80, 81, 82]]
355
+ temp_df = __get_optbbs_daily().iloc[:, [0, 79, 80, 81, 82]]
350
356
  temp_df.columns = [
351
357
  "date",
352
358
  "open",
@@ -354,11 +360,11 @@ def index_option_50index_qvix() -> pd.DataFrame:
354
360
  "low",
355
361
  "close",
356
362
  ]
357
- temp_df["date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
358
- temp_df["open"] = pd.to_numeric(temp_df["open"], errors="coerce")
359
- temp_df["high"] = pd.to_numeric(temp_df["high"], errors="coerce")
360
- temp_df["low"] = pd.to_numeric(temp_df["low"], errors="coerce")
361
- temp_df["close"] = pd.to_numeric(temp_df["close"], errors="coerce")
363
+ temp_df.loc[:, "date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
364
+ temp_df.loc[:, "open"] = pd.to_numeric(temp_df["open"], errors="coerce")
365
+ temp_df.loc[:, "high"] = pd.to_numeric(temp_df["high"], errors="coerce")
366
+ temp_df.loc[:, "low"] = pd.to_numeric(temp_df["low"], errors="coerce")
367
+ temp_df.loc[:, "close"] = pd.to_numeric(temp_df["close"], errors="coerce")
362
368
  return temp_df
363
369
 
364
370
 
@@ -375,7 +381,7 @@ def index_option_50index_min_qvix() -> pd.DataFrame:
375
381
  "time",
376
382
  "qvix",
377
383
  ]
378
- temp_df["qvix"] = pd.to_numeric(temp_df["qvix"], errors="coerce")
384
+ temp_df.loc[:, "qvix"] = pd.to_numeric(temp_df["qvix"], errors="coerce")
379
385
  return temp_df
380
386
 
381
387
 
@@ -609,7 +609,7 @@ if __name__ == "__main__":
609
609
  )
610
610
  print(stock_dzjy_mrmx_df)
611
611
 
612
- stock_dzjy_mrtj_df = stock_dzjy_mrtj(start_date="20201204", end_date="20201204")
612
+ stock_dzjy_mrtj_df = stock_dzjy_mrtj(start_date="20220105", end_date="20220105")
613
613
  print(stock_dzjy_mrtj_df)
614
614
 
615
615
  stock_dzjy_hygtj_df = stock_dzjy_hygtj(symbol="近三月")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: akshare
3
- Version: 1.15.72
3
+ Version: 1.15.74
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
File without changes
File without changes
File without changes