akshare 1.16.64__tar.gz → 1.16.65__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. {akshare-1.16.64 → akshare-1.16.65}/PKG-INFO +3 -8
  2. {akshare-1.16.64 → akshare-1.16.65}/README.md +2 -7
  3. {akshare-1.16.64 → akshare-1.16.65}/akshare/__init__.py +2 -1
  4. {akshare-1.16.64 → akshare-1.16.65}/akshare/air/cons.py +1 -0
  5. {akshare-1.16.64 → akshare-1.16.65}/akshare/air/crypto.js +1 -1
  6. {akshare-1.16.64 → akshare-1.16.65}/akshare/air/outcrypto.js +1 -1
  7. {akshare-1.16.64 → akshare-1.16.65}/akshare/article/cons.py +1 -0
  8. {akshare-1.16.64 → akshare-1.16.65}/akshare/article/epu_index.py +4 -3
  9. {akshare-1.16.64 → akshare-1.16.65}/akshare/article/ff_factor.py +19 -8
  10. {akshare-1.16.64 → akshare-1.16.65}/akshare/article/fred_md.py +4 -1
  11. {akshare-1.16.64 → akshare-1.16.65}/akshare/article/risk_rv.py +3 -8
  12. {akshare-1.16.64 → akshare-1.16.65}/akshare/bond/bond_cb_sina.py +1 -0
  13. {akshare-1.16.64 → akshare-1.16.65}/akshare/bond/bond_cbond.py +19 -14
  14. {akshare-1.16.64 → akshare-1.16.65}/akshare/bond/bond_em.py +34 -15
  15. akshare-1.16.65/akshare/bond/bond_summary.py +92 -0
  16. {akshare-1.16.64 → akshare-1.16.65}/akshare/bond/bond_zh_cov.py +0 -6
  17. {akshare-1.16.64 → akshare-1.16.65}/akshare/bond/cons.py +14 -11
  18. {akshare-1.16.64 → akshare-1.16.65}/akshare/crypto/__init__.py +1 -1
  19. {akshare-1.16.64 → akshare-1.16.65}/akshare/crypto/crypto_bitcoin_cme.py +7 -7
  20. {akshare-1.16.64 → akshare-1.16.65}/akshare/crypto/crypto_hold.py +4 -1
  21. {akshare-1.16.64 → akshare-1.16.65}/akshare/currency/currency.py +1 -0
  22. {akshare-1.16.64 → akshare-1.16.65}/akshare/currency/currency_china_bank_sina.py +6 -3
  23. {akshare-1.16.64 → akshare-1.16.65}/akshare/data/__init__.py +1 -1
  24. {akshare-1.16.64 → akshare-1.16.65}/akshare/data/cninfo.js +1 -1
  25. {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/cons.py +10 -3
  26. {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/macro_australia.py +0 -7
  27. {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/macro_canada.py +92 -81
  28. {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/macro_china.py +0 -34
  29. {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/macro_china_hk.py +0 -1
  30. {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/macro_euro.py +103 -56
  31. {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/macro_germany.py +1 -1
  32. {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/macro_japan.py +0 -1
  33. {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/macro_other.py +1 -6
  34. {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/macro_swiss.py +2 -3
  35. {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/macro_uk.py +1 -1
  36. {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/macro_usa.py +0 -2
  37. {akshare-1.16.64 → akshare-1.16.65}/akshare/energy/energy_carbon.py +0 -1
  38. {akshare-1.16.64 → akshare-1.16.65}/akshare/energy/energy_oil_em.py +1 -2
  39. {akshare-1.16.64 → akshare-1.16.65}/akshare/event/cons.py +1 -0
  40. {akshare-1.16.64 → akshare-1.16.65}/akshare/forex/forex_em.py +0 -1
  41. {akshare-1.16.64 → akshare-1.16.65}/akshare/fortune/fortune_bloomberg.py +6 -3
  42. {akshare-1.16.64 → akshare-1.16.65}/akshare/fortune/fortune_forbes_500.py +3 -6
  43. {akshare-1.16.64 → akshare-1.16.65}/akshare/fortune/fortune_hurun.py +2 -1
  44. {akshare-1.16.64 → akshare-1.16.65}/akshare/fortune/fortune_xincaifu_500.py +17 -14
  45. {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_announcement.py +1 -0
  46. akshare-1.16.65/akshare/fund/fund_aum_em.py +104 -0
  47. {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_em.py +0 -7
  48. {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_etf_em.py +0 -5
  49. {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_fhsp_em.py +27 -20
  50. {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_init_em.py +8 -5
  51. {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_lof_em.py +0 -5
  52. {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_manager.py +18 -7
  53. {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_portfolio_em.py +0 -1
  54. {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_position_lg.py +19 -8
  55. {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_rank_em.py +0 -3
  56. {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_rating.py +28 -9
  57. {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_scale_em.py +24 -13
  58. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_comex_em.py +1 -0
  59. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_contract_detail.py +11 -8
  60. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_inventory_em.py +0 -2
  61. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_rule.py +5 -1
  62. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_settlement_price_sgx.py +21 -6
  63. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_stock_js.py +0 -1
  64. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/receipt.py +279 -153
  65. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/requests_fun.py +16 -3
  66. akshare-1.16.65/akshare/futures_derivative/cons.py +142 -0
  67. akshare-1.16.65/akshare/futures_derivative/futures_contract_info_cffex.py +100 -0
  68. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures_derivative/futures_contract_info_dce.py +16 -9
  69. akshare-1.16.65/akshare/futures_derivative/futures_contract_info_gfex.py +72 -0
  70. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures_derivative/futures_index_sina.py +25 -13
  71. akshare-1.16.65/akshare/fx/cons.py +23 -0
  72. {akshare-1.16.64 → akshare-1.16.65}/akshare/fx/fx_quote.py +1 -0
  73. {akshare-1.16.64 → akshare-1.16.65}/akshare/fx/fx_quote_baidu.py +2 -1
  74. {akshare-1.16.64 → akshare-1.16.65}/akshare/hf/__init__.py +1 -1
  75. {akshare-1.16.64 → akshare-1.16.65}/akshare/hf/hf_sp500.py +8 -7
  76. {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_eri.py +1 -0
  77. {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_global_em.py +0 -1
  78. {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_kq_fz.py +17 -14
  79. {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_kq_ss.py +1 -0
  80. {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_stock_hk.py +0 -1
  81. {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_stock_zh.py +0 -3
  82. {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_sugar.py +18 -4
  83. {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_zh_em.py +0 -15
  84. {akshare-1.16.64 → akshare-1.16.65}/akshare/interest_rate/interbank_rate_em.py +0 -1
  85. {akshare-1.16.64 → akshare-1.16.65}/akshare/movie/jm.js +0 -1
  86. {akshare-1.16.64 → akshare-1.16.65}/akshare/news/__init__.py +1 -1
  87. {akshare-1.16.64 → akshare-1.16.65}/akshare/news/news_stock.py +0 -1
  88. {akshare-1.16.64 → akshare-1.16.65}/akshare/option/option_commodity_sina.py +22 -26
  89. {akshare-1.16.64 → akshare-1.16.65}/akshare/option/option_daily_stats_sse_szse.py +0 -1
  90. {akshare-1.16.64 → akshare-1.16.65}/akshare/option/option_em.py +0 -1
  91. {akshare-1.16.64 → akshare-1.16.65}/akshare/option/option_lhb_em.py +0 -1
  92. {akshare-1.16.64 → akshare-1.16.65}/akshare/option/option_risk_indicator_sse.py +0 -1
  93. {akshare-1.16.64 → akshare-1.16.65}/akshare/other/__init__.py +1 -1
  94. {akshare-1.16.64 → akshare-1.16.65}/akshare/pro/client.py +6 -4
  95. akshare-1.16.65/akshare/pro/cons.py +9 -0
  96. {akshare-1.16.64 → akshare-1.16.65}/akshare/pro/data_pro.py +6 -5
  97. {akshare-1.16.64 → akshare-1.16.65}/akshare/qhkc/qhkc_api.py +63 -21
  98. {akshare-1.16.64 → akshare-1.16.65}/akshare/qhkc_web/qhkc_fund.py +1 -0
  99. {akshare-1.16.64 → akshare-1.16.65}/akshare/qhkc_web/qhkc_index.py +1 -0
  100. {akshare-1.16.64 → akshare-1.16.65}/akshare/qhkc_web/qhkc_tool.py +55 -54
  101. {akshare-1.16.64 → akshare-1.16.65}/akshare/rate/__init__.py +1 -1
  102. {akshare-1.16.64 → akshare-1.16.65}/akshare/rate/repo_rate.py +36 -32
  103. {akshare-1.16.64 → akshare-1.16.65}/akshare/reits/__init__.py +1 -1
  104. {akshare-1.16.64 → akshare-1.16.65}/akshare/reits/reits_basic.py +44 -2
  105. {akshare-1.16.64 → akshare-1.16.65}/akshare/sport/__init__.py +1 -1
  106. {akshare-1.16.64 → akshare-1.16.65}/akshare/sport/sport_olympic.py +1 -0
  107. {akshare-1.16.64 → akshare-1.16.65}/akshare/spot/__init__.py +1 -1
  108. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/cons.py +19 -12
  109. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_board_concept_em.py +0 -6
  110. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_board_industry_em.py +0 -6
  111. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_dzjy_em.py +1 -1
  112. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_fund_em.py +0 -2
  113. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_fund_hold.py +1 -2
  114. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_gsrl_em.py +1 -0
  115. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_hk_famous.py +0 -1
  116. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_hk_fhpx_ths.py +2 -1
  117. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_hk_hot_rank_em.py +1 -0
  118. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_hold_control_em.py +0 -2
  119. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_hot_up_em.py +4 -1
  120. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_hsgt_em.py +0 -2
  121. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_industry.py +1 -0
  122. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_info.py +0 -2
  123. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_info_em.py +0 -1
  124. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_repurchase_em.py +7 -2
  125. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_share_hold.py +0 -1
  126. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_stop.py +0 -1
  127. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_summary.py +0 -2
  128. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_us_famous.py +0 -1
  129. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_us_js.py +3 -2
  130. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_us_pink.py +0 -1
  131. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_weibo_nlp.py +18 -20
  132. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_zh_a_special.py +0 -3
  133. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_zh_a_tick_tx.py +11 -3
  134. akshare-1.16.65/akshare/stock_a/__init__.py +0 -0
  135. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_a/stock_board_concept_name_em.py +0 -1
  136. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_a/stock_zh_a_spot.py +0 -1
  137. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/cons.py +1 -0
  138. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_account_em.py +0 -1
  139. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_all_pb.py +2 -1
  140. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_analyst_em.py +0 -3
  141. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_buffett_index_lg.py +7 -6
  142. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_classify_sina.py +3 -6
  143. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_comment_em.py +0 -2
  144. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_congestion_lg.py +2 -1
  145. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_dxsyl_em.py +116 -71
  146. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_gdzjc_em.py +16 -5
  147. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_gxl_lg.py +3 -2
  148. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_hist_em.py +0 -20
  149. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_hist_tx.py +10 -8
  150. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_hot_xq.py +4 -6
  151. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_hsgt_em.py +0 -2
  152. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_hsgt_exchange_rate.py +0 -2
  153. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_hsgt_min_em.py +13 -16
  154. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_inner_trade_xq.py +0 -1
  155. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_lhb_em.py +0 -1
  156. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_margin_em.py +0 -1
  157. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_margin_sse.py +0 -2
  158. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_pankou_em.py +0 -2
  159. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_qsjy_em.py +13 -4
  160. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_research_report_em.py +0 -1
  161. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_yjyg_cninfo.py +4 -1
  162. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_zh_vote_baidu.py +4 -1
  163. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_ztb_em.py +0 -6
  164. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/__init__.py +1 -1
  165. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_hold.py +26 -17
  166. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_ipo_declare.py +1 -0
  167. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_kcb_detail_sse.py +10 -10
  168. akshare-1.16.65/akshare/stock_fundamental/stock_kcb_sse.py +56 -0
  169. akshare-1.16.65/akshare/stock_fundamental/stock_profit_forecast_hk_etnet.py +126 -0
  170. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_recommend.py +20 -4
  171. {akshare-1.16.64 → akshare-1.16.65}/akshare/utils/demjson.py +2005 -1334
  172. {akshare-1.16.64 → akshare-1.16.65}/akshare/utils/token_process.py +6 -5
  173. {akshare-1.16.64 → akshare-1.16.65}/akshare.egg-info/PKG-INFO +3 -8
  174. akshare-1.16.64/akshare/bond/bond_summary.py +0 -91
  175. akshare-1.16.64/akshare/fund/fund_aum_em.py +0 -92
  176. akshare-1.16.64/akshare/futures_derivative/cons.py +0 -145
  177. akshare-1.16.64/akshare/futures_derivative/futures_contract_info_cffex.py +0 -86
  178. akshare-1.16.64/akshare/futures_derivative/futures_contract_info_gfex.py +0 -60
  179. akshare-1.16.64/akshare/fx/cons.py +0 -18
  180. akshare-1.16.64/akshare/pro/__init__.py +0 -1
  181. akshare-1.16.64/akshare/pro/cons.py +0 -8
  182. akshare-1.16.64/akshare/stock_fundamental/stock_kcb_sse.py +0 -55
  183. akshare-1.16.64/akshare/stock_fundamental/stock_profit_forecast_hk_etnet.py +0 -103
  184. {akshare-1.16.64 → akshare-1.16.65}/LICENSE +0 -0
  185. {akshare-1.16.64 → akshare-1.16.65}/akshare/air/__init__.py +0 -0
  186. {akshare-1.16.64 → akshare-1.16.65}/akshare/air/air_hebei.py +0 -0
  187. {akshare-1.16.64 → akshare-1.16.65}/akshare/air/air_zhenqi.py +0 -0
  188. {akshare-1.16.64 → akshare-1.16.65}/akshare/air/sunrise_tad.py +0 -0
  189. {akshare-1.16.64 → akshare-1.16.65}/akshare/article/__init__.py +0 -0
  190. {akshare-1.16.64 → akshare-1.16.65}/akshare/bank/__init__.py +0 -0
  191. {akshare-1.16.64 → akshare-1.16.65}/akshare/bank/bank_cbirc_2020.py +0 -0
  192. {akshare-1.16.64 → akshare-1.16.65}/akshare/bank/cons.py +0 -0
  193. {akshare-1.16.64 → akshare-1.16.65}/akshare/bond/__init__.py +0 -0
  194. {akshare-1.16.64 → akshare-1.16.65}/akshare/bond/bond_cb_ths.py +0 -0
  195. {akshare-1.16.64 → akshare-1.16.65}/akshare/bond/bond_china.py +0 -0
  196. {akshare-1.16.64 → akshare-1.16.65}/akshare/bond/bond_china_money.py +0 -0
  197. {akshare-1.16.64 → akshare-1.16.65}/akshare/bond/bond_convert.py +0 -0
  198. {akshare-1.16.64 → akshare-1.16.65}/akshare/bond/bond_info_cm.py +0 -0
  199. {akshare-1.16.64 → akshare-1.16.65}/akshare/bond/bond_issue_cninfo.py +0 -0
  200. {akshare-1.16.64 → akshare-1.16.65}/akshare/bond/bond_nafmii.py +0 -0
  201. {akshare-1.16.64 → akshare-1.16.65}/akshare/bond/bond_zh_sina.py +0 -0
  202. {akshare-1.16.64 → akshare-1.16.65}/akshare/cal/__init__.py +0 -0
  203. {akshare-1.16.64 → akshare-1.16.65}/akshare/cal/rv.py +0 -0
  204. {akshare-1.16.64 → akshare-1.16.65}/akshare/cost/__init__.py +0 -0
  205. {akshare-1.16.64 → akshare-1.16.65}/akshare/cost/cost_living.py +0 -0
  206. {akshare-1.16.64 → akshare-1.16.65}/akshare/currency/__init__.py +0 -0
  207. {akshare-1.16.64 → akshare-1.16.65}/akshare/currency/currency_safe.py +0 -0
  208. {akshare-1.16.64 → akshare-1.16.65}/akshare/data/crypto_info.zip +0 -0
  209. {akshare-1.16.64 → akshare-1.16.65}/akshare/data/ths.js +0 -0
  210. {akshare-1.16.64 → akshare-1.16.65}/akshare/datasets.py +0 -0
  211. {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/__init__.py +0 -0
  212. {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/macro_bank.py +0 -0
  213. {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/macro_china_nbs.py +0 -0
  214. {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/macro_constitute.py +0 -0
  215. {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/macro_finance_ths.py +0 -0
  216. {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/macro_info_ws.py +0 -0
  217. {akshare-1.16.64 → akshare-1.16.65}/akshare/economic/marco_cnbs.py +0 -0
  218. {akshare-1.16.64 → akshare-1.16.65}/akshare/energy/__init__.py +0 -0
  219. {akshare-1.16.64 → akshare-1.16.65}/akshare/event/__init__.py +0 -0
  220. {akshare-1.16.64 → akshare-1.16.65}/akshare/event/migration.py +0 -0
  221. {akshare-1.16.64 → akshare-1.16.65}/akshare/exceptions.py +0 -0
  222. {akshare-1.16.64 → akshare-1.16.65}/akshare/file_fold/__init__.py +0 -0
  223. {akshare-1.16.64 → akshare-1.16.65}/akshare/file_fold/calendar.json +0 -0
  224. {akshare-1.16.64 → akshare-1.16.65}/akshare/forex/__init__.py +0 -0
  225. {akshare-1.16.64 → akshare-1.16.65}/akshare/forex/cons.py +0 -0
  226. {akshare-1.16.64 → akshare-1.16.65}/akshare/fortune/__init__.py +0 -0
  227. {akshare-1.16.64 → akshare-1.16.65}/akshare/fortune/fortune_500.py +0 -0
  228. {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/__init__.py +0 -0
  229. {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_amac.py +0 -0
  230. {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_etf_sina.py +0 -0
  231. {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_etf_ths.py +0 -0
  232. {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_fee_em.py +0 -0
  233. {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_report_cninfo.py +0 -0
  234. {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_scale_sina.py +0 -0
  235. {akshare-1.16.64 → akshare-1.16.65}/akshare/fund/fund_xq.py +0 -0
  236. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/__init__.py +0 -0
  237. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/cons.py +0 -0
  238. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/cot.py +0 -0
  239. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_basis.py +0 -0
  240. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_comm_ctp.py +0 -0
  241. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_comm_qihuo.py +0 -0
  242. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_daily_bar.py +0 -0
  243. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_foreign.py +0 -0
  244. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_hf_em.py +0 -0
  245. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_hist_em.py +0 -0
  246. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_hq_sina.py +0 -0
  247. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_index_ccidx.py +0 -0
  248. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_inventory_99.py +0 -0
  249. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_news_shmet.py +0 -0
  250. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_roll_yield.py +0 -0
  251. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_rule_em.py +0 -0
  252. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_spot_stock_em.py +0 -0
  253. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_to_spot.py +0 -0
  254. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_warehouse_receipt.py +0 -0
  255. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/futures_zh_sina.py +0 -0
  256. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures/symbol_var.py +0 -0
  257. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures_derivative/__init__.py +0 -0
  258. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures_derivative/futures_contract_info_czce.py +0 -0
  259. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures_derivative/futures_contract_info_ine.py +0 -0
  260. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures_derivative/futures_contract_info_shfe.py +0 -0
  261. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures_derivative/futures_cot_sina.py +0 -0
  262. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures_derivative/futures_hog.py +0 -0
  263. {akshare-1.16.64 → akshare-1.16.65}/akshare/futures_derivative/futures_spot_sys.py +0 -0
  264. {akshare-1.16.64 → akshare-1.16.65}/akshare/fx/__init__.py +0 -0
  265. {akshare-1.16.64 → akshare-1.16.65}/akshare/fx/currency_investing.py +0 -0
  266. {akshare-1.16.64 → akshare-1.16.65}/akshare/index/__init__.py +0 -0
  267. {akshare-1.16.64 → akshare-1.16.65}/akshare/index/cons.py +0 -0
  268. {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_cflp.py +0 -0
  269. {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_cni.py +0 -0
  270. {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_cons.py +0 -0
  271. {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_cx.py +0 -0
  272. {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_drewry.py +0 -0
  273. {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_global_sina.py +0 -0
  274. {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_hog.py +0 -0
  275. {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_option_qvix.py +0 -0
  276. {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_research_fund_sw.py +0 -0
  277. {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_research_sw.py +0 -0
  278. {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_spot.py +0 -0
  279. {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_stock_us_sina.py +0 -0
  280. {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_stock_zh_csindex.py +0 -0
  281. {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_sw.py +0 -0
  282. {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_yw.py +0 -0
  283. {akshare-1.16.64 → akshare-1.16.65}/akshare/index/index_zh_a_scope.py +0 -0
  284. {akshare-1.16.64 → akshare-1.16.65}/akshare/interest_rate/__init__.py +0 -0
  285. {akshare-1.16.64 → akshare-1.16.65}/akshare/movie/__init__.py +0 -0
  286. {akshare-1.16.64 → akshare-1.16.65}/akshare/movie/artist_yien.py +0 -0
  287. {akshare-1.16.64 → akshare-1.16.65}/akshare/movie/movie_yien.py +0 -0
  288. {akshare-1.16.64 → akshare-1.16.65}/akshare/movie/video_yien.py +0 -0
  289. {akshare-1.16.64 → akshare-1.16.65}/akshare/news/news_baidu.py +0 -0
  290. {akshare-1.16.64 → akshare-1.16.65}/akshare/news/news_cctv.py +0 -0
  291. {akshare-1.16.64 → akshare-1.16.65}/akshare/nlp/__init__.py +0 -0
  292. {akshare-1.16.64 → akshare-1.16.65}/akshare/nlp/nlp_interface.py +0 -0
  293. {akshare-1.16.64 → akshare-1.16.65}/akshare/option/__init__.py +0 -0
  294. {akshare-1.16.64 → akshare-1.16.65}/akshare/option/cons.py +0 -0
  295. {akshare-1.16.64 → akshare-1.16.65}/akshare/option/option_comm_qihuo.py +0 -0
  296. {akshare-1.16.64 → akshare-1.16.65}/akshare/option/option_commodity.py +0 -0
  297. {akshare-1.16.64 → akshare-1.16.65}/akshare/option/option_czce.py +0 -0
  298. {akshare-1.16.64 → akshare-1.16.65}/akshare/option/option_finance.py +0 -0
  299. {akshare-1.16.64 → akshare-1.16.65}/akshare/option/option_finance_sina.py +0 -0
  300. {akshare-1.16.64 → akshare-1.16.65}/akshare/option/option_premium_analysis_em.py +0 -0
  301. {akshare-1.16.64 → akshare-1.16.65}/akshare/option/option_risk_analysis_em.py +0 -0
  302. {akshare-1.16.64 → akshare-1.16.65}/akshare/option/option_value_analysis_em.py +0 -0
  303. {akshare-1.16.64 → akshare-1.16.65}/akshare/other/other_car_cpca.py +0 -0
  304. {akshare-1.16.64 → akshare-1.16.65}/akshare/other/other_car_gasgoo.py +0 -0
  305. {akshare-1.16.64/akshare/qdii → akshare-1.16.65/akshare/pro}/__init__.py +0 -0
  306. {akshare-1.16.64/akshare/stock_a → akshare-1.16.65/akshare/qdii}/__init__.py +0 -0
  307. {akshare-1.16.64 → akshare-1.16.65}/akshare/qdii/qdii_jsl.py +0 -0
  308. {akshare-1.16.64 → akshare-1.16.65}/akshare/qhkc/__init__.py +0 -0
  309. {akshare-1.16.64 → akshare-1.16.65}/akshare/qhkc_web/__init__.py +0 -0
  310. {akshare-1.16.64 → akshare-1.16.65}/akshare/request.py +0 -0
  311. {akshare-1.16.64 → akshare-1.16.65}/akshare/spot/spot_hog_soozhu.py +0 -0
  312. {akshare-1.16.64 → akshare-1.16.65}/akshare/spot/spot_price_qh.py +0 -0
  313. {akshare-1.16.64 → akshare-1.16.65}/akshare/spot/spot_sge.py +0 -0
  314. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/__init__.py +0 -0
  315. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_allotment_cninfo.py +0 -0
  316. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_ask_bid_em.py +0 -0
  317. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_cg_equity_mortgage.py +0 -0
  318. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_cg_guarantee.py +0 -0
  319. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_cg_lawsuit.py +0 -0
  320. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_dividend_cninfo.py +0 -0
  321. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_hk_sina.py +0 -0
  322. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_hold_control_cninfo.py +0 -0
  323. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_hold_num_cninfo.py +0 -0
  324. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_hot_rank_em.py +0 -0
  325. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_hot_search_baidu.py +0 -0
  326. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_industry_cninfo.py +0 -0
  327. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_industry_pe_cninfo.py +0 -0
  328. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_industry_sw.py +0 -0
  329. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_intraday_em.py +0 -0
  330. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_intraday_sina.py +0 -0
  331. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_ipo_summary_cninfo.py +0 -0
  332. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_new_cninfo.py +0 -0
  333. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_news_cx.py +0 -0
  334. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_profile_cninfo.py +0 -0
  335. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_rank_forecast.py +0 -0
  336. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_share_changes_cninfo.py +0 -0
  337. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_us_sina.py +0 -0
  338. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_xq.py +0 -0
  339. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_zh_a_sina.py +0 -0
  340. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_zh_ah_tx.py +0 -0
  341. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_zh_b_sina.py +0 -0
  342. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_zh_kcb_report.py +0 -0
  343. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock/stock_zh_kcb_sina.py +0 -0
  344. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_a/stock_individual_fund_flow_rank.py +0 -0
  345. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/__init__.py +0 -0
  346. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_a_below_net_asset_statistics.py +0 -0
  347. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_a_high_low.py +0 -0
  348. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_a_indicator.py +0 -0
  349. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_a_pe_and_pb.py +0 -0
  350. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_board_concept_ths.py +0 -0
  351. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_board_industry_ths.py +0 -0
  352. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_concept_futu.py +0 -0
  353. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_cyq_em.py +0 -0
  354. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_disclosure_cninfo.py +0 -0
  355. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_ebs_lg.py +0 -0
  356. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_esg_sina.py +0 -0
  357. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_fhps_em.py +0 -0
  358. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_fhps_ths.py +0 -0
  359. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_fund_flow.py +0 -0
  360. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_gddh_em.py +0 -0
  361. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_gdfx_em.py +0 -0
  362. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_gdhs.py +0 -0
  363. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_gpzy_em.py +0 -0
  364. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_hk_valuation_baidu.py +0 -0
  365. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_info.py +0 -0
  366. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_irm_cninfo.py +0 -0
  367. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_jgdy_em.py +0 -0
  368. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_lh_yybpm.py +0 -0
  369. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_lhb_sina.py +0 -0
  370. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_margin_szse.py +0 -0
  371. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_market_legu.py +0 -0
  372. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_report_em.py +0 -0
  373. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_sns_sseinfo.py +0 -0
  374. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_sy_em.py +0 -0
  375. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_technology_ths.py +0 -0
  376. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_tfp_em.py +0 -0
  377. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_three_report_em.py +0 -0
  378. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_ttm_lyr.py +0 -0
  379. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_value_em.py +0 -0
  380. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_wencai.py +0 -0
  381. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_yjbb_em.py +0 -0
  382. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_yjyg_em.py +0 -0
  383. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_yzxdr_em.py +0 -0
  384. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_zdhtmx_em.py +0 -0
  385. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_zf_pg.py +0 -0
  386. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/stock_zh_valuation_baidu.py +0 -0
  387. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_feature/ths.js +0 -0
  388. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_basic_info_xq.py +0 -0
  389. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_finance_hk_em.py +0 -0
  390. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_finance_sina.py +0 -0
  391. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_finance_ths.py +0 -0
  392. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_finance_us_em.py +0 -0
  393. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_mda_ym.py +0 -0
  394. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_notice.py +0 -0
  395. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_profit_forecast_em.py +0 -0
  396. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_profit_forecast_ths.py +0 -0
  397. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_register_em.py +0 -0
  398. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_restricted_em.py +0 -0
  399. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_zygc.py +0 -0
  400. {akshare-1.16.64 → akshare-1.16.65}/akshare/stock_fundamental/stock_zyjs_ths.py +0 -0
  401. {akshare-1.16.64 → akshare-1.16.65}/akshare/tool/__init__.py +0 -0
  402. {akshare-1.16.64 → akshare-1.16.65}/akshare/tool/trade_date_hist.py +0 -0
  403. {akshare-1.16.64 → akshare-1.16.65}/akshare/utils/__init__.py +0 -0
  404. {akshare-1.16.64 → akshare-1.16.65}/akshare/utils/cons.py +0 -0
  405. {akshare-1.16.64 → akshare-1.16.65}/akshare/utils/context.py +0 -0
  406. {akshare-1.16.64 → akshare-1.16.65}/akshare/utils/func.py +0 -0
  407. {akshare-1.16.64 → akshare-1.16.65}/akshare/utils/multi_decrypt.py +0 -0
  408. {akshare-1.16.64 → akshare-1.16.65}/akshare/utils/tqdm.py +0 -0
  409. {akshare-1.16.64 → akshare-1.16.65}/akshare.egg-info/SOURCES.txt +0 -0
  410. {akshare-1.16.64 → akshare-1.16.65}/akshare.egg-info/dependency_links.txt +0 -0
  411. {akshare-1.16.64 → akshare-1.16.65}/akshare.egg-info/requires.txt +0 -0
  412. {akshare-1.16.64 → akshare-1.16.65}/akshare.egg-info/top_level.txt +0 -0
  413. {akshare-1.16.64 → akshare-1.16.65}/pyproject.toml +0 -0
  414. {akshare-1.16.64 → akshare-1.16.65}/setup.cfg +0 -0
  415. {akshare-1.16.64 → akshare-1.16.65}/setup.py +0 -0
  416. {akshare-1.16.64 → akshare-1.16.65}/tests/__init__.py +0 -0
  417. {akshare-1.16.64 → akshare-1.16.65}/tests/test_func.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: akshare
3
- Version: 1.16.64
3
+ Version: 1.16.65
4
4
  Summary: AKShare is an elegant and simple financial data interface library for Python, built for human beings!
5
5
  Home-page: https://github.com/akfamily/akshare
6
6
  Author: AKFamily
@@ -53,13 +53,8 @@ Dynamic: requires-dist
53
53
  Dynamic: requires-python
54
54
  Dynamic: summary
55
55
 
56
- **欢迎加入专注于财经数据和量化投研的知识社区,获取《财经数据宝典》和《量化投研宝典》,其汇集了财经数据和量化投研的多年经验,
57
- 还独家分享了众多国内外财经数据源的使用和注意事项,请点击[了解更多](https://akshare.akfamily.xyz/learn.html)**。
58
-
59
- **量化投研视频课程:《PyBroker-入门及实战》已经上架!《PyBroker-进阶及实战》正在更新!**
60
-
61
- **更多视频教程已经发布:《AKShare-初阶-使用教学》、《AKShare-初阶-实战应用》、《AKShare-源码解析》、《开源项目巡礼》**,
62
- 详情请关注【数据科学实战】公众号,查看更多课程信息!
56
+ **广告推广**:欢迎加入专注于财经数据和量化投研的知识社区,获取《财经数据宝典》和《量化投研宝典》,其汇集了财经数据和量化投研的多年经验,
57
+ 还独家分享了众多国内外财经数据源的使用和注意事项,请点击[了解更多](https://t.zsxq.com/ZCxUG)**。
63
58
 
64
59
  **广告推广**:期魔方是一款非常专业本地化期货量化终端,无需部署或搭建环境,可直接调用及时和历史数据做回测实盘,
65
60
  支持开箱即用的机器学习训练,策略投研、回测均免费,详情请[访问期魔方官网](https://qmfquant.com)。
@@ -1,10 +1,5 @@
1
- **欢迎加入专注于财经数据和量化投研的知识社区,获取《财经数据宝典》和《量化投研宝典》,其汇集了财经数据和量化投研的多年经验,
2
- 还独家分享了众多国内外财经数据源的使用和注意事项,请点击[了解更多](https://akshare.akfamily.xyz/learn.html)**。
3
-
4
- **量化投研视频课程:《PyBroker-入门及实战》已经上架!《PyBroker-进阶及实战》正在更新!**
5
-
6
- **更多视频教程已经发布:《AKShare-初阶-使用教学》、《AKShare-初阶-实战应用》、《AKShare-源码解析》、《开源项目巡礼》**,
7
- 详情请关注【数据科学实战】公众号,查看更多课程信息!
1
+ **广告推广**:欢迎加入专注于财经数据和量化投研的知识社区,获取《财经数据宝典》和《量化投研宝典》,其汇集了财经数据和量化投研的多年经验,
2
+ 还独家分享了众多国内外财经数据源的使用和注意事项,请点击[了解更多](https://t.zsxq.com/ZCxUG)**。
8
3
 
9
4
  **广告推广**:期魔方是一款非常专业本地化期货量化终端,无需部署或搭建环境,可直接调用及时和历史数据做回测实盘,
10
5
  支持开箱即用的机器学习训练,策略投研、回测均免费,详情请[访问期魔方官网](https://qmfquant.com)。
@@ -3073,9 +3073,10 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
3073
3073
  1.16.62 fix: fix stock_gdfx_free_holding_change_em interface
3074
3074
  1.16.63 fix: fix stock_board_concept_name_ths interface
3075
3075
  1.16.64 add: add reits_hist_em interface
3076
+ 1.16.65 fix: fix stock_dzjy_yybph interface
3076
3077
  """
3077
3078
 
3078
- __version__ = "1.16.64"
3079
+ __version__ = "1.16.65"
3079
3080
  __author__ = "AKFamily"
3080
3081
 
3081
3082
  import sys
@@ -4,6 +4,7 @@
4
4
  Date: 2019/11/25 20:45
5
5
  Desc: 空气质量接口配置文件
6
6
  """
7
+
7
8
  city_chinese_list = [
8
9
  "北京",
9
10
  "重庆",
@@ -136,4 +136,4 @@ function decode_result(a) {
136
136
  var hexcase = 0,
137
137
  b64pad = "",
138
138
  chrsz = 8,
139
- appId = "a01901d3caba1f362d69474674ce477f";
139
+ appId = "a01901d3caba1f362d69474674ce477f";
@@ -4897,4 +4897,4 @@ CryptoJS.mode.ECB = function() {
4897
4897
  blockSize: 2
4898
4898
  });
4899
4899
  h.TripleDES = e._6(g)
4900
- })();
4900
+ })();
@@ -4,6 +4,7 @@
4
4
  Date: 2019/11/14 20:32
5
5
  Desc: 学术板块配置文件
6
6
  """
7
+
7
8
  # EPU
8
9
  epu_home_url = "http://www.policyuncertainty.com/index.html"
9
10
 
@@ -5,6 +5,7 @@ Date: 2024/1/20 22:00
5
5
  Desc: 经济政策不确定性指数
6
6
  https://www.policyuncertainty.com/index.html
7
7
  """
8
+
8
9
  import pandas as pd
9
10
 
10
11
 
@@ -28,7 +29,7 @@ def article_epu_index(symbol: str = "China") -> pd.DataFrame:
28
29
  symbol = "HK"
29
30
  epu_df = pd.read_excel(
30
31
  io=f"http://www.policyuncertainty.com/media/{symbol}_EPU_Data_Annotated.xlsx",
31
- engine="openpyxl"
32
+ engine="openpyxl",
32
33
  )
33
34
  return epu_df
34
35
  if symbol in ["Germany", "France", "Italy"]: # 欧洲
@@ -40,13 +41,13 @@ def article_epu_index(symbol: str = "China") -> pd.DataFrame:
40
41
  if symbol in ["Ireland", "Chile", "Colombia", "Netherlands", "Singapore", "Sweden"]:
41
42
  epu_df = pd.read_excel(
42
43
  io=f"http://www.policyuncertainty.com/media/{symbol}_Policy_Uncertainty_Data.xlsx",
43
- engine="openpyxl"
44
+ engine="openpyxl",
44
45
  )
45
46
  return epu_df
46
47
  if symbol == "Greece":
47
48
  epu_df = pd.read_excel(
48
49
  io=f"http://www.policyuncertainty.com/media/FKT_{symbol}_Policy_Uncertainty_Data.xlsx",
49
- engine="openpyxl"
50
+ engine="openpyxl",
50
51
  )
51
52
  return epu_df
52
53
  url = f"http://www.policyuncertainty.com/media/{symbol}_Policy_Uncertainty_Data.csv"
@@ -5,6 +5,7 @@ Date: 2024/1/20 22:30
5
5
  Desc: FF-data-library
6
6
  https://mba.tuck.dartmouth.edu/pages/faculty/ken.french/data_library.html
7
7
  """
8
+
8
9
  from io import StringIO
9
10
 
10
11
  import pandas as pd
@@ -23,26 +24,31 @@ def article_ff_crr() -> pd.DataFrame:
23
24
  res = requests.get(ff_home_url)
24
25
  # first table
25
26
  list_index = (
26
- pd.read_html(StringIO(res.text), header=0, index_col=0)[4].iloc[2, :].index.tolist()
27
+ pd.read_html(StringIO(res.text), header=0, index_col=0)[4]
28
+ .iloc[2, :]
29
+ .index.tolist()
27
30
  )
28
31
  list_0 = [
29
32
  item
30
33
  for item in pd.read_html(StringIO(res.text), header=0, index_col=0)[4]
31
- .iloc[0, :].iloc[0]
34
+ .iloc[0, :]
35
+ .iloc[0]
32
36
  .split(" ")
33
37
  if item != ""
34
38
  ]
35
39
  list_1 = [
36
40
  item
37
41
  for item in pd.read_html(StringIO(res.text), header=0, index_col=0)[4]
38
- .iloc[0, :].iloc[1]
42
+ .iloc[0, :]
43
+ .iloc[1]
39
44
  .split(" ")
40
45
  if item != ""
41
46
  ]
42
47
  list_2 = [
43
48
  item
44
49
  for item in pd.read_html(StringIO(res.text), header=0, index_col=0)[4]
45
- .iloc[0, :].iloc[2]
50
+ .iloc[0, :]
51
+ .iloc[2]
46
52
  .split(" ")
47
53
  if item != ""
48
54
  ]
@@ -63,26 +69,31 @@ def article_ff_crr() -> pd.DataFrame:
63
69
 
64
70
  # second table
65
71
  list_index = (
66
- pd.read_html(StringIO(res.text), header=0, index_col=0)[4].iloc[1, :].index.tolist()
72
+ pd.read_html(StringIO(res.text), header=0, index_col=0)[4]
73
+ .iloc[1, :]
74
+ .index.tolist()
67
75
  )
68
76
  list_0 = [
69
77
  item
70
78
  for item in pd.read_html(StringIO(res.text), header=0, index_col=0)[4]
71
- .iloc[1, :].iloc[0]
79
+ .iloc[1, :]
80
+ .iloc[0]
72
81
  .split(" ")
73
82
  if item != ""
74
83
  ]
75
84
  list_1 = [
76
85
  item
77
86
  for item in pd.read_html(StringIO(res.text), header=0, index_col=0)[4]
78
- .iloc[1, :].iloc[1]
87
+ .iloc[1, :]
88
+ .iloc[1]
79
89
  .split(" ")
80
90
  if item != ""
81
91
  ]
82
92
  list_2 = [
83
93
  item
84
94
  for item in pd.read_html(StringIO(res.text), header=0, index_col=0)[4]
85
- .iloc[1, :].iloc[2]
95
+ .iloc[1, :]
96
+ .iloc[2]
86
97
  .split(" ")
87
98
  if item != ""
88
99
  ]
@@ -6,6 +6,7 @@ Desc: Economic Research from Federal Reserve Bank of St. Louis
6
6
  https://research.stlouisfed.org/econ/mccracken/fred-databases/
7
7
  FRED-MD and FRED-QD are large macroeconomic databases designed for the empirical analysis of “big data.” The datasets of monthly and quarterly observations mimic the coverage of datasets already used in the literature, but they add three appealing features. They are updated in real-time through the FRED database. They are publicly accessible, facilitating the replication of empirical work. And they relieve the researcher of the task of incorporating data changes and revisions (a task accomplished by the data desk at the Federal Reserve Bank of St. Louis).
8
8
  """
9
+
9
10
  import pandas as pd
10
11
 
11
12
 
@@ -17,7 +18,9 @@ def fred_md(date: str = "2020-01") -> pd.DataFrame:
17
18
  :return: Monthly Data
18
19
  :rtype: pandas.DataFrame
19
20
  """
20
- url = f"https://s3.amazonaws.com/files.fred.stlouisfed.org/fred-md/monthly/{date}.csv"
21
+ url = (
22
+ f"https://s3.amazonaws.com/files.fred.stlouisfed.org/fred-md/monthly/{date}.csv"
23
+ )
21
24
  temp_df = pd.read_csv(url)
22
25
  return temp_df
23
26
 
@@ -4,6 +4,7 @@
4
4
  Date: 2024/1/20 20:51
5
5
  Desc: 修大成主页-Risk Lab-Realized Volatility; Oxford-Man Institute of Quantitative Finance Realized Library
6
6
  """
7
+
7
8
  import json
8
9
 
9
10
  import pandas as pd
@@ -64,11 +65,8 @@ def article_oman_rv(symbol: str = "FTSE", index: str = "rk_th2") -> pd.DataFrame
64
65
  res = requests.get(url)
65
66
  soup = BeautifulSoup(res.text, "lxml")
66
67
  soup_text = soup.find("p").get_text()
67
- data_json = json.loads(soup_text[soup_text.find("{"): soup_text.rfind("};") + 1])
68
+ data_json = json.loads(soup_text[soup_text.find("{") : soup_text.rfind("};") + 1])
68
69
  date_list = data_json[f".{symbol}"]["dates"]
69
- title_fore = data_json[f".{symbol}"][index]["name"]
70
- title_last = data_json[f".{symbol}"][index]["measure"]
71
- title_list = title_fore + "-" + title_last
72
70
  temp_df = pd.DataFrame([date_list, data_json[f".{symbol}"][index]["data"]]).T
73
71
  temp_df.index = pd.to_datetime(temp_df.iloc[:, 0], unit="ms")
74
72
  temp_df = temp_df.iloc[:, 1]
@@ -107,10 +105,7 @@ def article_oman_rv_short(symbol: str = "FTSE") -> pd.DataFrame:
107
105
  res = requests.get(url, headers=headers, verify=False)
108
106
  soup = BeautifulSoup(res.text, "lxml")
109
107
  soup_text = soup.find("p").get_text()
110
- data_json = json.loads(soup_text[soup_text.find("{"): soup_text.rfind("}") + 1])
111
- title_fore = data_json[f".{symbol}"]["name"]
112
- title_last = data_json[f".{symbol}"]["measure"]
113
- title_list = title_fore + "-" + title_last
108
+ data_json = json.loads(soup_text[soup_text.find("{") : soup_text.rfind("}") + 1])
114
109
  temp_df = pd.DataFrame(data_json[f".{symbol}"]["data"])
115
110
  temp_df.index = pd.to_datetime(temp_df.iloc[:, 0], unit="ms")
116
111
  temp_df = temp_df.iloc[:, 1]
@@ -5,6 +5,7 @@ Date: 2023/9/12 16:50
5
5
  Desc: 新浪财经-债券-可转债
6
6
  https://money.finance.sina.com.cn/bond/info/sz128039.html
7
7
  """
8
+
8
9
  from io import StringIO
9
10
 
10
11
  import pandas as pd
@@ -4,6 +4,7 @@
4
4
  Date: 2022/9/20 17:46
5
5
  Desc: 中国债券信息网-中债指数-中债指数族系-总指数-综合类指数
6
6
  """
7
+
7
8
  import pandas as pd
8
9
  import requests
9
10
 
@@ -58,17 +59,17 @@ def bond_new_composite_index_cbond(
58
59
  url = "https://yield.chinabond.com.cn/cbweb-mn/indices/singleIndexQuery"
59
60
  params = {
60
61
  "indexid": "8a8b2ca0332abed20134ea76d8885831",
61
- "": "",
62
+ "": "", # noqa: F601
62
63
  "qxlxt": period_map[period],
63
- "": "",
64
+ "": "", # noqa: F601
64
65
  "ltcslx": "",
65
- "": "",
66
- "zslxt": indicator_map[indicator],
67
- "": "",
68
- "zslxt": indicator_map[indicator],
69
- "": "",
66
+ "": "", # noqa: F601
67
+ "zslxt": indicator_map[indicator], # noqa: F601
68
+ "": "", # noqa: F601
69
+ "zslxt": indicator_map[indicator], # noqa: F601
70
+ "": "", # noqa: F601
70
71
  "lx": "1",
71
- "": "",
72
+ "": "", # noqa: F601
72
73
  "locale": "",
73
74
  }
74
75
  r = requests.post(url, params=params)
@@ -79,8 +80,12 @@ def bond_new_composite_index_cbond(
79
80
  )
80
81
  temp_df.reset_index(inplace=True)
81
82
  temp_df.columns = ["date", "value"]
82
- temp_df['date'] = temp_df['date'].astype(float)
83
- temp_df["date"] = pd.to_datetime(temp_df["date"], unit="ms", errors="coerce", utc=True).dt.tz_convert("Asia/Shanghai").dt.date
83
+ temp_df["date"] = temp_df["date"].astype(float)
84
+ temp_df["date"] = (
85
+ pd.to_datetime(temp_df["date"], unit="ms", errors="coerce", utc=True)
86
+ .dt.tz_convert("Asia/Shanghai")
87
+ .dt.date
88
+ )
84
89
  temp_df["value"] = pd.to_numeric(temp_df["value"], errors="coerce")
85
90
  return temp_df
86
91
 
@@ -135,13 +140,13 @@ def bond_composite_index_cbond(
135
140
  url = "https://yield.chinabond.com.cn/cbweb-mn/indices/singleIndexQuery"
136
141
  params = {
137
142
  "indexid": "2c90818811afed8d0111c0c672b31578",
138
- "": "",
143
+ "": "", # noqa: F601
139
144
  "qxlxt": period_map[period],
140
- "": "",
145
+ "": "", # noqa: F601
141
146
  "zslxt": indicator_map[indicator],
142
- "": "",
147
+ "": "", # noqa: F601
143
148
  "lx": "1",
144
- "": "",
149
+ "": "", # noqa: F601
145
150
  "locale": "",
146
151
  }
147
152
  r = requests.post(url, params=params)
@@ -5,6 +5,7 @@ Date: 2023/12/4 14:00
5
5
  Desc: 东方财富网-数据中心-经济数据-中美国债收益率
6
6
  https://data.eastmoney.com/cjsj/zmgzsyl.html
7
7
  """
8
+
8
9
  import pandas as pd
9
10
  import requests
10
11
  from tqdm import tqdm
@@ -30,7 +31,6 @@ def bond_zh_us_rate(start_date: str = "19901219") -> pd.DataFrame:
30
31
  "ps": "500",
31
32
  "pageNo": "1",
32
33
  "pageNum": "1",
33
- "_": "1615791534490",
34
34
  }
35
35
  r = requests.get(url, params=params)
36
36
  data_json = r.json()
@@ -47,14 +47,13 @@ def bond_zh_us_rate(start_date: str = "19901219") -> pd.DataFrame:
47
47
  "ps": "500",
48
48
  "pageNo": page,
49
49
  "pageNum": page,
50
- "_": "1615791534490",
51
50
  }
52
51
  r = requests.get(url, params=params)
53
52
  data_json = r.json()
54
53
  temp_df = pd.DataFrame(data_json["result"]["data"])
55
54
  for col in temp_df.columns:
56
55
  if temp_df[col].isnull().all(): # 检查列是否包含 None 或 NaN
57
- temp_df[col] = pd.to_numeric(temp_df[col], errors='coerce')
56
+ temp_df[col] = pd.to_numeric(temp_df[col], errors="coerce")
58
57
  if big_df.empty:
59
58
  big_df = temp_df
60
59
  else:
@@ -62,7 +61,7 @@ def bond_zh_us_rate(start_date: str = "19901219") -> pd.DataFrame:
62
61
 
63
62
  temp_date_list = pd.to_datetime(big_df["SOLAR_DATE"]).dt.date.to_list()
64
63
  if pd.to_datetime(start_date) in pd.date_range(
65
- temp_date_list[-1], temp_date_list[0]
64
+ temp_date_list[-1], temp_date_list[0]
66
65
  ):
67
66
  break
68
67
 
@@ -102,21 +101,41 @@ def bond_zh_us_rate(start_date: str = "19901219") -> pd.DataFrame:
102
101
  ]
103
102
  ]
104
103
  big_df["日期"] = pd.to_datetime(big_df["日期"], errors="coerce")
105
- big_df["中国国债收益率2年"] = pd.to_numeric(big_df["中国国债收益率2年"], errors="coerce")
106
- big_df["中国国债收益率5年"] = pd.to_numeric(big_df["中国国债收益率5年"], errors="coerce")
107
- big_df["中国国债收益率10年"] = pd.to_numeric(big_df["中国国债收益率10年"], errors="coerce")
108
- big_df["中国国债收益率30年"] = pd.to_numeric(big_df["中国国债收益率30年"], errors="coerce")
109
- big_df["中国国债收益率10年-2年"] = pd.to_numeric(big_df["中国国债收益率10年-2年"], errors="coerce")
104
+ big_df["中国国债收益率2年"] = pd.to_numeric(
105
+ big_df["中国国债收益率2年"], errors="coerce"
106
+ )
107
+ big_df["中国国债收益率5年"] = pd.to_numeric(
108
+ big_df["中国国债收益率5年"], errors="coerce"
109
+ )
110
+ big_df["中国国债收益率10年"] = pd.to_numeric(
111
+ big_df["中国国债收益率10年"], errors="coerce"
112
+ )
113
+ big_df["中国国债收益率30年"] = pd.to_numeric(
114
+ big_df["中国国债收益率30年"], errors="coerce"
115
+ )
116
+ big_df["中国国债收益率10年-2年"] = pd.to_numeric(
117
+ big_df["中国国债收益率10年-2年"], errors="coerce"
118
+ )
110
119
  big_df["中国GDP年增率"] = pd.to_numeric(big_df["中国GDP年增率"], errors="coerce")
111
- big_df["美国国债收益率2年"] = pd.to_numeric(big_df["美国国债收益率2年"], errors="coerce")
112
- big_df["美国国债收益率5年"] = pd.to_numeric(big_df["美国国债收益率5年"], errors="coerce")
113
- big_df["美国国债收益率10年"] = pd.to_numeric(big_df["美国国债收益率10年"], errors="coerce")
114
- big_df["美国国债收益率30年"] = pd.to_numeric(big_df["美国国债收益率30年"], errors="coerce")
115
- big_df["美国国债收益率10年-2年"] = pd.to_numeric(big_df["美国国债收益率10年-2年"], errors="coerce")
120
+ big_df["美国国债收益率2年"] = pd.to_numeric(
121
+ big_df["美国国债收益率2年"], errors="coerce"
122
+ )
123
+ big_df["美国国债收益率5年"] = pd.to_numeric(
124
+ big_df["美国国债收益率5年"], errors="coerce"
125
+ )
126
+ big_df["美国国债收益率10年"] = pd.to_numeric(
127
+ big_df["美国国债收益率10年"], errors="coerce"
128
+ )
129
+ big_df["美国国债收益率30年"] = pd.to_numeric(
130
+ big_df["美国国债收益率30年"], errors="coerce"
131
+ )
132
+ big_df["美国国债收益率10年-2年"] = pd.to_numeric(
133
+ big_df["美国国债收益率10年-2年"], errors="coerce"
134
+ )
116
135
  big_df["美国GDP年增率"] = pd.to_numeric(big_df["美国GDP年增率"], errors="coerce")
117
136
  big_df.sort_values("日期", inplace=True)
118
137
  big_df.set_index(["日期"], inplace=True)
119
- big_df = big_df[pd.to_datetime(start_date):]
138
+ big_df = big_df[pd.to_datetime(start_date) :]
120
139
  big_df.reset_index(inplace=True)
121
140
  big_df["日期"] = pd.to_datetime(big_df["日期"]).dt.date
122
141
  return big_df
@@ -0,0 +1,92 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding:utf-8 -*-
3
+ """
4
+ Date: 2022/3/5 12:55
5
+ Desc: 上登债券信息网-债券成交概览
6
+ http://bond.sse.com.cn/data/statistics/overview/turnover/
7
+ """
8
+
9
+ from io import BytesIO
10
+
11
+ import pandas as pd
12
+ import requests
13
+
14
+
15
+ def bond_cash_summary_sse(date: str = "20210111") -> pd.DataFrame:
16
+ """
17
+ 上登债券信息网-市场数据-市场统计-市场概览-债券现券市场概览
18
+ http://bond.sse.com.cn/data/statistics/overview/bondow/
19
+ :param date: 指定日期
20
+ :type date: str
21
+ :return: 债券成交概览
22
+ :rtype: pandas.DataFrame
23
+ """
24
+ url = "http://query.sse.com.cn/commonExcelDd.do"
25
+ headers = {
26
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
27
+ "Referer": "http://bond.sse.com.cn/",
28
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36",
29
+ }
30
+ params = {
31
+ "sqlId": "COMMON_SSEBOND_SCSJ_SCTJ_SCGL_ZQXQSCGL_CX_L",
32
+ "TRADE_DATE": f"{date[:4]}-{date[4:6]}-{date[6:]}",
33
+ }
34
+ r = requests.get(url, params=params, headers=headers)
35
+ temp_df = pd.read_excel(BytesIO(r.content), engine="xlrd")
36
+ temp_df.columns = [
37
+ "债券现货",
38
+ "托管只数",
39
+ "托管市值",
40
+ "托管面值",
41
+ "数据日期",
42
+ ]
43
+ temp_df["托管只数"] = pd.to_numeric(temp_df["托管只数"])
44
+ temp_df["托管市值"] = pd.to_numeric(temp_df["托管市值"])
45
+ temp_df["托管面值"] = pd.to_numeric(temp_df["托管面值"])
46
+ temp_df["数据日期"] = pd.to_datetime(temp_df["数据日期"]).dt.date
47
+ return temp_df
48
+
49
+
50
+ def bond_deal_summary_sse(date: str = "20210104") -> pd.DataFrame:
51
+ """
52
+ 上登债券信息网-市场数据-市场统计-市场概览-债券成交概览
53
+ http://bond.sse.com.cn/data/statistics/overview/turnover/
54
+ :param date: 指定日期
55
+ :type date: str
56
+ :return: 债券成交概览
57
+ :rtype: pandas.DataFrame
58
+ """
59
+ url = "http://query.sse.com.cn/commonExcelDd.do"
60
+ headers = {
61
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
62
+ "Referer": "http://bond.sse.com.cn/",
63
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36",
64
+ }
65
+ params = {
66
+ "sqlId": "COMMON_SSEBOND_SCSJ_SCTJ_SCGL_ZQCJGL_CX_L",
67
+ "TRADE_DATE": f"{date[:4]}-{date[4:6]}-{date[6:]}",
68
+ }
69
+ r = requests.get(url, params=params, headers=headers)
70
+ temp_df = pd.read_excel(BytesIO(r.content))
71
+ temp_df.columns = [
72
+ "债券类型",
73
+ "当日成交笔数",
74
+ "当日成交金额",
75
+ "当年成交笔数",
76
+ "当年成交金额",
77
+ "数据日期",
78
+ ]
79
+ temp_df["当日成交笔数"] = pd.to_numeric(temp_df["当日成交笔数"])
80
+ temp_df["当日成交金额"] = pd.to_numeric(temp_df["当日成交金额"])
81
+ temp_df["当年成交笔数"] = pd.to_numeric(temp_df["当年成交笔数"])
82
+ temp_df["当年成交金额"] = pd.to_numeric(temp_df["当年成交金额"])
83
+ temp_df["数据日期"] = pd.to_datetime(temp_df["数据日期"]).dt.date
84
+ return temp_df
85
+
86
+
87
+ if __name__ == "__main__":
88
+ bond_cash_summary_sse_df = bond_cash_summary_sse(date="20210111")
89
+ print(bond_cash_summary_sse_df)
90
+
91
+ bond_summary_sse_df = bond_deal_summary_sse(date="20210111")
92
+ print(bond_summary_sse_df)
@@ -105,7 +105,6 @@ def _code_id_map() -> dict:
105
105
  "fid": "f12",
106
106
  "fs": "m:1 t:2,m:1 t:23",
107
107
  "fields": "f3,f12",
108
- "_": "1623833739532",
109
108
  }
110
109
  temp_df = fetch_paginated_data(url, params)
111
110
  temp_df["market_id"] = 1
@@ -122,7 +121,6 @@ def _code_id_map() -> dict:
122
121
  "fid": "f3",
123
122
  "fs": "m:0 t:6,m:0 t:80",
124
123
  "fields": "f3,f12",
125
- "_": "1623833739532",
126
124
  }
127
125
  temp_df_sz = fetch_paginated_data(url, params)
128
126
  temp_df_sz["sz_id"] = 0
@@ -282,7 +280,6 @@ def bond_zh_hs_cov_pre_min(symbol: str = "sh113570") -> pd.DataFrame:
282
280
  "iscr": "1",
283
281
  "iscca": "0",
284
282
  "secid": f"{market_type[symbol[:2]]}.{symbol[2:]}",
285
- "_": "1623766962675",
286
283
  }
287
284
  r = requests.get(url, params=params)
288
285
  data_json = r.json()
@@ -485,7 +482,6 @@ def bond_cov_comparison() -> pd.DataFrame:
485
482
  "fs": "b:MK0354",
486
483
  "fields": "f1,f152,f2,f3,f12,f13,f14,f227,f228,f229,f230,f231,f232,f233,f234,"
487
484
  "f235,f236,f237,f238,f239,f240,f241,f242,f26,f243",
488
- "_": "1590386857527",
489
485
  }
490
486
  temp_df = fetch_paginated_data(url, params)
491
487
  temp_df.columns = [
@@ -574,7 +570,6 @@ def bond_zh_cov_info(
574
570
  "source": "WEB",
575
571
  "client": "WEB",
576
572
  "filter": f'(SECURITY_CODE="{symbol}")',
577
- "_": "1654952140613",
578
573
  }
579
574
  if indicator == "基本信息":
580
575
  params.update(
@@ -647,7 +642,6 @@ def bond_zh_cov_value_analysis(symbol: str = "113527") -> pd.DataFrame:
647
642
  "filter": f'(zcode="{symbol}")',
648
643
  "p": "1",
649
644
  "ps": "8000",
650
- "_": "1648629088839",
651
645
  }
652
646
  r = requests.get(url, params=params)
653
647
  data_json = r.json()
@@ -4,35 +4,40 @@
4
4
  Date: 2019/10/20 10:21
5
5
  Desc: 债券配置文件
6
6
  """
7
+
7
8
  # bond-cov-sina
8
9
  zh_sina_bond_hs_cov_url = "http://vip.stock.finance.sina.com.cn/quotes_service/api/json_v2.php/Market_Center.getHQNodeDataSimple"
9
10
  zh_sina_bond_hs_cov_count_url = "http://vip.stock.finance.sina.com.cn/quotes_service/api/json_v2.php/Market_Center.getHQNodeStockCountSimple"
10
- zh_sina_bond_hs_cov_hist_url = "https://finance.sina.com.cn/realstock/company/{}/hisdata/klc_kl.js?d={}"
11
+ zh_sina_bond_hs_cov_hist_url = (
12
+ "https://finance.sina.com.cn/realstock/company/{}/hisdata/klc_kl.js?d={}"
13
+ )
11
14
  zh_sina_bond_hs_cov_payload = {
12
15
  "page": "1",
13
16
  "num": "80",
14
17
  "sort": "symbol",
15
18
  "asc": "1",
16
19
  "node": "hskzz_z",
17
- "_s_r_a": "page"
20
+ "_s_r_a": "page",
18
21
  }
19
22
 
20
23
  # bond-sina
21
24
  zh_sina_bond_hs_url = "http://vip.stock.finance.sina.com.cn/quotes_service/api/json_v2.php/Market_Center.getHQNodeData"
22
25
  zh_sina_bond_hs_count_url = "http://vip.stock.finance.sina.com.cn/quotes_service/api/json_v2.php/Market_Center.getHQNodeStockCountSimple"
23
- zh_sina_bond_hs_hist_url = "https://finance.sina.com.cn/realstock/company/{}/hisdata/klc_kl.js?d={}"
26
+ zh_sina_bond_hs_hist_url = (
27
+ "https://finance.sina.com.cn/realstock/company/{}/hisdata/klc_kl.js?d={}"
28
+ )
24
29
  zh_sina_bond_hs_payload = {
25
30
  "page": "1",
26
31
  "num": "80",
27
32
  "sort": "symbol",
28
33
  "asc": "1",
29
34
  "node": "hs_z",
30
- "_s_r_a": "page"
35
+ "_s_r_a": "page",
31
36
  }
32
37
 
33
38
  # headers
34
39
  SHORT_HEADERS = {
35
- 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.91 Safari/537.36'
40
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.91 Safari/537.36"
36
41
  }
37
42
 
38
43
  # quote
@@ -45,9 +50,7 @@ MARKET_QUOTE_PAYLOAD = {
45
50
  }
46
51
 
47
52
  # trade
48
- MARKET_TRADE_URL = "http://www.chinamoney.com.cn/ags/ms/cm-u-md-bond/CbtPri?lang=cn&flag=1&bondName="
49
- MARKET_TRADE_PAYLOAD = {
50
- "lang": "cn",
51
- "flag": "1",
52
- "bondName": ""
53
- }
53
+ MARKET_TRADE_URL = (
54
+ "http://www.chinamoney.com.cn/ags/ms/cm-u-md-bond/CbtPri?lang=cn&flag=1&bondName="
55
+ )
56
+ MARKET_TRADE_PAYLOAD = {"lang": "cn", "flag": "1", "bondName": ""}
@@ -2,5 +2,5 @@
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
4
  Date: 2020/10/23 13:51
5
- Desc:
5
+ Desc:
6
6
  """