akshare 1.15.12__tar.gz → 1.15.14__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 (397) hide show
  1. {akshare-1.15.12 → akshare-1.15.14}/PKG-INFO +5 -2
  2. {akshare-1.15.12 → akshare-1.15.14}/README.md +4 -1
  3. {akshare-1.15.12 → akshare-1.15.14}/akshare/__init__.py +4 -1
  4. akshare-1.15.14/akshare/economic/macro_bank.py +258 -0
  5. {akshare-1.15.12 → akshare-1.15.14}/akshare/index/index_stock_zh_csindex.py +6 -4
  6. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_inner_trade_xq.py +39 -31
  7. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_fundamental/stock_finance_ths.py +53 -1
  8. {akshare-1.15.12 → akshare-1.15.14}/akshare.egg-info/PKG-INFO +5 -2
  9. akshare-1.15.12/akshare/economic/macro_bank.py +0 -832
  10. {akshare-1.15.12 → akshare-1.15.14}/LICENSE +0 -0
  11. {akshare-1.15.12 → akshare-1.15.14}/akshare/air/__init__.py +0 -0
  12. {akshare-1.15.12 → akshare-1.15.14}/akshare/air/air_hebei.py +0 -0
  13. {akshare-1.15.12 → akshare-1.15.14}/akshare/air/air_zhenqi.py +0 -0
  14. {akshare-1.15.12 → akshare-1.15.14}/akshare/air/cons.py +0 -0
  15. {akshare-1.15.12 → akshare-1.15.14}/akshare/air/crypto.js +0 -0
  16. {akshare-1.15.12 → akshare-1.15.14}/akshare/air/outcrypto.js +0 -0
  17. {akshare-1.15.12 → akshare-1.15.14}/akshare/air/sunrise_tad.py +0 -0
  18. {akshare-1.15.12 → akshare-1.15.14}/akshare/article/__init__.py +0 -0
  19. {akshare-1.15.12 → akshare-1.15.14}/akshare/article/cons.py +0 -0
  20. {akshare-1.15.12 → akshare-1.15.14}/akshare/article/epu_index.py +0 -0
  21. {akshare-1.15.12 → akshare-1.15.14}/akshare/article/ff_factor.py +0 -0
  22. {akshare-1.15.12 → akshare-1.15.14}/akshare/article/fred_md.py +0 -0
  23. {akshare-1.15.12 → akshare-1.15.14}/akshare/article/risk_rv.py +0 -0
  24. {akshare-1.15.12 → akshare-1.15.14}/akshare/bank/__init__.py +0 -0
  25. {akshare-1.15.12 → akshare-1.15.14}/akshare/bank/bank_cbirc_2020.py +0 -0
  26. {akshare-1.15.12 → akshare-1.15.14}/akshare/bank/cons.py +0 -0
  27. {akshare-1.15.12 → akshare-1.15.14}/akshare/bond/__init__.py +0 -0
  28. {akshare-1.15.12 → akshare-1.15.14}/akshare/bond/bond_cb_sina.py +0 -0
  29. {akshare-1.15.12 → akshare-1.15.14}/akshare/bond/bond_cb_ths.py +0 -0
  30. {akshare-1.15.12 → akshare-1.15.14}/akshare/bond/bond_cbond.py +0 -0
  31. {akshare-1.15.12 → akshare-1.15.14}/akshare/bond/bond_china.py +0 -0
  32. {akshare-1.15.12 → akshare-1.15.14}/akshare/bond/bond_china_money.py +0 -0
  33. {akshare-1.15.12 → akshare-1.15.14}/akshare/bond/bond_convert.py +0 -0
  34. {akshare-1.15.12 → akshare-1.15.14}/akshare/bond/bond_em.py +0 -0
  35. {akshare-1.15.12 → akshare-1.15.14}/akshare/bond/bond_info_cm.py +0 -0
  36. {akshare-1.15.12 → akshare-1.15.14}/akshare/bond/bond_investing.py +0 -0
  37. {akshare-1.15.12 → akshare-1.15.14}/akshare/bond/bond_issue_cninfo.py +0 -0
  38. {akshare-1.15.12 → akshare-1.15.14}/akshare/bond/bond_nafmii.py +0 -0
  39. {akshare-1.15.12 → akshare-1.15.14}/akshare/bond/bond_summary.py +0 -0
  40. {akshare-1.15.12 → akshare-1.15.14}/akshare/bond/bond_zh_cov.py +0 -0
  41. {akshare-1.15.12 → akshare-1.15.14}/akshare/bond/bond_zh_sina.py +0 -0
  42. {akshare-1.15.12 → akshare-1.15.14}/akshare/bond/cons.py +0 -0
  43. {akshare-1.15.12 → akshare-1.15.14}/akshare/cal/__init__.py +0 -0
  44. {akshare-1.15.12 → akshare-1.15.14}/akshare/cal/rv.py +0 -0
  45. {akshare-1.15.12 → akshare-1.15.14}/akshare/cost/__init__.py +0 -0
  46. {akshare-1.15.12 → akshare-1.15.14}/akshare/cost/cost_living.py +0 -0
  47. {akshare-1.15.12 → akshare-1.15.14}/akshare/crypto/__init__.py +0 -0
  48. {akshare-1.15.12 → akshare-1.15.14}/akshare/crypto/crypto_bitcoin_cme.py +0 -0
  49. {akshare-1.15.12 → akshare-1.15.14}/akshare/crypto/crypto_hist_investing.py +0 -0
  50. {akshare-1.15.12 → akshare-1.15.14}/akshare/crypto/crypto_hold.py +0 -0
  51. {akshare-1.15.12 → akshare-1.15.14}/akshare/currency/__init__.py +0 -0
  52. {akshare-1.15.12 → akshare-1.15.14}/akshare/currency/currency.py +0 -0
  53. {akshare-1.15.12 → akshare-1.15.14}/akshare/currency/currency_china_bank_sina.py +0 -0
  54. {akshare-1.15.12 → akshare-1.15.14}/akshare/currency/currency_safe.py +0 -0
  55. {akshare-1.15.12 → akshare-1.15.14}/akshare/data/__init__.py +0 -0
  56. {akshare-1.15.12 → akshare-1.15.14}/akshare/data/cninfo.js +0 -0
  57. {akshare-1.15.12 → akshare-1.15.14}/akshare/data/crypto_info.zip +0 -0
  58. {akshare-1.15.12 → akshare-1.15.14}/akshare/data/ths.js +0 -0
  59. {akshare-1.15.12 → akshare-1.15.14}/akshare/datasets.py +0 -0
  60. {akshare-1.15.12 → akshare-1.15.14}/akshare/economic/__init__.py +0 -0
  61. {akshare-1.15.12 → akshare-1.15.14}/akshare/economic/cons.py +0 -0
  62. {akshare-1.15.12 → akshare-1.15.14}/akshare/economic/macro_australia.py +0 -0
  63. {akshare-1.15.12 → akshare-1.15.14}/akshare/economic/macro_canada.py +0 -0
  64. {akshare-1.15.12 → akshare-1.15.14}/akshare/economic/macro_china.py +0 -0
  65. {akshare-1.15.12 → akshare-1.15.14}/akshare/economic/macro_china_hk.py +0 -0
  66. {akshare-1.15.12 → akshare-1.15.14}/akshare/economic/macro_china_nbs.py +0 -0
  67. {akshare-1.15.12 → akshare-1.15.14}/akshare/economic/macro_constitute.py +0 -0
  68. {akshare-1.15.12 → akshare-1.15.14}/akshare/economic/macro_euro.py +0 -0
  69. {akshare-1.15.12 → akshare-1.15.14}/akshare/economic/macro_finance_ths.py +0 -0
  70. {akshare-1.15.12 → akshare-1.15.14}/akshare/economic/macro_germany.py +0 -0
  71. {akshare-1.15.12 → akshare-1.15.14}/akshare/economic/macro_info_ws.py +0 -0
  72. {akshare-1.15.12 → akshare-1.15.14}/akshare/economic/macro_japan.py +0 -0
  73. {akshare-1.15.12 → akshare-1.15.14}/akshare/economic/macro_other.py +0 -0
  74. {akshare-1.15.12 → akshare-1.15.14}/akshare/economic/macro_swiss.py +0 -0
  75. {akshare-1.15.12 → akshare-1.15.14}/akshare/economic/macro_uk.py +0 -0
  76. {akshare-1.15.12 → akshare-1.15.14}/akshare/economic/macro_usa.py +0 -0
  77. {akshare-1.15.12 → akshare-1.15.14}/akshare/economic/marco_cnbs.py +0 -0
  78. {akshare-1.15.12 → akshare-1.15.14}/akshare/energy/__init__.py +0 -0
  79. {akshare-1.15.12 → akshare-1.15.14}/akshare/energy/energy_carbon.py +0 -0
  80. {akshare-1.15.12 → akshare-1.15.14}/akshare/energy/energy_oil_em.py +0 -0
  81. {akshare-1.15.12 → akshare-1.15.14}/akshare/event/__init__.py +0 -0
  82. {akshare-1.15.12 → akshare-1.15.14}/akshare/event/cons.py +0 -0
  83. {akshare-1.15.12 → akshare-1.15.14}/akshare/event/migration.py +0 -0
  84. {akshare-1.15.12 → akshare-1.15.14}/akshare/exceptions.py +0 -0
  85. {akshare-1.15.12 → akshare-1.15.14}/akshare/file_fold/__init__.py +0 -0
  86. {akshare-1.15.12 → akshare-1.15.14}/akshare/file_fold/calendar.json +0 -0
  87. {akshare-1.15.12 → akshare-1.15.14}/akshare/fortune/__init__.py +0 -0
  88. {akshare-1.15.12 → akshare-1.15.14}/akshare/fortune/fortune_500.py +0 -0
  89. {akshare-1.15.12 → akshare-1.15.14}/akshare/fortune/fortune_bloomberg.py +0 -0
  90. {akshare-1.15.12 → akshare-1.15.14}/akshare/fortune/fortune_forbes_500.py +0 -0
  91. {akshare-1.15.12 → akshare-1.15.14}/akshare/fortune/fortune_hurun.py +0 -0
  92. {akshare-1.15.12 → akshare-1.15.14}/akshare/fortune/fortune_xincaifu_500.py +0 -0
  93. {akshare-1.15.12 → akshare-1.15.14}/akshare/fund/__init__.py +0 -0
  94. {akshare-1.15.12 → akshare-1.15.14}/akshare/fund/fund_amac.py +0 -0
  95. {akshare-1.15.12 → akshare-1.15.14}/akshare/fund/fund_announcement.py +0 -0
  96. {akshare-1.15.12 → akshare-1.15.14}/akshare/fund/fund_aum_em.py +0 -0
  97. {akshare-1.15.12 → akshare-1.15.14}/akshare/fund/fund_em.py +0 -0
  98. {akshare-1.15.12 → akshare-1.15.14}/akshare/fund/fund_etf_em.py +0 -0
  99. {akshare-1.15.12 → akshare-1.15.14}/akshare/fund/fund_etf_sina.py +0 -0
  100. {akshare-1.15.12 → akshare-1.15.14}/akshare/fund/fund_etf_ths.py +0 -0
  101. {akshare-1.15.12 → akshare-1.15.14}/akshare/fund/fund_fhsp_em.py +0 -0
  102. {akshare-1.15.12 → akshare-1.15.14}/akshare/fund/fund_init_em.py +0 -0
  103. {akshare-1.15.12 → akshare-1.15.14}/akshare/fund/fund_lof_em.py +0 -0
  104. {akshare-1.15.12 → akshare-1.15.14}/akshare/fund/fund_manager.py +0 -0
  105. {akshare-1.15.12 → akshare-1.15.14}/akshare/fund/fund_portfolio_em.py +0 -0
  106. {akshare-1.15.12 → akshare-1.15.14}/akshare/fund/fund_position_lg.py +0 -0
  107. {akshare-1.15.12 → akshare-1.15.14}/akshare/fund/fund_rank_em.py +0 -0
  108. {akshare-1.15.12 → akshare-1.15.14}/akshare/fund/fund_rating.py +0 -0
  109. {akshare-1.15.12 → akshare-1.15.14}/akshare/fund/fund_report_cninfo.py +0 -0
  110. {akshare-1.15.12 → akshare-1.15.14}/akshare/fund/fund_scale_em.py +0 -0
  111. {akshare-1.15.12 → akshare-1.15.14}/akshare/fund/fund_scale_sina.py +0 -0
  112. {akshare-1.15.12 → akshare-1.15.14}/akshare/fund/fund_xq.py +0 -0
  113. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures/__init__.py +0 -0
  114. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures/cons.py +0 -0
  115. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures/cot.py +0 -0
  116. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures/futures_basis.py +0 -0
  117. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures/futures_comex_em.py +0 -0
  118. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures/futures_comm_ctp.py +0 -0
  119. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures/futures_comm_qihuo.py +0 -0
  120. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures/futures_contract_detail.py +0 -0
  121. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures/futures_daily_bar.py +0 -0
  122. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures/futures_foreign.py +0 -0
  123. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures/futures_hf_em.py +0 -0
  124. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures/futures_hq_sina.py +0 -0
  125. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures/futures_index_ccidx.py +0 -0
  126. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures/futures_international.py +0 -0
  127. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures/futures_inventory_99.py +0 -0
  128. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures/futures_inventory_em.py +0 -0
  129. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures/futures_news_baidu.py +0 -0
  130. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures/futures_news_shmet.py +0 -0
  131. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures/futures_roll_yield.py +0 -0
  132. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures/futures_rule.py +0 -0
  133. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures/futures_settlement_price_sgx.py +0 -0
  134. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures/futures_spot_stock_em.py +0 -0
  135. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures/futures_stock_js.py +0 -0
  136. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures/futures_to_spot.py +0 -0
  137. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures/futures_warehouse_receipt.py +0 -0
  138. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures/futures_zh_sina.py +0 -0
  139. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures/inventory_data.py +0 -0
  140. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures/receipt.py +0 -0
  141. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures/requests_fun.py +0 -0
  142. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures/symbol_var.py +0 -0
  143. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures_derivative/__init__.py +0 -0
  144. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures_derivative/cons.py +0 -0
  145. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures_derivative/futures_contract_info_cffex.py +0 -0
  146. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures_derivative/futures_contract_info_czce.py +0 -0
  147. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures_derivative/futures_contract_info_dce.py +0 -0
  148. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures_derivative/futures_contract_info_gfex.py +0 -0
  149. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures_derivative/futures_contract_info_ine.py +0 -0
  150. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures_derivative/futures_contract_info_shfe.py +0 -0
  151. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures_derivative/futures_cot_sina.py +0 -0
  152. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures_derivative/futures_hog.py +0 -0
  153. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures_derivative/futures_index_sina.py +0 -0
  154. {akshare-1.15.12 → akshare-1.15.14}/akshare/futures_derivative/futures_spot_sys.py +0 -0
  155. {akshare-1.15.12 → akshare-1.15.14}/akshare/fx/__init__.py +0 -0
  156. {akshare-1.15.12 → akshare-1.15.14}/akshare/fx/cons.py +0 -0
  157. {akshare-1.15.12 → akshare-1.15.14}/akshare/fx/currency_investing.py +0 -0
  158. {akshare-1.15.12 → akshare-1.15.14}/akshare/fx/fx_quote.py +0 -0
  159. {akshare-1.15.12 → akshare-1.15.14}/akshare/fx/fx_quote_baidu.py +0 -0
  160. {akshare-1.15.12 → akshare-1.15.14}/akshare/hf/__init__.py +0 -0
  161. {akshare-1.15.12 → akshare-1.15.14}/akshare/hf/hf_sp500.py +0 -0
  162. {akshare-1.15.12 → akshare-1.15.14}/akshare/index/__init__.py +0 -0
  163. {akshare-1.15.12 → akshare-1.15.14}/akshare/index/cons.py +0 -0
  164. {akshare-1.15.12 → akshare-1.15.14}/akshare/index/index_cflp.py +0 -0
  165. {akshare-1.15.12 → akshare-1.15.14}/akshare/index/index_cni.py +0 -0
  166. {akshare-1.15.12 → akshare-1.15.14}/akshare/index/index_cons.py +0 -0
  167. {akshare-1.15.12 → akshare-1.15.14}/akshare/index/index_cx.py +0 -0
  168. {akshare-1.15.12 → akshare-1.15.14}/akshare/index/index_drewry.py +0 -0
  169. {akshare-1.15.12 → akshare-1.15.14}/akshare/index/index_eri.py +0 -0
  170. {akshare-1.15.12 → akshare-1.15.14}/akshare/index/index_fear_greed_funddb.py +0 -0
  171. {akshare-1.15.12 → akshare-1.15.14}/akshare/index/index_hog.py +0 -0
  172. {akshare-1.15.12 → akshare-1.15.14}/akshare/index/index_investing.py +0 -0
  173. {akshare-1.15.12 → akshare-1.15.14}/akshare/index/index_kq_fz.py +0 -0
  174. {akshare-1.15.12 → akshare-1.15.14}/akshare/index/index_kq_ss.py +0 -0
  175. {akshare-1.15.12 → akshare-1.15.14}/akshare/index/index_option_qvix.py +0 -0
  176. {akshare-1.15.12 → akshare-1.15.14}/akshare/index/index_research_fund_sw.py +0 -0
  177. {akshare-1.15.12 → akshare-1.15.14}/akshare/index/index_research_sw.py +0 -0
  178. {akshare-1.15.12 → akshare-1.15.14}/akshare/index/index_spot.py +0 -0
  179. {akshare-1.15.12 → akshare-1.15.14}/akshare/index/index_stock_hk.py +0 -0
  180. {akshare-1.15.12 → akshare-1.15.14}/akshare/index/index_stock_us_sina.py +0 -0
  181. {akshare-1.15.12 → akshare-1.15.14}/akshare/index/index_stock_zh.py +0 -0
  182. {akshare-1.15.12 → akshare-1.15.14}/akshare/index/index_sugar.py +0 -0
  183. {akshare-1.15.12 → akshare-1.15.14}/akshare/index/index_sw.py +0 -0
  184. {akshare-1.15.12 → akshare-1.15.14}/akshare/index/index_yw.py +0 -0
  185. {akshare-1.15.12 → akshare-1.15.14}/akshare/index/index_zh_a_scope.py +0 -0
  186. {akshare-1.15.12 → akshare-1.15.14}/akshare/index/index_zh_em.py +0 -0
  187. {akshare-1.15.12 → akshare-1.15.14}/akshare/interest_rate/__init__.py +0 -0
  188. {akshare-1.15.12 → akshare-1.15.14}/akshare/interest_rate/interbank_rate_em.py +0 -0
  189. {akshare-1.15.12 → akshare-1.15.14}/akshare/movie/__init__.py +0 -0
  190. {akshare-1.15.12 → akshare-1.15.14}/akshare/movie/artist_yien.py +0 -0
  191. {akshare-1.15.12 → akshare-1.15.14}/akshare/movie/jm.js +0 -0
  192. {akshare-1.15.12 → akshare-1.15.14}/akshare/movie/movie_yien.py +0 -0
  193. {akshare-1.15.12 → akshare-1.15.14}/akshare/movie/video_yien.py +0 -0
  194. {akshare-1.15.12 → akshare-1.15.14}/akshare/news/__init__.py +0 -0
  195. {akshare-1.15.12 → akshare-1.15.14}/akshare/news/news_baidu.py +0 -0
  196. {akshare-1.15.12 → akshare-1.15.14}/akshare/news/news_cctv.py +0 -0
  197. {akshare-1.15.12 → akshare-1.15.14}/akshare/news/news_stock.py +0 -0
  198. {akshare-1.15.12 → akshare-1.15.14}/akshare/nlp/__init__.py +0 -0
  199. {akshare-1.15.12 → akshare-1.15.14}/akshare/nlp/nlp_interface.py +0 -0
  200. {akshare-1.15.12 → akshare-1.15.14}/akshare/option/__init__.py +0 -0
  201. {akshare-1.15.12 → akshare-1.15.14}/akshare/option/cons.py +0 -0
  202. {akshare-1.15.12 → akshare-1.15.14}/akshare/option/option_comm_qihuo.py +0 -0
  203. {akshare-1.15.12 → akshare-1.15.14}/akshare/option/option_commodity.py +0 -0
  204. {akshare-1.15.12 → akshare-1.15.14}/akshare/option/option_commodity_sina.py +0 -0
  205. {akshare-1.15.12 → akshare-1.15.14}/akshare/option/option_czce.py +0 -0
  206. {akshare-1.15.12 → akshare-1.15.14}/akshare/option/option_daily_stats_sse_szse.py +0 -0
  207. {akshare-1.15.12 → akshare-1.15.14}/akshare/option/option_em.py +0 -0
  208. {akshare-1.15.12 → akshare-1.15.14}/akshare/option/option_finance.py +0 -0
  209. {akshare-1.15.12 → akshare-1.15.14}/akshare/option/option_finance_sina.py +0 -0
  210. {akshare-1.15.12 → akshare-1.15.14}/akshare/option/option_lhb_em.py +0 -0
  211. {akshare-1.15.12 → akshare-1.15.14}/akshare/option/option_premium_analysis_em.py +0 -0
  212. {akshare-1.15.12 → akshare-1.15.14}/akshare/option/option_risk_analysis_em.py +0 -0
  213. {akshare-1.15.12 → akshare-1.15.14}/akshare/option/option_risk_indicator_sse.py +0 -0
  214. {akshare-1.15.12 → akshare-1.15.14}/akshare/option/option_value_analysis_em.py +0 -0
  215. {akshare-1.15.12 → akshare-1.15.14}/akshare/other/__init__.py +0 -0
  216. {akshare-1.15.12 → akshare-1.15.14}/akshare/other/other_car_cpca.py +0 -0
  217. {akshare-1.15.12 → akshare-1.15.14}/akshare/other/other_car_gasgoo.py +0 -0
  218. {akshare-1.15.12 → akshare-1.15.14}/akshare/pro/__init__.py +0 -0
  219. {akshare-1.15.12 → akshare-1.15.14}/akshare/pro/client.py +0 -0
  220. {akshare-1.15.12 → akshare-1.15.14}/akshare/pro/cons.py +0 -0
  221. {akshare-1.15.12 → akshare-1.15.14}/akshare/pro/data_pro.py +0 -0
  222. {akshare-1.15.12 → akshare-1.15.14}/akshare/qdii/__init__.py +0 -0
  223. {akshare-1.15.12 → akshare-1.15.14}/akshare/qdii/qdii_jsl.py +0 -0
  224. {akshare-1.15.12 → akshare-1.15.14}/akshare/qhkc/__init__.py +0 -0
  225. {akshare-1.15.12 → akshare-1.15.14}/akshare/qhkc/qhkc_api.py +0 -0
  226. {akshare-1.15.12 → akshare-1.15.14}/akshare/qhkc_web/__init__.py +0 -0
  227. {akshare-1.15.12 → akshare-1.15.14}/akshare/qhkc_web/qhkc_fund.py +0 -0
  228. {akshare-1.15.12 → akshare-1.15.14}/akshare/qhkc_web/qhkc_index.py +0 -0
  229. {akshare-1.15.12 → akshare-1.15.14}/akshare/qhkc_web/qhkc_tool.py +0 -0
  230. {akshare-1.15.12 → akshare-1.15.14}/akshare/rate/__init__.py +0 -0
  231. {akshare-1.15.12 → akshare-1.15.14}/akshare/rate/repo_rate.py +0 -0
  232. {akshare-1.15.12 → akshare-1.15.14}/akshare/reits/__init__.py +0 -0
  233. {akshare-1.15.12 → akshare-1.15.14}/akshare/reits/reits_basic.py +0 -0
  234. {akshare-1.15.12 → akshare-1.15.14}/akshare/request.py +0 -0
  235. {akshare-1.15.12 → akshare-1.15.14}/akshare/sport/__init__.py +0 -0
  236. {akshare-1.15.12 → akshare-1.15.14}/akshare/sport/sport_olympic.py +0 -0
  237. {akshare-1.15.12 → akshare-1.15.14}/akshare/spot/__init__.py +0 -0
  238. {akshare-1.15.12 → akshare-1.15.14}/akshare/spot/spot_hog_soozhu.py +0 -0
  239. {akshare-1.15.12 → akshare-1.15.14}/akshare/spot/spot_price_qh.py +0 -0
  240. {akshare-1.15.12 → akshare-1.15.14}/akshare/spot/spot_sge.py +0 -0
  241. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/__init__.py +0 -0
  242. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/cons.py +0 -0
  243. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_allotment_cninfo.py +0 -0
  244. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_ask_bid_em.py +0 -0
  245. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_board_concept_em.py +0 -0
  246. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_board_industry_em.py +0 -0
  247. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_cg_equity_mortgage.py +0 -0
  248. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_cg_guarantee.py +0 -0
  249. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_cg_lawsuit.py +0 -0
  250. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_dividend_cninfo.py +0 -0
  251. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_dzjy_em.py +0 -0
  252. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_fund_em.py +0 -0
  253. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_fund_hold.py +0 -0
  254. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_gsrl_em.py +0 -0
  255. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_hk_famous.py +0 -0
  256. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_hk_fhpx_ths.py +0 -0
  257. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_hk_hot_rank_em.py +0 -0
  258. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_hk_sina.py +0 -0
  259. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_hold_control_cninfo.py +0 -0
  260. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_hold_control_em.py +0 -0
  261. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_hold_num_cninfo.py +0 -0
  262. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_hot_rank_em.py +0 -0
  263. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_hot_search_baidu.py +0 -0
  264. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_hot_up_em.py +0 -0
  265. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_industry.py +0 -0
  266. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_industry_cninfo.py +0 -0
  267. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_industry_pe_cninfo.py +0 -0
  268. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_industry_sw.py +0 -0
  269. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_info.py +0 -0
  270. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_info_em.py +0 -0
  271. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_intraday_em.py +0 -0
  272. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_intraday_sina.py +0 -0
  273. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_ipo_summary_cninfo.py +0 -0
  274. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_new_cninfo.py +0 -0
  275. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_news_cx.py +0 -0
  276. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_profile_cninfo.py +0 -0
  277. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_rank_forecast.py +0 -0
  278. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_repurchase_em.py +0 -0
  279. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_share_changes_cninfo.py +0 -0
  280. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_share_hold.py +0 -0
  281. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_stop.py +0 -0
  282. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_summary.py +0 -0
  283. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_us_famous.py +0 -0
  284. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_us_js.py +0 -0
  285. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_us_pink.py +0 -0
  286. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_us_sina.py +0 -0
  287. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_weibo_nlp.py +0 -0
  288. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_xq.py +0 -0
  289. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_zh_a_sina.py +0 -0
  290. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_zh_a_special.py +0 -0
  291. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_zh_a_tick_tx.py +0 -0
  292. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_zh_ah_tx.py +0 -0
  293. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_zh_b_sina.py +0 -0
  294. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_zh_kcb_report.py +0 -0
  295. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock/stock_zh_kcb_sina.py +0 -0
  296. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/__init__.py +0 -0
  297. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/cons.py +0 -0
  298. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_a_below_net_asset_statistics.py +0 -0
  299. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_a_high_low.py +0 -0
  300. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_a_indicator.py +0 -0
  301. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_a_pe_and_pb.py +0 -0
  302. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_account_em.py +0 -0
  303. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_all_pb.py +0 -0
  304. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_analyst_em.py +0 -0
  305. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_board_industry_ths.py +0 -0
  306. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_buffett_index_lg.py +0 -0
  307. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_classify_sina.py +0 -0
  308. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_comment_em.py +0 -0
  309. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_concept_futu.py +0 -0
  310. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_congestion_lg.py +0 -0
  311. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_cyq_em.py +0 -0
  312. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_disclosure_cninfo.py +0 -0
  313. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_dxsyl_em.py +0 -0
  314. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_ebs_lg.py +0 -0
  315. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_esg_sina.py +0 -0
  316. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_fhps_em.py +0 -0
  317. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_fhps_ths.py +0 -0
  318. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_fund_flow.py +0 -0
  319. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_gddh_em.py +0 -0
  320. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_gdfx_em.py +0 -0
  321. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_gdhs.py +0 -0
  322. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_gdzjc_em.py +0 -0
  323. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_gpzy_em.py +0 -0
  324. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_gxl_lg.py +0 -0
  325. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_hist_em.py +0 -0
  326. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_hist_tx.py +0 -0
  327. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_hk_valuation_baidu.py +0 -0
  328. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_hot_xq.py +0 -0
  329. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_hsgt_em.py +0 -0
  330. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_hsgt_exchange_rate.py +0 -0
  331. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_hsgt_min_em.py +0 -0
  332. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_info.py +0 -0
  333. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_irm_cninfo.py +0 -0
  334. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_jgdy_em.py +0 -0
  335. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_lh_yybpm.py +0 -0
  336. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_lhb_em.py +0 -0
  337. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_lhb_sina.py +0 -0
  338. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_margin_em.py +0 -0
  339. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_margin_sse.py +0 -0
  340. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_margin_szse.py +0 -0
  341. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_market_legu.py +0 -0
  342. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_pankou_em.py +0 -0
  343. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_qsjy_em.py +0 -0
  344. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_report_em.py +0 -0
  345. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_research_report_em.py +0 -0
  346. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_sns_sseinfo.py +0 -0
  347. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_sy_em.py +0 -0
  348. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_technology_ths.py +0 -0
  349. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_tfp_em.py +0 -0
  350. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_three_report_em.py +0 -0
  351. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_ttm_lyr.py +0 -0
  352. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_wencai.py +0 -0
  353. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_yjbb_em.py +0 -0
  354. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_yjyg_cninfo.py +0 -0
  355. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_yjyg_em.py +0 -0
  356. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_yzxdr_em.py +0 -0
  357. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_zdhtmx_em.py +0 -0
  358. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_zf_pg.py +0 -0
  359. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_zh_valuation_baidu.py +0 -0
  360. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_zh_vote_baidu.py +0 -0
  361. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/stock_ztb_em.py +0 -0
  362. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_feature/ths.js +0 -0
  363. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_fundamental/__init__.py +0 -0
  364. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_fundamental/stock_finance.py +0 -0
  365. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_fundamental/stock_finance_hk.py +0 -0
  366. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_fundamental/stock_hold.py +0 -0
  367. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_fundamental/stock_ipo_declare.py +0 -0
  368. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_fundamental/stock_kcb_detail_sse.py +0 -0
  369. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_fundamental/stock_kcb_sse.py +0 -0
  370. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_fundamental/stock_mda_ym.py +0 -0
  371. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_fundamental/stock_notice.py +0 -0
  372. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_fundamental/stock_profit_forecast_em.py +0 -0
  373. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_fundamental/stock_profit_forecast_hk_etnet.py +0 -0
  374. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_fundamental/stock_profit_forecast_ths.py +0 -0
  375. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_fundamental/stock_recommend.py +0 -0
  376. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_fundamental/stock_register_em.py +0 -0
  377. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_fundamental/stock_restricted_em.py +0 -0
  378. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_fundamental/stock_zygc.py +0 -0
  379. {akshare-1.15.12 → akshare-1.15.14}/akshare/stock_fundamental/stock_zyjs_ths.py +0 -0
  380. {akshare-1.15.12 → akshare-1.15.14}/akshare/tool/__init__.py +0 -0
  381. {akshare-1.15.12 → akshare-1.15.14}/akshare/tool/trade_date_hist.py +0 -0
  382. {akshare-1.15.12 → akshare-1.15.14}/akshare/utils/__init__.py +0 -0
  383. {akshare-1.15.12 → akshare-1.15.14}/akshare/utils/cons.py +0 -0
  384. {akshare-1.15.12 → akshare-1.15.14}/akshare/utils/context.py +0 -0
  385. {akshare-1.15.12 → akshare-1.15.14}/akshare/utils/demjson.py +0 -0
  386. {akshare-1.15.12 → akshare-1.15.14}/akshare/utils/func.py +0 -0
  387. {akshare-1.15.12 → akshare-1.15.14}/akshare/utils/token_process.py +0 -0
  388. {akshare-1.15.12 → akshare-1.15.14}/akshare/utils/tqdm.py +0 -0
  389. {akshare-1.15.12 → akshare-1.15.14}/akshare.egg-info/SOURCES.txt +0 -0
  390. {akshare-1.15.12 → akshare-1.15.14}/akshare.egg-info/dependency_links.txt +0 -0
  391. {akshare-1.15.12 → akshare-1.15.14}/akshare.egg-info/requires.txt +0 -0
  392. {akshare-1.15.12 → akshare-1.15.14}/akshare.egg-info/top_level.txt +0 -0
  393. {akshare-1.15.12 → akshare-1.15.14}/pyproject.toml +0 -0
  394. {akshare-1.15.12 → akshare-1.15.14}/setup.cfg +0 -0
  395. {akshare-1.15.12 → akshare-1.15.14}/setup.py +0 -0
  396. {akshare-1.15.12 → akshare-1.15.14}/tests/__init__.py +0 -0
  397. {akshare-1.15.12 → akshare-1.15.14}/tests/test_func.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: akshare
3
- Version: 1.15.12
3
+ Version: 1.15.14
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,10 @@ Requires-Dist: akqmt; extra == "qmt"
40
40
 
41
41
  **欢迎加入专注于财经数据和量化投资的知识社区,请点击[了解更多](https://akshare.akfamily.xyz/learn.html)**
42
42
 
43
- **相关视频教程已经发布:《AKShare-初阶-使用教学》、《AKShare-初阶-实战应用》、《AKShare-源码解析》、《开源项目巡礼》**,详情请访问[课程](https://app3rqjh1z21630.h5.xiaoeknow.com)查看更多课程信息!
43
+ **首门量化投资教程:《PyBroker-入门及实战》已经录制完成,目前已经上架!**
44
+
45
+ **更多视频教程已经发布:《AKShare-初阶-使用教学》、《AKShare-初阶-实战应用》、《AKShare-源码解析》、《开源项目巡礼》**,
46
+ 详情请关注【数据科学实战】公众号,查看更多课程信息!
44
47
 
45
48
  **AKQuant 量化教程请访问:[利用 PyBroker 进行量化投资](https://akquant.akfamily.xyz/)**
46
49
 
@@ -1,6 +1,9 @@
1
1
  **欢迎加入专注于财经数据和量化投资的知识社区,请点击[了解更多](https://akshare.akfamily.xyz/learn.html)**
2
2
 
3
- **相关视频教程已经发布:《AKShare-初阶-使用教学》、《AKShare-初阶-实战应用》、《AKShare-源码解析》、《开源项目巡礼》**,详情请访问[课程](https://app3rqjh1z21630.h5.xiaoeknow.com)查看更多课程信息!
3
+ **首门量化投资教程:《PyBroker-入门及实战》已经录制完成,目前已经上架!**
4
+
5
+ **更多视频教程已经发布:《AKShare-初阶-使用教学》、《AKShare-初阶-实战应用》、《AKShare-源码解析》、《开源项目巡礼》**,
6
+ 详情请关注【数据科学实战】公众号,查看更多课程信息!
4
7
 
5
8
  **AKQuant 量化教程请访问:[利用 PyBroker 进行量化投资](https://akquant.akfamily.xyz/)**
6
9
 
@@ -2922,9 +2922,11 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
2922
2922
  1.15.10 add: add volatility_yz_rv indicator
2923
2923
  1.15.11 fix: fix stock_individual_spot_xq indicator
2924
2924
  1.15.12 fix: fix stock_shareholder_change_ths indicator
2925
+ 1.15.13 fix: fix stock_inner_trade_xq indicator
2926
+ 1.15.14 fix: fix macro_bank_usa_interest_rate indicator
2925
2927
  """
2926
2928
 
2927
- __version__ = "1.15.12"
2929
+ __version__ = "1.15.14"
2928
2930
  __author__ = "AKFamily"
2929
2931
 
2930
2932
  import sys
@@ -3206,6 +3208,7 @@ from akshare.stock_fundamental.stock_finance_ths import (
3206
3208
  stock_financial_debt_ths,
3207
3209
  stock_financial_benefit_ths,
3208
3210
  stock_financial_cash_ths,
3211
+ stock_management_change_ths,
3209
3212
  stock_shareholder_change_ths,
3210
3213
  )
3211
3214
 
@@ -0,0 +1,258 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding:utf-8 -*-
3
+ """
4
+ Date: 2024/11/5 17:11
5
+ Desc: 金十数据中心-经济指标-央行利率-主要央行利率
6
+ https://datacenter.jin10.com/economic
7
+ 输出数据格式为 float64
8
+ 美联储利率决议报告
9
+ 欧洲央行决议报告
10
+ 新西兰联储决议报告
11
+ 中国央行决议报告
12
+ 瑞士央行决议报告
13
+ 英国央行决议报告
14
+ 澳洲联储决议报告
15
+ 日本央行决议报告
16
+ 俄罗斯央行决议报告
17
+ 印度央行决议报告
18
+ 巴西央行决议报告
19
+ """
20
+
21
+ import datetime
22
+ import time
23
+
24
+ import pandas as pd
25
+ import requests
26
+
27
+
28
+ def __get_interest_rate_data(attr_id: str, name: str = "利率") -> pd.DataFrame:
29
+ """
30
+ 利率决议报告公共函数
31
+ https://datacenter.jin10.com/reportType/dc_usa_interest_rate_decision
32
+ :param attr_id: 内置属性
33
+ :type attr_id: str
34
+ :param name: 利率报告名称
35
+ :type name: str
36
+ :return: 利率决议报告数据
37
+ :rtype: pandas.Series
38
+ """
39
+ t = time.time()
40
+ headers = {
41
+ "Accept": "*/*",
42
+ "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8",
43
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
44
+ "Chrome/120.0.0.0 Safari/537.36",
45
+ "Origin": "https://datacenter.jin10.com",
46
+ "Referer": "https://datacenter.jin10.com/",
47
+ "x-app-id": "rU6QIu7JHe2gOUeR",
48
+ "x-version": "1.0.0",
49
+ }
50
+ base_url = "https://datacenter-api.jin10.com/reports/list_v2"
51
+ params = {
52
+ "max_date": "",
53
+ "category": "ec",
54
+ "attr_id": attr_id,
55
+ "_": str(int(round(t * 1000))),
56
+ }
57
+ interest_rate_data = []
58
+ try:
59
+ while True:
60
+ response = requests.get(
61
+ url=base_url, params=params, headers=headers, timeout=10
62
+ )
63
+ data = response.json()
64
+ if not data.get("data", {}).get("values"):
65
+ break
66
+ interest_rate_data.extend(data["data"]["values"])
67
+
68
+ # Update max_date for pagination
69
+ last_date = data["data"]["values"][-1][0]
70
+ next_date = (
71
+ datetime.datetime.strptime(last_date, "%Y-%m-%d").date()
72
+ - datetime.timedelta(days=1)
73
+ ).isoformat()
74
+ params["max_date"] = next_date
75
+
76
+ except requests.exceptions.RequestException as e:
77
+ print(f"Error fetching data: {e}")
78
+ return pd.DataFrame()
79
+
80
+ # Convert to DataFrame
81
+ big_df = pd.DataFrame(interest_rate_data)
82
+
83
+ if big_df.empty:
84
+ return pd.DataFrame()
85
+
86
+ # Process DataFrame
87
+ big_df["商品"] = name
88
+ big_df.columns = ["日期", "今值", "预测值", "前值", "商品"]
89
+ big_df = big_df[["商品", "日期", "今值", "预测值", "前值"]]
90
+
91
+ # Convert data types
92
+ big_df["日期"] = pd.to_datetime(big_df["日期"]).dt.date
93
+ numeric_columns = ["今值", "预测值", "前值"]
94
+ for col in numeric_columns:
95
+ big_df[col] = pd.to_numeric(big_df[col], errors="coerce")
96
+
97
+ return big_df.sort_values("日期").reset_index(drop=True)
98
+
99
+
100
+ # 金十数据中心-经济指标-央行利率-主要央行利率-美联储利率决议报告
101
+ def macro_bank_usa_interest_rate() -> pd.DataFrame:
102
+ """
103
+ 美联储利率决议报告, 数据区间从 19820927-至今
104
+ https://datacenter.jin10.com/reportType/dc_usa_interest_rate_decision
105
+ :return: 美联储利率决议报告-今值(%)
106
+ :rtype: pandas.Series
107
+ """
108
+ return __get_interest_rate_data(attr_id="24", name="美联储利率决议报告")
109
+
110
+
111
+ # 金十数据中心-经济指标-央行利率-主要央行利率-欧洲央行决议报告
112
+ def macro_bank_euro_interest_rate() -> pd.DataFrame:
113
+ """
114
+ 欧洲央行决议报告, 数据区间从 19990101-至今
115
+ https://datacenter.jin10.com/reportType/dc_interest_rate_decision
116
+ https://cdn.jin10.com/dc/reports/dc_interest_rate_decision_all.js?v=1578581663
117
+ :return: 欧洲央行决议报告-今值(%)
118
+ :rtype: pandas.Series
119
+ """
120
+ return __get_interest_rate_data(attr_id="21", name="欧洲央行决议报告")
121
+
122
+
123
+ # 金十数据中心-经济指标-央行利率-主要央行利率-新西兰联储决议报告
124
+ def macro_bank_newzealand_interest_rate() -> pd.DataFrame:
125
+ """
126
+ 新西兰联储决议报告, 数据区间从 19990401-至今
127
+ https://datacenter.jin10.com/reportType/dc_newzealand_interest_rate_decision
128
+ https://cdn.jin10.com/dc/reports/dc_newzealand_interest_rate_decision_all.js?v=1578582075
129
+ :return: 新西兰联储决议报告-今值(%)
130
+ :rtype: pandas.Series
131
+ """
132
+ return __get_interest_rate_data(attr_id="23", name="新西兰利率决议报告")
133
+
134
+
135
+ # 金十数据中心-经济指标-央行利率-主要央行利率-瑞士央行决议报告
136
+ def macro_bank_switzerland_interest_rate() -> pd.DataFrame:
137
+ """
138
+ 瑞士央行利率决议报告, 数据区间从 20080313-至今
139
+ https://datacenter.jin10.com/reportType/dc_switzerland_interest_rate_decision
140
+ https://cdn.jin10.com/dc/reports/dc_switzerland_interest_rate_decision_all.js?v=1578582240
141
+ :return: 瑞士央行利率决议报告-今值(%)
142
+ :rtype: pandas.Series
143
+ """
144
+ return __get_interest_rate_data(attr_id="25", name="瑞士央行决议报告")
145
+
146
+
147
+ # 金十数据中心-经济指标-央行利率-主要央行利率-英国央行决议报告
148
+ def macro_bank_english_interest_rate() -> pd.DataFrame:
149
+ """
150
+ 英国央行决议报告, 数据区间从 19700101-至今
151
+ https://datacenter.jin10.com/reportType/dc_english_interest_rate_decision
152
+ https://cdn.jin10.com/dc/reports/dc_english_interest_rate_decision_all.js?v=1578582331
153
+ :return: 英国央行决议报告-今值(%)
154
+ :rtype: pandas.Series
155
+ """
156
+ return __get_interest_rate_data(attr_id="26", name="英国央行决议报告")
157
+
158
+
159
+ # 金十数据中心-经济指标-央行利率-主要央行利率-澳洲联储决议报告
160
+ def macro_bank_australia_interest_rate() -> pd.DataFrame:
161
+ """
162
+ 澳洲联储决议报告, 数据区间从 19800201-至今
163
+ https://datacenter.jin10.com/reportType/dc_australia_interest_rate_decision
164
+ https://cdn.jin10.com/dc/reports/dc_australia_interest_rate_decision_all.js?v=1578582414
165
+ :return: 澳洲联储决议报告-今值(%)
166
+ :rtype: pandas.Series
167
+ """
168
+ return __get_interest_rate_data(attr_id="27", name="澳洲联储决议报告")
169
+
170
+
171
+ # 金十数据中心-经济指标-央行利率-主要央行利率-日本央行决议报告
172
+ def macro_bank_japan_interest_rate() -> pd.DataFrame:
173
+ """
174
+ 日本利率决议报告, 数据区间从 20080214-至今
175
+ https://datacenter.jin10.com/reportType/dc_japan_interest_rate_decision
176
+ https://cdn.jin10.com/dc/reports/dc_japan_interest_rate_decision_all.js?v=1578582485
177
+ :return: 日本利率决议报告-今值(%)
178
+ :rtype: pandas.Series
179
+ """
180
+ return __get_interest_rate_data(attr_id="22", name="日本央行决议报告")
181
+
182
+
183
+ # 金十数据中心-经济指标-央行利率-主要央行利率-俄罗斯央行决议报告
184
+ def macro_bank_russia_interest_rate() -> pd.DataFrame:
185
+ """
186
+ 俄罗斯利率决议报告, 数据区间从 20030601-至今
187
+ https://datacenter.jin10.com/reportType/dc_russia_interest_rate_decision
188
+ https://cdn.jin10.com/dc/reports/dc_russia_interest_rate_decision_all.js?v=1578582572
189
+ :return: 俄罗斯利率决议报告-今值(%)
190
+ :rtype: pandas.Series
191
+ """
192
+ return __get_interest_rate_data(attr_id="64", name="俄罗斯央行决议报告")
193
+
194
+
195
+ # 金十数据中心-经济指标-央行利率-主要央行利率-印度央行决议报告
196
+ def macro_bank_india_interest_rate() -> pd.DataFrame:
197
+ """
198
+ 印度利率决议报告, 数据区间从 20000801-至今
199
+ https://datacenter.jin10.com/reportType/dc_india_interest_rate_decision
200
+ https://cdn.jin10.com/dc/reports/dc_india_interest_rate_decision_all.js?v=1578582645
201
+ :return: 印度利率决议报告-今值(%)
202
+ :rtype: pandas.Series
203
+ """
204
+ return __get_interest_rate_data(attr_id="68", name="印度央行决议报告")
205
+
206
+
207
+ # 金十数据中心-经济指标-央行利率-主要央行利率-巴西央行决议报告
208
+ def macro_bank_brazil_interest_rate() -> pd.DataFrame:
209
+ """
210
+ 巴西利率决议报告, 数据区间从 20080201-至今
211
+ https://datacenter.jin10.com/reportType/dc_brazil_interest_rate_decision
212
+ https://cdn.jin10.com/dc/reports/dc_brazil_interest_rate_decision_all.js?v=1578582718
213
+ :return: 巴西利率决议报告-今值(%)
214
+ :rtype: pandas.Series
215
+ """
216
+ return __get_interest_rate_data(attr_id="55", name="巴西央行决议报告")
217
+
218
+
219
+ if __name__ == "__main__":
220
+ # 金十数据中心-经济指标-央行利率-主要央行利率-美联储利率决议报告
221
+ macro_bank_usa_interest_rate_df = macro_bank_usa_interest_rate()
222
+ print(macro_bank_usa_interest_rate_df)
223
+
224
+ # 金十数据中心-经济指标-央行利率-主要央行利率-欧洲央行决议报告
225
+ macro_bank_euro_interest_rate_df = macro_bank_euro_interest_rate()
226
+ print(macro_bank_euro_interest_rate_df)
227
+
228
+ # 金十数据中心-经济指标-央行利率-主要央行利率-新西兰联储决议报告
229
+ macro_bank_newzealand_interest_rate_df = macro_bank_newzealand_interest_rate()
230
+ print(macro_bank_newzealand_interest_rate_df)
231
+
232
+ # 金十数据中心-经济指标-央行利率-主要央行利率-瑞士央行决议报告
233
+ macro_bank_switzerland_interest_rate_df = macro_bank_switzerland_interest_rate()
234
+ print(macro_bank_switzerland_interest_rate_df)
235
+
236
+ # 金十数据中心-经济指标-央行利率-主要央行利率-英国央行决议报告
237
+ macro_bank_english_interest_rate_df = macro_bank_english_interest_rate()
238
+ print(macro_bank_english_interest_rate_df)
239
+
240
+ # 金十数据中心-经济指标-央行利率-主要央行利率-澳洲联储决议报告
241
+ macro_bank_australia_interest_rate_df = macro_bank_australia_interest_rate()
242
+ print(macro_bank_australia_interest_rate_df)
243
+
244
+ # 金十数据中心-经济指标-央行利率-主要央行利率-日本央行决议报告
245
+ macro_bank_japan_interest_rate_df = macro_bank_japan_interest_rate()
246
+ print(macro_bank_japan_interest_rate_df)
247
+
248
+ # 金十数据中心-经济指标-央行利率-主要央行利率-俄罗斯央行决议报告
249
+ macro_bank_russia_interest_rate_df = macro_bank_russia_interest_rate()
250
+ print(macro_bank_russia_interest_rate_df)
251
+
252
+ # 金十数据中心-经济指标-央行利率-主要央行利率-印度央行决议报告
253
+ macro_bank_india_interest_rate_df = macro_bank_india_interest_rate()
254
+ print(macro_bank_india_interest_rate_df)
255
+
256
+ # 金十数据中心-经济指标-央行利率-主要央行利率-巴西央行决议报告
257
+ macro_bank_brazil_interest_rate_df = macro_bank_brazil_interest_rate()
258
+ print(macro_bank_brazil_interest_rate_df)
@@ -382,7 +382,7 @@ def index_value_name_funddb() -> pd.DataFrame:
382
382
 
383
383
 
384
384
  def index_value_hist_funddb(
385
- symbol: str = "大盘成长", indicator: str = "市盈率"
385
+ symbol: str = "大盘成长", indicator: str = "市盈率", year: str = "-1"
386
386
  ) -> pd.DataFrame:
387
387
  """
388
388
  funddb-指数估值-估值信息
@@ -391,6 +391,8 @@ def index_value_hist_funddb(
391
391
  :type symbol: str
392
392
  :param indicator: choice of {'市盈率', '市净率', '股息率', '风险溢价'}
393
393
  :type indicator: str
394
+ :param year: choice of {'-1': "所有", '3': "近3年", '5': "近5年", '10': "近10年"}
395
+ :type year: str
394
396
  :return: 估值信息
395
397
  :rtype: pandas.DataFrame
396
398
  """
@@ -417,12 +419,12 @@ def index_value_hist_funddb(
417
419
  type="pc",
418
420
  ver="new",
419
421
  version="2.2.7",
420
- year=-1,
422
+ year=int(year),
421
423
  )
422
424
  payload = {
423
425
  "gu_code": name_code_map[symbol],
424
426
  "pe_category": indicator_map[indicator],
425
- "year": -1,
427
+ "year": int(year),
426
428
  "ver": "new",
427
429
  "type": "pc",
428
430
  "version": "2.2.7",
@@ -474,6 +476,6 @@ if __name__ == "__main__":
474
476
  print(index_value_name_funddb_df)
475
477
 
476
478
  index_value_hist_funddb_df = index_value_hist_funddb(
477
- symbol="大盘成长", indicator="市盈率"
479
+ symbol="大盘成长", indicator="市盈率", year="-1"
478
480
  )
479
481
  print(index_value_hist_funddb_df)
@@ -1,10 +1,11 @@
1
1
  # -*- coding:utf-8 -*-
2
2
  # !/usr/bin/env python
3
3
  """
4
- Date: 2022/4/29 17:01
4
+ Date: 2024/11/5 16:00
5
5
  Desc: 雪球-行情中心-沪深股市-内部交易
6
6
  https://xueqiu.com/hq/insider
7
7
  """
8
+
8
9
  import pandas as pd
9
10
  import requests
10
11
 
@@ -18,10 +19,10 @@ def stock_inner_trade_xq() -> pd.DataFrame:
18
19
  """
19
20
  url = "https://xueqiu.com/service/v5/stock/f10/cn/skholderchg"
20
21
  params = {
21
- 'size': '100000',
22
- 'page': '1',
23
- 'extend': 'true',
24
- '_': '1651223013040',
22
+ "size": "100000",
23
+ "page": "1",
24
+ "extend": "true",
25
+ "_": "1651223013040",
25
26
  }
26
27
  headers = {
27
28
  "Accept": "*/*",
@@ -38,39 +39,46 @@ def stock_inner_trade_xq() -> pd.DataFrame:
38
39
  "Sec-Fetch-Dest": "empty",
39
40
  "Sec-Fetch-Mode": "cors",
40
41
  "Sec-Fetch-Site": "same-origin",
41
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36",
42
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
43
+ "Chrome/100.0.4896.127 Safari/537.36",
42
44
  "X-Requested-With": "XMLHttpRequest",
43
45
  }
44
46
  r = requests.get(url, params=params, headers=headers)
45
47
  data_json = r.json()
46
48
  temp_df = pd.DataFrame(data_json["data"]["items"])
47
49
  temp_df.columns = [
48
- '股票代码',
49
- '股票名称',
50
- '变动人',
51
- '-',
52
- '变动日期',
53
- '变动股数',
54
- '成交均价',
55
- '变动后持股数',
56
- '与董监高关系',
57
- '董监高职务',
50
+ "股票代码",
51
+ "股票名称",
52
+ "变动人",
53
+ "-",
54
+ "变动日期",
55
+ "变动股数",
56
+ "成交均价",
57
+ "变动后持股数",
58
+ "与董监高关系",
59
+ "董监高职务",
60
+ ]
61
+ temp_df = temp_df[
62
+ [
63
+ "股票代码",
64
+ "股票名称",
65
+ "变动日期",
66
+ "变动人",
67
+ "变动股数",
68
+ "成交均价",
69
+ "变动后持股数",
70
+ "与董监高关系",
71
+ "董监高职务",
72
+ ]
58
73
  ]
59
- temp_df = temp_df[[
60
- '股票代码',
61
- '股票名称',
62
- '变动日期',
63
- '变动人',
64
- '变动股数',
65
- '成交均价',
66
- '变动后持股数',
67
- '与董监高关系',
68
- '董监高职务',
69
- ]]
70
- temp_df['变动日期'] = pd.to_datetime(temp_df['变动日期'], unit="ms").dt.date
71
- temp_df['变动股数'] = pd.to_numeric(temp_df['变动股数'], errors="coerce")
72
- temp_df['成交均价'] = pd.to_numeric(temp_df['成交均价'], errors="coerce")
73
- temp_df['变动后持股数'] = pd.to_numeric(temp_df['变动后持股数'], errors="coerce")
74
+ temp_df["变动日期"] = (
75
+ pd.to_datetime(temp_df["变动日期"], unit="ms", utc=True)
76
+ .dt.tz_convert("Asia/Shanghai")
77
+ .dt.date
78
+ )
79
+ temp_df["变动股数"] = pd.to_numeric(temp_df["变动股数"], errors="coerce")
80
+ temp_df["成交均价"] = pd.to_numeric(temp_df["成交均价"], errors="coerce")
81
+ temp_df["变动后持股数"] = pd.to_numeric(temp_df["变动后持股数"], errors="coerce")
74
82
  return temp_df
75
83
 
76
84
 
@@ -11,6 +11,7 @@ import json
11
11
  import pandas as pd
12
12
  import requests
13
13
  from bs4 import BeautifulSoup
14
+
14
15
  from akshare.utils.cons import headers
15
16
 
16
17
 
@@ -163,13 +164,61 @@ def stock_financial_cash_ths(
163
164
  return temp_df
164
165
 
165
166
 
167
+ def stock_management_change_ths(symbol: str = "688981") -> pd.DataFrame:
168
+ """
169
+ 同花顺-公司大事-高管持股变动
170
+ https://basic.10jqka.com.cn/new/688981/event.html
171
+ :param symbol: 股票代码
172
+ :type symbol: str
173
+ :return: 同花顺-公司大事-高管持股变动
174
+ :rtype: pandas.DataFrame
175
+ """
176
+ url = f"https://basic.10jqka.com.cn/new/{symbol}/event.html"
177
+ r = requests.get(url, headers=headers)
178
+ r.encoding = "gb2312"
179
+ soup = BeautifulSoup(r.text, features="lxml")
180
+ soup_find = soup.find(name="table", attrs={"class": "data_table_1 m_table m_hl"})
181
+ if soup_find is not None:
182
+ content_list = [item.text.strip() for item in soup_find]
183
+ column_names = content_list[1].split("\n")
184
+ row = (
185
+ content_list[3]
186
+ .replace(" ", "")
187
+ .replace("\t", "")
188
+ .replace("\n\n", "")
189
+ .replace(" ", "\n")
190
+ .replace("\n\n", "\n")
191
+ .split("\n")
192
+ )
193
+ row = [item for item in row if item != ""]
194
+ new_rows = []
195
+ step = len(column_names)
196
+ for i in range(0, len(row), step):
197
+ new_rows.append(row[i : i + step])
198
+ temp_df = pd.DataFrame(new_rows, columns=column_names)
199
+ temp_df.sort_values(by="变动日期", ignore_index=True, inplace=True)
200
+ temp_df["变动日期"] = pd.to_datetime(
201
+ temp_df["变动日期"], errors="coerce"
202
+ ).dt.date
203
+ temp_df.rename(
204
+ columns={
205
+ "变动数量(股)": "变动数量",
206
+ "交易均价(元)": "交易均价",
207
+ "剩余股数(股)": "剩余股数",
208
+ },
209
+ inplace=True,
210
+ )
211
+ return temp_df
212
+ return pd.DataFrame()
213
+
214
+
166
215
  def stock_shareholder_change_ths(symbol: str = "688981") -> pd.DataFrame:
167
216
  """
168
217
  同花顺-公司大事-股东持股变动
169
218
  https://basic.10jqka.com.cn/new/688981/event.html
170
219
  :param symbol: 股票代码
171
220
  :type symbol: str
172
- :return: 同花顺-财务指标-主要指标
221
+ :return: 同花顺-公司大事-股东持股变动
173
222
  :rtype: pandas.DataFrame
174
223
  """
175
224
  url = f"https://basic.10jqka.com.cn/new/{symbol}/event.html"
@@ -267,5 +316,8 @@ if __name__ == "__main__":
267
316
  )
268
317
  print(stock_financial_cash_ths_df)
269
318
 
319
+ stock_management_change_ths_df = stock_management_change_ths(symbol="688981")
320
+ print(stock_management_change_ths_df)
321
+
270
322
  stock_shareholder_change_ths_df = stock_shareholder_change_ths(symbol="688981")
271
323
  print(stock_shareholder_change_ths_df)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: akshare
3
- Version: 1.15.12
3
+ Version: 1.15.14
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,10 @@ Requires-Dist: akqmt; extra == "qmt"
40
40
 
41
41
  **欢迎加入专注于财经数据和量化投资的知识社区,请点击[了解更多](https://akshare.akfamily.xyz/learn.html)**
42
42
 
43
- **相关视频教程已经发布:《AKShare-初阶-使用教学》、《AKShare-初阶-实战应用》、《AKShare-源码解析》、《开源项目巡礼》**,详情请访问[课程](https://app3rqjh1z21630.h5.xiaoeknow.com)查看更多课程信息!
43
+ **首门量化投资教程:《PyBroker-入门及实战》已经录制完成,目前已经上架!**
44
+
45
+ **更多视频教程已经发布:《AKShare-初阶-使用教学》、《AKShare-初阶-实战应用》、《AKShare-源码解析》、《开源项目巡礼》**,
46
+ 详情请关注【数据科学实战】公众号,查看更多课程信息!
44
47
 
45
48
  **AKQuant 量化教程请访问:[利用 PyBroker 进行量化投资](https://akquant.akfamily.xyz/)**
46
49