akshare 1.15.27__tar.gz → 1.15.29__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 (396) hide show
  1. {akshare-1.15.27 → akshare-1.15.29}/PKG-INFO +2 -2
  2. {akshare-1.15.27 → akshare-1.15.29}/README.md +1 -1
  3. {akshare-1.15.27 → akshare-1.15.29}/akshare/__init__.py +3 -1
  4. {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_stock_zh.py +1 -0
  5. {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_sw.py +10 -2
  6. {akshare-1.15.27 → akshare-1.15.29}/akshare/option/option_commodity.py +95 -22
  7. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_hk_valuation_baidu.py +20 -8
  8. {akshare-1.15.27 → akshare-1.15.29}/akshare.egg-info/PKG-INFO +2 -2
  9. {akshare-1.15.27 → akshare-1.15.29}/LICENSE +0 -0
  10. {akshare-1.15.27 → akshare-1.15.29}/akshare/air/__init__.py +0 -0
  11. {akshare-1.15.27 → akshare-1.15.29}/akshare/air/air_hebei.py +0 -0
  12. {akshare-1.15.27 → akshare-1.15.29}/akshare/air/air_zhenqi.py +0 -0
  13. {akshare-1.15.27 → akshare-1.15.29}/akshare/air/cons.py +0 -0
  14. {akshare-1.15.27 → akshare-1.15.29}/akshare/air/crypto.js +0 -0
  15. {akshare-1.15.27 → akshare-1.15.29}/akshare/air/outcrypto.js +0 -0
  16. {akshare-1.15.27 → akshare-1.15.29}/akshare/air/sunrise_tad.py +0 -0
  17. {akshare-1.15.27 → akshare-1.15.29}/akshare/article/__init__.py +0 -0
  18. {akshare-1.15.27 → akshare-1.15.29}/akshare/article/cons.py +0 -0
  19. {akshare-1.15.27 → akshare-1.15.29}/akshare/article/epu_index.py +0 -0
  20. {akshare-1.15.27 → akshare-1.15.29}/akshare/article/ff_factor.py +0 -0
  21. {akshare-1.15.27 → akshare-1.15.29}/akshare/article/fred_md.py +0 -0
  22. {akshare-1.15.27 → akshare-1.15.29}/akshare/article/risk_rv.py +0 -0
  23. {akshare-1.15.27 → akshare-1.15.29}/akshare/bank/__init__.py +0 -0
  24. {akshare-1.15.27 → akshare-1.15.29}/akshare/bank/bank_cbirc_2020.py +0 -0
  25. {akshare-1.15.27 → akshare-1.15.29}/akshare/bank/cons.py +0 -0
  26. {akshare-1.15.27 → akshare-1.15.29}/akshare/bond/__init__.py +0 -0
  27. {akshare-1.15.27 → akshare-1.15.29}/akshare/bond/bond_cb_sina.py +0 -0
  28. {akshare-1.15.27 → akshare-1.15.29}/akshare/bond/bond_cb_ths.py +0 -0
  29. {akshare-1.15.27 → akshare-1.15.29}/akshare/bond/bond_cbond.py +0 -0
  30. {akshare-1.15.27 → akshare-1.15.29}/akshare/bond/bond_china.py +0 -0
  31. {akshare-1.15.27 → akshare-1.15.29}/akshare/bond/bond_china_money.py +0 -0
  32. {akshare-1.15.27 → akshare-1.15.29}/akshare/bond/bond_convert.py +0 -0
  33. {akshare-1.15.27 → akshare-1.15.29}/akshare/bond/bond_em.py +0 -0
  34. {akshare-1.15.27 → akshare-1.15.29}/akshare/bond/bond_info_cm.py +0 -0
  35. {akshare-1.15.27 → akshare-1.15.29}/akshare/bond/bond_investing.py +0 -0
  36. {akshare-1.15.27 → akshare-1.15.29}/akshare/bond/bond_issue_cninfo.py +0 -0
  37. {akshare-1.15.27 → akshare-1.15.29}/akshare/bond/bond_nafmii.py +0 -0
  38. {akshare-1.15.27 → akshare-1.15.29}/akshare/bond/bond_summary.py +0 -0
  39. {akshare-1.15.27 → akshare-1.15.29}/akshare/bond/bond_zh_cov.py +0 -0
  40. {akshare-1.15.27 → akshare-1.15.29}/akshare/bond/bond_zh_sina.py +0 -0
  41. {akshare-1.15.27 → akshare-1.15.29}/akshare/bond/cons.py +0 -0
  42. {akshare-1.15.27 → akshare-1.15.29}/akshare/cal/__init__.py +0 -0
  43. {akshare-1.15.27 → akshare-1.15.29}/akshare/cal/rv.py +0 -0
  44. {akshare-1.15.27 → akshare-1.15.29}/akshare/cost/__init__.py +0 -0
  45. {akshare-1.15.27 → akshare-1.15.29}/akshare/cost/cost_living.py +0 -0
  46. {akshare-1.15.27 → akshare-1.15.29}/akshare/crypto/__init__.py +0 -0
  47. {akshare-1.15.27 → akshare-1.15.29}/akshare/crypto/crypto_bitcoin_cme.py +0 -0
  48. {akshare-1.15.27 → akshare-1.15.29}/akshare/crypto/crypto_hist_investing.py +0 -0
  49. {akshare-1.15.27 → akshare-1.15.29}/akshare/crypto/crypto_hold.py +0 -0
  50. {akshare-1.15.27 → akshare-1.15.29}/akshare/currency/__init__.py +0 -0
  51. {akshare-1.15.27 → akshare-1.15.29}/akshare/currency/currency.py +0 -0
  52. {akshare-1.15.27 → akshare-1.15.29}/akshare/currency/currency_china_bank_sina.py +0 -0
  53. {akshare-1.15.27 → akshare-1.15.29}/akshare/currency/currency_safe.py +0 -0
  54. {akshare-1.15.27 → akshare-1.15.29}/akshare/data/__init__.py +0 -0
  55. {akshare-1.15.27 → akshare-1.15.29}/akshare/data/cninfo.js +0 -0
  56. {akshare-1.15.27 → akshare-1.15.29}/akshare/data/crypto_info.zip +0 -0
  57. {akshare-1.15.27 → akshare-1.15.29}/akshare/data/ths.js +0 -0
  58. {akshare-1.15.27 → akshare-1.15.29}/akshare/datasets.py +0 -0
  59. {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/__init__.py +0 -0
  60. {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/cons.py +0 -0
  61. {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/macro_australia.py +0 -0
  62. {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/macro_bank.py +0 -0
  63. {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/macro_canada.py +0 -0
  64. {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/macro_china.py +0 -0
  65. {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/macro_china_hk.py +0 -0
  66. {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/macro_china_nbs.py +0 -0
  67. {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/macro_constitute.py +0 -0
  68. {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/macro_euro.py +0 -0
  69. {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/macro_finance_ths.py +0 -0
  70. {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/macro_germany.py +0 -0
  71. {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/macro_info_ws.py +0 -0
  72. {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/macro_japan.py +0 -0
  73. {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/macro_other.py +0 -0
  74. {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/macro_swiss.py +0 -0
  75. {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/macro_uk.py +0 -0
  76. {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/macro_usa.py +0 -0
  77. {akshare-1.15.27 → akshare-1.15.29}/akshare/economic/marco_cnbs.py +0 -0
  78. {akshare-1.15.27 → akshare-1.15.29}/akshare/energy/__init__.py +0 -0
  79. {akshare-1.15.27 → akshare-1.15.29}/akshare/energy/energy_carbon.py +0 -0
  80. {akshare-1.15.27 → akshare-1.15.29}/akshare/energy/energy_oil_em.py +0 -0
  81. {akshare-1.15.27 → akshare-1.15.29}/akshare/event/__init__.py +0 -0
  82. {akshare-1.15.27 → akshare-1.15.29}/akshare/event/cons.py +0 -0
  83. {akshare-1.15.27 → akshare-1.15.29}/akshare/event/migration.py +0 -0
  84. {akshare-1.15.27 → akshare-1.15.29}/akshare/exceptions.py +0 -0
  85. {akshare-1.15.27 → akshare-1.15.29}/akshare/file_fold/__init__.py +0 -0
  86. {akshare-1.15.27 → akshare-1.15.29}/akshare/file_fold/calendar.json +0 -0
  87. {akshare-1.15.27 → akshare-1.15.29}/akshare/fortune/__init__.py +0 -0
  88. {akshare-1.15.27 → akshare-1.15.29}/akshare/fortune/fortune_500.py +0 -0
  89. {akshare-1.15.27 → akshare-1.15.29}/akshare/fortune/fortune_bloomberg.py +0 -0
  90. {akshare-1.15.27 → akshare-1.15.29}/akshare/fortune/fortune_forbes_500.py +0 -0
  91. {akshare-1.15.27 → akshare-1.15.29}/akshare/fortune/fortune_hurun.py +0 -0
  92. {akshare-1.15.27 → akshare-1.15.29}/akshare/fortune/fortune_xincaifu_500.py +0 -0
  93. {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/__init__.py +0 -0
  94. {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_amac.py +0 -0
  95. {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_announcement.py +0 -0
  96. {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_aum_em.py +0 -0
  97. {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_em.py +0 -0
  98. {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_etf_em.py +0 -0
  99. {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_etf_sina.py +0 -0
  100. {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_etf_ths.py +0 -0
  101. {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_fhsp_em.py +0 -0
  102. {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_init_em.py +0 -0
  103. {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_lof_em.py +0 -0
  104. {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_manager.py +0 -0
  105. {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_portfolio_em.py +0 -0
  106. {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_position_lg.py +0 -0
  107. {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_rank_em.py +0 -0
  108. {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_rating.py +0 -0
  109. {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_report_cninfo.py +0 -0
  110. {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_scale_em.py +0 -0
  111. {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_scale_sina.py +0 -0
  112. {akshare-1.15.27 → akshare-1.15.29}/akshare/fund/fund_xq.py +0 -0
  113. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/__init__.py +0 -0
  114. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/cons.py +0 -0
  115. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/cot.py +0 -0
  116. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_basis.py +0 -0
  117. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_comex_em.py +0 -0
  118. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_comm_ctp.py +0 -0
  119. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_comm_qihuo.py +0 -0
  120. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_contract_detail.py +0 -0
  121. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_daily_bar.py +0 -0
  122. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_foreign.py +0 -0
  123. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_hf_em.py +0 -0
  124. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_hq_sina.py +0 -0
  125. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_index_ccidx.py +0 -0
  126. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_international.py +0 -0
  127. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_inventory_99.py +0 -0
  128. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_inventory_em.py +0 -0
  129. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_news_baidu.py +0 -0
  130. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_news_shmet.py +0 -0
  131. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_roll_yield.py +0 -0
  132. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_rule.py +0 -0
  133. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_settlement_price_sgx.py +0 -0
  134. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_spot_stock_em.py +0 -0
  135. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_stock_js.py +0 -0
  136. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_to_spot.py +0 -0
  137. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_warehouse_receipt.py +0 -0
  138. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/futures_zh_sina.py +0 -0
  139. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/inventory_data.py +0 -0
  140. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/receipt.py +0 -0
  141. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/requests_fun.py +0 -0
  142. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures/symbol_var.py +0 -0
  143. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures_derivative/__init__.py +0 -0
  144. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures_derivative/cons.py +0 -0
  145. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures_derivative/futures_contract_info_cffex.py +0 -0
  146. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures_derivative/futures_contract_info_czce.py +0 -0
  147. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures_derivative/futures_contract_info_dce.py +0 -0
  148. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures_derivative/futures_contract_info_gfex.py +0 -0
  149. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures_derivative/futures_contract_info_ine.py +0 -0
  150. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures_derivative/futures_contract_info_shfe.py +0 -0
  151. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures_derivative/futures_cot_sina.py +0 -0
  152. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures_derivative/futures_hog.py +0 -0
  153. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures_derivative/futures_index_sina.py +0 -0
  154. {akshare-1.15.27 → akshare-1.15.29}/akshare/futures_derivative/futures_spot_sys.py +0 -0
  155. {akshare-1.15.27 → akshare-1.15.29}/akshare/fx/__init__.py +0 -0
  156. {akshare-1.15.27 → akshare-1.15.29}/akshare/fx/cons.py +0 -0
  157. {akshare-1.15.27 → akshare-1.15.29}/akshare/fx/currency_investing.py +0 -0
  158. {akshare-1.15.27 → akshare-1.15.29}/akshare/fx/fx_quote.py +0 -0
  159. {akshare-1.15.27 → akshare-1.15.29}/akshare/fx/fx_quote_baidu.py +0 -0
  160. {akshare-1.15.27 → akshare-1.15.29}/akshare/hf/__init__.py +0 -0
  161. {akshare-1.15.27 → akshare-1.15.29}/akshare/hf/hf_sp500.py +0 -0
  162. {akshare-1.15.27 → akshare-1.15.29}/akshare/index/__init__.py +0 -0
  163. {akshare-1.15.27 → akshare-1.15.29}/akshare/index/cons.py +0 -0
  164. {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_cflp.py +0 -0
  165. {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_cni.py +0 -0
  166. {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_cons.py +0 -0
  167. {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_cx.py +0 -0
  168. {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_drewry.py +0 -0
  169. {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_eri.py +0 -0
  170. {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_fear_greed_funddb.py +0 -0
  171. {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_hog.py +0 -0
  172. {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_investing.py +0 -0
  173. {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_kq_fz.py +0 -0
  174. {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_kq_ss.py +0 -0
  175. {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_option_qvix.py +0 -0
  176. {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_research_fund_sw.py +0 -0
  177. {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_research_sw.py +0 -0
  178. {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_spot.py +0 -0
  179. {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_stock_hk.py +0 -0
  180. {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_stock_us_sina.py +0 -0
  181. {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_stock_zh_csindex.py +0 -0
  182. {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_sugar.py +0 -0
  183. {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_yw.py +0 -0
  184. {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_zh_a_scope.py +0 -0
  185. {akshare-1.15.27 → akshare-1.15.29}/akshare/index/index_zh_em.py +0 -0
  186. {akshare-1.15.27 → akshare-1.15.29}/akshare/interest_rate/__init__.py +0 -0
  187. {akshare-1.15.27 → akshare-1.15.29}/akshare/interest_rate/interbank_rate_em.py +0 -0
  188. {akshare-1.15.27 → akshare-1.15.29}/akshare/movie/__init__.py +0 -0
  189. {akshare-1.15.27 → akshare-1.15.29}/akshare/movie/artist_yien.py +0 -0
  190. {akshare-1.15.27 → akshare-1.15.29}/akshare/movie/jm.js +0 -0
  191. {akshare-1.15.27 → akshare-1.15.29}/akshare/movie/movie_yien.py +0 -0
  192. {akshare-1.15.27 → akshare-1.15.29}/akshare/movie/video_yien.py +0 -0
  193. {akshare-1.15.27 → akshare-1.15.29}/akshare/news/__init__.py +0 -0
  194. {akshare-1.15.27 → akshare-1.15.29}/akshare/news/news_baidu.py +0 -0
  195. {akshare-1.15.27 → akshare-1.15.29}/akshare/news/news_cctv.py +0 -0
  196. {akshare-1.15.27 → akshare-1.15.29}/akshare/news/news_stock.py +0 -0
  197. {akshare-1.15.27 → akshare-1.15.29}/akshare/nlp/__init__.py +0 -0
  198. {akshare-1.15.27 → akshare-1.15.29}/akshare/nlp/nlp_interface.py +0 -0
  199. {akshare-1.15.27 → akshare-1.15.29}/akshare/option/__init__.py +0 -0
  200. {akshare-1.15.27 → akshare-1.15.29}/akshare/option/cons.py +0 -0
  201. {akshare-1.15.27 → akshare-1.15.29}/akshare/option/option_comm_qihuo.py +0 -0
  202. {akshare-1.15.27 → akshare-1.15.29}/akshare/option/option_commodity_sina.py +0 -0
  203. {akshare-1.15.27 → akshare-1.15.29}/akshare/option/option_czce.py +0 -0
  204. {akshare-1.15.27 → akshare-1.15.29}/akshare/option/option_daily_stats_sse_szse.py +0 -0
  205. {akshare-1.15.27 → akshare-1.15.29}/akshare/option/option_em.py +0 -0
  206. {akshare-1.15.27 → akshare-1.15.29}/akshare/option/option_finance.py +0 -0
  207. {akshare-1.15.27 → akshare-1.15.29}/akshare/option/option_finance_sina.py +0 -0
  208. {akshare-1.15.27 → akshare-1.15.29}/akshare/option/option_lhb_em.py +0 -0
  209. {akshare-1.15.27 → akshare-1.15.29}/akshare/option/option_premium_analysis_em.py +0 -0
  210. {akshare-1.15.27 → akshare-1.15.29}/akshare/option/option_risk_analysis_em.py +0 -0
  211. {akshare-1.15.27 → akshare-1.15.29}/akshare/option/option_risk_indicator_sse.py +0 -0
  212. {akshare-1.15.27 → akshare-1.15.29}/akshare/option/option_value_analysis_em.py +0 -0
  213. {akshare-1.15.27 → akshare-1.15.29}/akshare/other/__init__.py +0 -0
  214. {akshare-1.15.27 → akshare-1.15.29}/akshare/other/other_car_cpca.py +0 -0
  215. {akshare-1.15.27 → akshare-1.15.29}/akshare/other/other_car_gasgoo.py +0 -0
  216. {akshare-1.15.27 → akshare-1.15.29}/akshare/pro/__init__.py +0 -0
  217. {akshare-1.15.27 → akshare-1.15.29}/akshare/pro/client.py +0 -0
  218. {akshare-1.15.27 → akshare-1.15.29}/akshare/pro/cons.py +0 -0
  219. {akshare-1.15.27 → akshare-1.15.29}/akshare/pro/data_pro.py +0 -0
  220. {akshare-1.15.27 → akshare-1.15.29}/akshare/qdii/__init__.py +0 -0
  221. {akshare-1.15.27 → akshare-1.15.29}/akshare/qdii/qdii_jsl.py +0 -0
  222. {akshare-1.15.27 → akshare-1.15.29}/akshare/qhkc/__init__.py +0 -0
  223. {akshare-1.15.27 → akshare-1.15.29}/akshare/qhkc/qhkc_api.py +0 -0
  224. {akshare-1.15.27 → akshare-1.15.29}/akshare/qhkc_web/__init__.py +0 -0
  225. {akshare-1.15.27 → akshare-1.15.29}/akshare/qhkc_web/qhkc_fund.py +0 -0
  226. {akshare-1.15.27 → akshare-1.15.29}/akshare/qhkc_web/qhkc_index.py +0 -0
  227. {akshare-1.15.27 → akshare-1.15.29}/akshare/qhkc_web/qhkc_tool.py +0 -0
  228. {akshare-1.15.27 → akshare-1.15.29}/akshare/rate/__init__.py +0 -0
  229. {akshare-1.15.27 → akshare-1.15.29}/akshare/rate/repo_rate.py +0 -0
  230. {akshare-1.15.27 → akshare-1.15.29}/akshare/reits/__init__.py +0 -0
  231. {akshare-1.15.27 → akshare-1.15.29}/akshare/reits/reits_basic.py +0 -0
  232. {akshare-1.15.27 → akshare-1.15.29}/akshare/request.py +0 -0
  233. {akshare-1.15.27 → akshare-1.15.29}/akshare/sport/__init__.py +0 -0
  234. {akshare-1.15.27 → akshare-1.15.29}/akshare/sport/sport_olympic.py +0 -0
  235. {akshare-1.15.27 → akshare-1.15.29}/akshare/spot/__init__.py +0 -0
  236. {akshare-1.15.27 → akshare-1.15.29}/akshare/spot/spot_hog_soozhu.py +0 -0
  237. {akshare-1.15.27 → akshare-1.15.29}/akshare/spot/spot_price_qh.py +0 -0
  238. {akshare-1.15.27 → akshare-1.15.29}/akshare/spot/spot_sge.py +0 -0
  239. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/__init__.py +0 -0
  240. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/cons.py +0 -0
  241. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_allotment_cninfo.py +0 -0
  242. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_ask_bid_em.py +0 -0
  243. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_board_concept_em.py +0 -0
  244. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_board_industry_em.py +0 -0
  245. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_cg_equity_mortgage.py +0 -0
  246. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_cg_guarantee.py +0 -0
  247. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_cg_lawsuit.py +0 -0
  248. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_dividend_cninfo.py +0 -0
  249. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_dzjy_em.py +0 -0
  250. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_fund_em.py +0 -0
  251. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_fund_hold.py +0 -0
  252. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_gsrl_em.py +0 -0
  253. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_hk_famous.py +0 -0
  254. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_hk_fhpx_ths.py +0 -0
  255. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_hk_hot_rank_em.py +0 -0
  256. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_hk_sina.py +0 -0
  257. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_hold_control_cninfo.py +0 -0
  258. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_hold_control_em.py +0 -0
  259. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_hold_num_cninfo.py +0 -0
  260. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_hot_rank_em.py +0 -0
  261. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_hot_search_baidu.py +0 -0
  262. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_hot_up_em.py +0 -0
  263. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_industry.py +0 -0
  264. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_industry_cninfo.py +0 -0
  265. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_industry_pe_cninfo.py +0 -0
  266. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_industry_sw.py +0 -0
  267. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_info.py +0 -0
  268. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_info_em.py +0 -0
  269. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_intraday_em.py +0 -0
  270. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_intraday_sina.py +0 -0
  271. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_ipo_summary_cninfo.py +0 -0
  272. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_new_cninfo.py +0 -0
  273. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_news_cx.py +0 -0
  274. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_profile_cninfo.py +0 -0
  275. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_rank_forecast.py +0 -0
  276. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_repurchase_em.py +0 -0
  277. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_share_changes_cninfo.py +0 -0
  278. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_share_hold.py +0 -0
  279. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_stop.py +0 -0
  280. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_summary.py +0 -0
  281. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_us_famous.py +0 -0
  282. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_us_js.py +0 -0
  283. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_us_pink.py +0 -0
  284. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_us_sina.py +0 -0
  285. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_weibo_nlp.py +0 -0
  286. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_xq.py +0 -0
  287. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_zh_a_sina.py +0 -0
  288. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_zh_a_special.py +0 -0
  289. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_zh_a_tick_tx.py +0 -0
  290. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_zh_ah_tx.py +0 -0
  291. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_zh_b_sina.py +0 -0
  292. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_zh_kcb_report.py +0 -0
  293. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock/stock_zh_kcb_sina.py +0 -0
  294. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/__init__.py +0 -0
  295. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/cons.py +0 -0
  296. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_a_below_net_asset_statistics.py +0 -0
  297. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_a_high_low.py +0 -0
  298. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_a_indicator.py +0 -0
  299. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_a_pe_and_pb.py +0 -0
  300. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_account_em.py +0 -0
  301. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_all_pb.py +0 -0
  302. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_analyst_em.py +0 -0
  303. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_board_industry_ths.py +0 -0
  304. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_buffett_index_lg.py +0 -0
  305. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_classify_sina.py +0 -0
  306. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_comment_em.py +0 -0
  307. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_concept_futu.py +0 -0
  308. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_congestion_lg.py +0 -0
  309. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_cyq_em.py +0 -0
  310. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_disclosure_cninfo.py +0 -0
  311. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_dxsyl_em.py +0 -0
  312. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_ebs_lg.py +0 -0
  313. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_esg_sina.py +0 -0
  314. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_fhps_em.py +0 -0
  315. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_fhps_ths.py +0 -0
  316. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_fund_flow.py +0 -0
  317. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_gddh_em.py +0 -0
  318. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_gdfx_em.py +0 -0
  319. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_gdhs.py +0 -0
  320. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_gdzjc_em.py +0 -0
  321. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_gpzy_em.py +0 -0
  322. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_gxl_lg.py +0 -0
  323. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_hist_em.py +0 -0
  324. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_hist_tx.py +0 -0
  325. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_hot_xq.py +0 -0
  326. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_hsgt_em.py +0 -0
  327. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_hsgt_exchange_rate.py +0 -0
  328. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_hsgt_min_em.py +0 -0
  329. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_info.py +0 -0
  330. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_inner_trade_xq.py +0 -0
  331. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_irm_cninfo.py +0 -0
  332. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_jgdy_em.py +0 -0
  333. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_lh_yybpm.py +0 -0
  334. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_lhb_em.py +0 -0
  335. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_lhb_sina.py +0 -0
  336. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_margin_em.py +0 -0
  337. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_margin_sse.py +0 -0
  338. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_margin_szse.py +0 -0
  339. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_market_legu.py +0 -0
  340. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_pankou_em.py +0 -0
  341. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_qsjy_em.py +0 -0
  342. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_report_em.py +0 -0
  343. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_research_report_em.py +0 -0
  344. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_sns_sseinfo.py +0 -0
  345. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_sy_em.py +0 -0
  346. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_technology_ths.py +0 -0
  347. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_tfp_em.py +0 -0
  348. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_three_report_em.py +0 -0
  349. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_ttm_lyr.py +0 -0
  350. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_wencai.py +0 -0
  351. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_yjbb_em.py +0 -0
  352. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_yjyg_cninfo.py +0 -0
  353. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_yjyg_em.py +0 -0
  354. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_yzxdr_em.py +0 -0
  355. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_zdhtmx_em.py +0 -0
  356. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_zf_pg.py +0 -0
  357. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_zh_valuation_baidu.py +0 -0
  358. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_zh_vote_baidu.py +0 -0
  359. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/stock_ztb_em.py +0 -0
  360. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_feature/ths.js +0 -0
  361. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/__init__.py +0 -0
  362. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_finance.py +0 -0
  363. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_finance_hk.py +0 -0
  364. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_finance_ths.py +0 -0
  365. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_hold.py +0 -0
  366. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_ipo_declare.py +0 -0
  367. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_kcb_detail_sse.py +0 -0
  368. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_kcb_sse.py +0 -0
  369. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_mda_ym.py +0 -0
  370. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_notice.py +0 -0
  371. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_profit_forecast_em.py +0 -0
  372. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_profit_forecast_hk_etnet.py +0 -0
  373. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_profit_forecast_ths.py +0 -0
  374. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_recommend.py +0 -0
  375. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_register_em.py +0 -0
  376. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_restricted_em.py +0 -0
  377. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_zygc.py +0 -0
  378. {akshare-1.15.27 → akshare-1.15.29}/akshare/stock_fundamental/stock_zyjs_ths.py +0 -0
  379. {akshare-1.15.27 → akshare-1.15.29}/akshare/tool/__init__.py +0 -0
  380. {akshare-1.15.27 → akshare-1.15.29}/akshare/tool/trade_date_hist.py +0 -0
  381. {akshare-1.15.27 → akshare-1.15.29}/akshare/utils/__init__.py +0 -0
  382. {akshare-1.15.27 → akshare-1.15.29}/akshare/utils/cons.py +0 -0
  383. {akshare-1.15.27 → akshare-1.15.29}/akshare/utils/context.py +0 -0
  384. {akshare-1.15.27 → akshare-1.15.29}/akshare/utils/demjson.py +0 -0
  385. {akshare-1.15.27 → akshare-1.15.29}/akshare/utils/func.py +0 -0
  386. {akshare-1.15.27 → akshare-1.15.29}/akshare/utils/token_process.py +0 -0
  387. {akshare-1.15.27 → akshare-1.15.29}/akshare/utils/tqdm.py +0 -0
  388. {akshare-1.15.27 → akshare-1.15.29}/akshare.egg-info/SOURCES.txt +0 -0
  389. {akshare-1.15.27 → akshare-1.15.29}/akshare.egg-info/dependency_links.txt +0 -0
  390. {akshare-1.15.27 → akshare-1.15.29}/akshare.egg-info/requires.txt +0 -0
  391. {akshare-1.15.27 → akshare-1.15.29}/akshare.egg-info/top_level.txt +0 -0
  392. {akshare-1.15.27 → akshare-1.15.29}/pyproject.toml +0 -0
  393. {akshare-1.15.27 → akshare-1.15.29}/setup.cfg +0 -0
  394. {akshare-1.15.27 → akshare-1.15.29}/setup.py +0 -0
  395. {akshare-1.15.27 → akshare-1.15.29}/tests/__init__.py +0 -0
  396. {akshare-1.15.27 → akshare-1.15.29}/tests/test_func.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: akshare
3
- Version: 1.15.27
3
+ Version: 1.15.29
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
@@ -40,7 +40,7 @@ Requires-Dist: akqmt; extra == "qmt"
40
40
 
41
41
  **欢迎加入专注于财经数据和量化投资的知识社区,请点击[了解更多](https://akshare.akfamily.xyz/learn.html)**
42
42
 
43
- **首门量化投资教程:《PyBroker-入门及实战》已经录制完成,目前已经上架!**
43
+ **量化投研视频课程:《PyBroker-入门及实战》已经上架!**
44
44
 
45
45
  **更多视频教程已经发布:《AKShare-初阶-使用教学》、《AKShare-初阶-实战应用》、《AKShare-源码解析》、《开源项目巡礼》**,
46
46
  详情请关注【数据科学实战】公众号,查看更多课程信息!
@@ -1,6 +1,6 @@
1
1
  **欢迎加入专注于财经数据和量化投资的知识社区,请点击[了解更多](https://akshare.akfamily.xyz/learn.html)**
2
2
 
3
- **首门量化投资教程:《PyBroker-入门及实战》已经录制完成,目前已经上架!**
3
+ **量化投研视频课程:《PyBroker-入门及实战》已经上架!**
4
4
 
5
5
  **更多视频教程已经发布:《AKShare-初阶-使用教学》、《AKShare-初阶-实战应用》、《AKShare-源码解析》、《开源项目巡礼》**,
6
6
  详情请关注【数据科学实战】公众号,查看更多课程信息!
@@ -2937,9 +2937,11 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
2937
2937
  1.15.25 fix: fix stock_news_main_cx interface
2938
2938
  1.15.26 fix: fix option_dce_daily interface
2939
2939
  1.15.27 fix: fix stock_zh_index_spot_em interface
2940
+ 1.15.28 fix: fix stock_hk_valuation_baidu interface
2941
+ 1.15.29 fix: fix option_dce_daily interface
2940
2942
  """
2941
2943
 
2942
- __version__ = "1.15.27"
2944
+ __version__ = "1.15.29"
2943
2945
  __author__ = "AKFamily"
2944
2946
 
2945
2947
  import sys
@@ -216,6 +216,7 @@ def stock_zh_index_spot_em(symbol: str = "上证系列指数") -> pd.DataFrame:
216
216
  """
217
217
  if symbol == "沪深重要指数":
218
218
  return __stock_zh_main_spot_em()
219
+
219
220
  url = "https://48.push2.eastmoney.com/api/qt/clist/get"
220
221
  symbol_map = {
221
222
  "上证系列指数": "m:1 s:2",
@@ -95,6 +95,9 @@ def sw_index_second_info() -> pd.DataFrame:
95
95
  )
96
96
  code = [item.get_text() for item in code_raw]
97
97
  name = [item.get_text().split("(")[0] for item in name_raw]
98
+ parent_name = [
99
+ item.find("span").get_text().split("(")[0][1:-1] for item in name_raw
100
+ ]
98
101
  num = [item.get_text().split("(")[1].split(")")[0] for item in name_raw]
99
102
  num_1 = [
100
103
  item.find_all("span", attrs={"class": "value"})[0].get_text().strip()
@@ -112,10 +115,11 @@ def sw_index_second_info() -> pd.DataFrame:
112
115
  item.find_all("span", attrs={"class": "value"})[3].get_text().strip()
113
116
  for item in value_raw
114
117
  ]
115
- temp_df = pd.DataFrame([code, name, num, num_1, num_2, num_3, num_4]).T
118
+ temp_df = pd.DataFrame([code, name, parent_name, num, num_1, num_2, num_3, num_4]).T
116
119
  temp_df.columns = [
117
120
  "行业代码",
118
121
  "行业名称",
122
+ "上级行业",
119
123
  "成份个数",
120
124
  "静态市盈率",
121
125
  "TTM(滚动)市盈率",
@@ -153,6 +157,9 @@ def sw_index_third_info() -> pd.DataFrame:
153
157
  )
154
158
  code = [item.get_text() for item in code_raw]
155
159
  name = [item.get_text().split("(")[0] for item in name_raw]
160
+ parent_name = [
161
+ item.find("span").get_text().split("(")[0][1:-1] for item in name_raw
162
+ ]
156
163
  num = [item.get_text().split("(")[1].split(")")[0] for item in name_raw]
157
164
  num_1 = [
158
165
  item.find_all("span", attrs={"class": "value"})[0].get_text().strip()
@@ -170,10 +177,11 @@ def sw_index_third_info() -> pd.DataFrame:
170
177
  item.find_all("span", attrs={"class": "value"})[3].get_text().strip()
171
178
  for item in value_raw
172
179
  ]
173
- temp_df = pd.DataFrame([code, name, num, num_1, num_2, num_3, num_4]).T
180
+ temp_df = pd.DataFrame([code, name, parent_name, num, num_1, num_2, num_3, num_4]).T
174
181
  temp_df.columns = [
175
182
  "行业代码",
176
183
  "行业名称",
184
+ "上级行业",
177
185
  "成份个数",
178
186
  "静态市盈率",
179
187
  "TTM(滚动)市盈率",
@@ -80,7 +80,7 @@ def option_dce_daily(
80
80
  elif symbol == "玉米期权":
81
81
  result_one_df, result_two_df = (
82
82
  table_df[table_df["商品名称"] == "玉米"],
83
- another_df[another_df.iloc[:, 0].str.contains("c")],
83
+ another_df[another_df.iloc[:, 0].str.contains(r"^c\d")],
84
84
  )
85
85
  elif symbol == "铁矿石期权":
86
86
  result_one_df, result_two_df = (
@@ -163,6 +163,43 @@ def option_dce_daily(
163
163
  return result_one_df, result_two_df
164
164
 
165
165
 
166
+ def __option_czce_daily_convert_numeric_columns(df):
167
+ # 定义要处理的列
168
+ columns_to_convert = [
169
+ "昨结算",
170
+ "今开盘",
171
+ "最高价",
172
+ "最低价",
173
+ "今收盘",
174
+ "今结算",
175
+ "涨跌1",
176
+ "涨跌2",
177
+ "成交量(手)",
178
+ "持仓量",
179
+ "增减量",
180
+ "成交额(万元)",
181
+ "DELTA",
182
+ "隐含波动率",
183
+ "行权量",
184
+ ]
185
+
186
+ # 转换函数:去除逗号并转换为float
187
+ def convert_to_float(x):
188
+ try:
189
+ return float(str(x).replace(",", ""))
190
+ except: # noqa: E722
191
+ return x
192
+
193
+ # 创建DataFrame的副本以避免SettingWithCopyWarning
194
+ df_copy = df.copy()
195
+ df_copy.columns = [item.strip() for item in df_copy]
196
+ # 应用转换
197
+ for col in columns_to_convert:
198
+ df_copy[col] = df_copy[col].apply(convert_to_float)
199
+
200
+ return df_copy
201
+
202
+
166
203
  def option_czce_daily(
167
204
  symbol: str = "白糖期权", trade_date: str = "20191017"
168
205
  ) -> pd.DataFrame:
@@ -192,82 +229,118 @@ def option_czce_daily(
192
229
  if symbol == "白糖期权":
193
230
  temp_df = table_df[table_df.iloc[:, 0].str.contains("SR")]
194
231
  temp_df.reset_index(inplace=True, drop=True)
195
- return temp_df.iloc[:-1, :]
232
+ temp_df = temp_df.iloc[:-1, :].copy()
233
+ new_df = __option_czce_daily_convert_numeric_columns(temp_df)
234
+ return new_df
196
235
  elif symbol == "棉花期权":
197
236
  temp_df = table_df[table_df.iloc[:, 0].str.contains("CF")]
198
237
  temp_df.reset_index(inplace=True, drop=True)
199
- return temp_df.iloc[:-1, :]
238
+ temp_df = temp_df.iloc[:-1, :].copy()
239
+ new_df = __option_czce_daily_convert_numeric_columns(temp_df)
240
+ return new_df
200
241
  elif symbol == "甲醇期权":
201
242
  temp_df = table_df[table_df.iloc[:, 0].str.contains("MA")]
202
243
  temp_df.reset_index(inplace=True, drop=True)
203
- return temp_df.iloc[:-1, :]
244
+ temp_df = temp_df.iloc[:-1, :].copy()
245
+ new_df = __option_czce_daily_convert_numeric_columns(temp_df)
246
+ return new_df
204
247
  elif symbol == "PTA期权":
205
248
  temp_df = table_df[table_df.iloc[:, 0].str.contains("TA")]
206
249
  temp_df.reset_index(inplace=True, drop=True)
207
- return temp_df.iloc[:-1, :]
250
+ temp_df = temp_df.iloc[:-1, :].copy()
251
+ new_df = __option_czce_daily_convert_numeric_columns(temp_df)
252
+ return new_df
208
253
  elif symbol == "菜籽粕期权":
209
254
  temp_df = table_df[table_df.iloc[:, 0].str.contains("RM")]
210
255
  temp_df.reset_index(inplace=True, drop=True)
211
- return temp_df.iloc[:-1, :]
256
+ temp_df = temp_df.iloc[:-1, :].copy()
257
+ new_df = __option_czce_daily_convert_numeric_columns(temp_df)
258
+ return new_df
212
259
  elif symbol == "动力煤期权":
213
260
  temp_df = table_df[table_df.iloc[:, 0].str.contains("ZC")]
214
261
  temp_df.reset_index(inplace=True, drop=True)
215
- return temp_df.iloc[:-1, :]
262
+ temp_df = temp_df.iloc[:-1, :].copy()
263
+ new_df = __option_czce_daily_convert_numeric_columns(temp_df)
264
+ return new_df
216
265
  elif symbol == "短纤期权":
217
266
  temp_df = table_df[table_df.iloc[:, 0].str.contains("PF")]
218
267
  temp_df.reset_index(inplace=True, drop=True)
219
- return temp_df.iloc[:-1, :]
268
+ temp_df = temp_df.iloc[:-1, :].copy()
269
+ new_df = __option_czce_daily_convert_numeric_columns(temp_df)
270
+ return new_df
220
271
  elif symbol == "菜籽油期权":
221
272
  temp_df = table_df[table_df.iloc[:, 0].str.contains("OI")]
222
273
  temp_df.reset_index(inplace=True, drop=True)
223
- return temp_df.iloc[:-1, :]
274
+ temp_df = temp_df.iloc[:-1, :].copy()
275
+ new_df = __option_czce_daily_convert_numeric_columns(temp_df)
276
+ return new_df
224
277
  elif symbol == "花生期权":
225
278
  temp_df = table_df[table_df.iloc[:, 0].str.contains("PK")]
226
279
  temp_df.reset_index(inplace=True, drop=True)
227
- return temp_df.iloc[:-1, :]
280
+ temp_df = temp_df.iloc[:-1, :].copy()
281
+ new_df = __option_czce_daily_convert_numeric_columns(temp_df)
282
+ return new_df
228
283
  elif symbol == "纯碱期权":
229
284
  temp_df = table_df[table_df.iloc[:, 0].str.contains("SA")]
230
285
  temp_df.reset_index(inplace=True, drop=True)
231
- return temp_df.iloc[:-1, :]
286
+ temp_df = temp_df.iloc[:-1, :].copy()
287
+ new_df = __option_czce_daily_convert_numeric_columns(temp_df)
288
+ return new_df
232
289
  elif symbol == "锰硅期权":
233
290
  temp_df = table_df[table_df.iloc[:, 0].str.contains("SM")]
234
291
  temp_df.reset_index(inplace=True, drop=True)
235
- return temp_df.iloc[:-1, :]
292
+ temp_df = temp_df.iloc[:-1, :].copy()
293
+ new_df = __option_czce_daily_convert_numeric_columns(temp_df)
294
+ return new_df
236
295
  elif symbol == "硅铁期权":
237
296
  temp_df = table_df[table_df.iloc[:, 0].str.contains("SF")]
238
297
  temp_df.reset_index(inplace=True, drop=True)
239
- return temp_df.iloc[:-1, :]
298
+ temp_df = temp_df.iloc[:-1, :].copy()
299
+ new_df = __option_czce_daily_convert_numeric_columns(temp_df)
300
+ return new_df
240
301
  elif symbol == "尿素期权":
241
302
  temp_df = table_df[table_df.iloc[:, 0].str.contains("UR")]
242
303
  temp_df.reset_index(inplace=True, drop=True)
243
- return temp_df.iloc[:-1, :]
304
+ temp_df = temp_df.iloc[:-1, :].copy()
305
+ new_df = __option_czce_daily_convert_numeric_columns(temp_df)
306
+ return new_df
244
307
  elif symbol == "苹果期权":
245
308
  temp_df = table_df[table_df.iloc[:, 0].str.contains("AP")]
246
309
  temp_df.reset_index(inplace=True, drop=True)
247
- return temp_df.iloc[:-1, :]
310
+ temp_df = temp_df.iloc[:-1, :].copy()
311
+ new_df = __option_czce_daily_convert_numeric_columns(temp_df)
312
+ return new_df
248
313
  elif symbol == "红枣期权":
249
314
  temp_df = table_df[table_df.iloc[:, 0].str.contains("CJ")]
250
315
  temp_df.reset_index(inplace=True, drop=True)
251
- return temp_df.iloc[:-1, :]
316
+ temp_df = temp_df.iloc[:-1, :].copy()
317
+ new_df = __option_czce_daily_convert_numeric_columns(temp_df)
318
+ return new_df
252
319
  elif symbol == "对二甲苯期权":
253
320
  temp_df = table_df[table_df.iloc[:, 0].str.contains("PX")]
254
321
  temp_df.reset_index(inplace=True, drop=True)
255
- return temp_df.iloc[:-1, :]
322
+ temp_df = temp_df.iloc[:-1, :].copy()
323
+ new_df = __option_czce_daily_convert_numeric_columns(temp_df)
324
+ return new_df
256
325
  elif symbol == "烧碱期权":
257
326
  temp_df = table_df[table_df.iloc[:, 0].str.contains("SH")]
258
327
  temp_df.reset_index(inplace=True, drop=True)
259
- return temp_df.iloc[:-1, :]
328
+ temp_df = temp_df.iloc[:-1, :].copy()
329
+ new_df = __option_czce_daily_convert_numeric_columns(temp_df)
330
+ return new_df
260
331
  elif symbol == "玻璃期权":
261
332
  temp_df = table_df[table_df.iloc[:, 0].str.contains("FG")]
262
333
  temp_df.reset_index(inplace=True, drop=True)
263
- return temp_df.iloc[:-1, :]
334
+ temp_df = temp_df.iloc[:-1, :].copy()
335
+ new_df = __option_czce_daily_convert_numeric_columns(temp_df)
336
+ return new_df
264
337
  except: # noqa: E722
265
338
  return pd.DataFrame()
266
339
 
267
340
 
268
341
  def option_shfe_daily(
269
342
  symbol: str = "铝期权", trade_date: str = "20200827"
270
- ) -> Optional[pd.DataFrame]:
343
+ ) -> Optional[tuple[pd.DataFrame, pd.DataFrame]]:
271
344
  """
272
345
  上海期货交易所-期权-日频行情数据
273
346
  https://tsite.shfe.com.cn/statements/dataview.html?paramid=kxQ
@@ -527,11 +600,11 @@ def option_gfex_vol_daily(symbol: str = "碳酸锂", trade_date: str = "20230724
527
600
 
528
601
 
529
602
  if __name__ == "__main__":
530
- option_czce_daily_df = option_czce_daily(symbol="短纤期权", trade_date="20240718")
603
+ option_czce_daily_df = option_czce_daily(symbol="白糖期权", trade_date="20240711")
531
604
  print(option_czce_daily_df)
532
605
 
533
606
  option_dce_daily_one, option_dce_daily_two = option_dce_daily(
534
- symbol="鸡蛋期权", trade_date="20241118"
607
+ symbol="玉米期权", trade_date="20241121"
535
608
  )
536
609
  print(option_dce_daily_one)
537
610
  print(option_dce_daily_two)
@@ -1,10 +1,11 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
- Date: 2023/3/9 20:26
4
+ Date: 2024/11/21 18:26
5
5
  Desc: 百度股市通-港股-财务报表-估值数据
6
6
  https://gushitong.baidu.com/stock/hk-06969
7
7
  """
8
+
8
9
  import http.client
9
10
  import json
10
11
  import urllib
@@ -22,25 +23,36 @@ def stock_hk_valuation_baidu(
22
23
  :type symbol: str
23
24
  :param indicator: choice of {"总市值", "市盈率(TTM)", "市盈率(静)", "市净率", "市现率"}
24
25
  :type indicator: str
25
- :param period: choice of {"近一年", "近三年", "近五年", "近十年", "全部"}
26
+ :param period: choice of {"近一年", "近三年", "全部"}
26
27
  :type period: str
27
28
  :return: 估值数据
28
29
  :rtype: pandas.DataFrame
29
30
  """
30
31
  params = {
31
- "srcid": "51171",
32
+ "openapi": "1",
33
+ "dspName": "iphone",
34
+ "tn": "tangram",
35
+ "client": "app",
36
+ "query": indicator,
32
37
  "code": symbol,
38
+ "word": "",
39
+ "resource_id": "51171",
33
40
  "market": "hk",
34
41
  "tag": indicator,
35
42
  "chart_select": period,
36
- "skip_industry": "0",
43
+ "industry_select": "",
44
+ "skip_industry": "1",
37
45
  "finClientType": "pc",
38
46
  }
39
- conn = http.client.HTTPSConnection("finance.pae.baidu.com")
40
- conn.request("GET", f"/selfselect/openapi?{urllib.parse.urlencode(params)}")
47
+ conn = http.client.HTTPSConnection("gushitong.baidu.com")
48
+ conn.request(method="GET", url=f"/opendata?{urllib.parse.urlencode(params)}")
41
49
  r = conn.getresponse()
42
50
  data_json = json.loads(r.read())
43
- temp_df = pd.DataFrame(data_json["Result"]["chartInfo"][0]["body"])
51
+ temp_df = pd.DataFrame(
52
+ data_json["Result"][0]["DisplayData"]["resultData"]["tplData"]["result"][
53
+ "chartInfo"
54
+ ][0]["body"]
55
+ )
44
56
  temp_df.columns = ["date", "value"]
45
57
  temp_df["date"] = pd.to_datetime(temp_df["date"]).dt.date
46
58
  temp_df["value"] = pd.to_numeric(temp_df["value"])
@@ -49,6 +61,6 @@ def stock_hk_valuation_baidu(
49
61
 
50
62
  if __name__ == "__main__":
51
63
  stock_hk_valuation_baidu_df = stock_hk_valuation_baidu(
52
- symbol="00700", indicator="总市值", period="近五年"
64
+ symbol="06969", indicator="总市值", period="近三年"
53
65
  )
54
66
  print(stock_hk_valuation_baidu_df)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: akshare
3
- Version: 1.15.27
3
+ Version: 1.15.29
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
@@ -40,7 +40,7 @@ Requires-Dist: akqmt; extra == "qmt"
40
40
 
41
41
  **欢迎加入专注于财经数据和量化投资的知识社区,请点击[了解更多](https://akshare.akfamily.xyz/learn.html)**
42
42
 
43
- **首门量化投资教程:《PyBroker-入门及实战》已经录制完成,目前已经上架!**
43
+ **量化投研视频课程:《PyBroker-入门及实战》已经上架!**
44
44
 
45
45
  **更多视频教程已经发布:《AKShare-初阶-使用教学》、《AKShare-初阶-实战应用》、《AKShare-源码解析》、《开源项目巡礼》**,
46
46
  详情请关注【数据科学实战】公众号,查看更多课程信息!
File without changes
File without changes
File without changes
File without changes
File without changes