akshare 1.13.46__py3-none-any.whl → 1.17.99__py3-none-any.whl

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 (388) hide show
  1. akshare/__init__.py +757 -161
  2. akshare/air/air_hebei.py +79 -53
  3. akshare/air/air_zhenqi.py +3 -7
  4. akshare/air/cons.py +1 -0
  5. akshare/air/crypto.js +1 -1
  6. akshare/air/outcrypto.js +1 -1
  7. akshare/air/sunrise_tad.py +32 -17
  8. akshare/article/cons.py +1 -0
  9. akshare/article/epu_index.py +4 -3
  10. akshare/article/ff_factor.py +19 -8
  11. akshare/article/fred_md.py +4 -1
  12. akshare/article/risk_rv.py +3 -8
  13. akshare/bank/bank_cbirc_2020.py +11 -11
  14. akshare/bank/cons.py +7 -6
  15. akshare/bond/bond_buy_back_em.py +228 -0
  16. akshare/bond/bond_cb_sina.py +1 -0
  17. akshare/bond/bond_cb_ths.py +17 -9
  18. akshare/bond/bond_cbond.py +19 -14
  19. akshare/bond/bond_china.py +38 -39
  20. akshare/bond/bond_china_money.py +75 -48
  21. akshare/bond/bond_convert.py +10 -9
  22. akshare/bond/bond_em.py +37 -17
  23. akshare/bond/bond_info_cm.py +28 -8
  24. akshare/bond/bond_issue_cninfo.py +73 -30
  25. akshare/bond/bond_summary.py +38 -37
  26. akshare/bond/bond_zh_cov.py +31 -40
  27. akshare/bond/bond_zh_sina.py +61 -51
  28. akshare/bond/cons.py +14 -11
  29. akshare/cal/__init__.py +0 -0
  30. akshare/cal/rv.py +170 -0
  31. akshare/cost/cost_living.py +7 -5
  32. akshare/crypto/__init__.py +1 -1
  33. akshare/crypto/crypto_bitcoin_cme.py +9 -7
  34. akshare/crypto/crypto_hold.py +4 -2
  35. akshare/currency/currency.py +1 -0
  36. akshare/currency/currency_china_bank_sina.py +11 -6
  37. akshare/currency/currency_safe.py +7 -6
  38. akshare/data/__init__.py +1 -1
  39. akshare/data/cninfo.js +1 -1
  40. akshare/datasets.py +10 -21
  41. akshare/economic/cons.py +10 -3
  42. akshare/economic/macro_australia.py +74 -69
  43. akshare/economic/macro_bank.py +95 -653
  44. akshare/economic/macro_canada.py +92 -81
  45. akshare/economic/macro_china.py +163 -117
  46. akshare/economic/macro_china_hk.py +0 -1
  47. akshare/economic/macro_china_nbs.py +24 -7
  48. akshare/economic/macro_euro.py +103 -56
  49. akshare/economic/macro_finance_ths.py +135 -0
  50. akshare/economic/macro_germany.py +1 -1
  51. akshare/economic/macro_info_ws.py +100 -0
  52. akshare/economic/macro_japan.py +0 -1
  53. akshare/economic/macro_other.py +1 -6
  54. akshare/economic/macro_swiss.py +2 -3
  55. akshare/economic/macro_uk.py +1 -1
  56. akshare/economic/macro_usa.py +7 -9
  57. akshare/economic/marco_cnbs.py +11 -6
  58. akshare/energy/energy_carbon.py +94 -126
  59. akshare/energy/energy_oil_em.py +1 -2
  60. akshare/event/cons.py +1 -0
  61. akshare/event/migration.py +3 -2
  62. akshare/exceptions.py +43 -0
  63. akshare/file_fold/calendar.json +245 -2
  64. akshare/forex/__init__.py +0 -0
  65. akshare/forex/cons.py +192 -0
  66. akshare/forex/forex_em.py +149 -0
  67. akshare/fortune/fortune_500.py +15 -48
  68. akshare/fortune/fortune_bloomberg.py +6 -3
  69. akshare/fortune/fortune_forbes_500.py +3 -6
  70. akshare/fortune/fortune_hurun.py +2 -1
  71. akshare/fortune/fortune_xincaifu_500.py +17 -14
  72. akshare/fund/fund_amac.py +38 -15
  73. akshare/fund/fund_announcement_em.py +145 -0
  74. akshare/fund/fund_aum_em.py +49 -35
  75. akshare/fund/fund_em.py +251 -220
  76. akshare/fund/fund_etf_em.py +44 -35
  77. akshare/fund/fund_etf_sina.py +76 -27
  78. akshare/fund/fund_etf_ths.py +95 -0
  79. akshare/fund/fund_fee_em.py +172 -0
  80. akshare/fund/fund_fhsp_em.py +42 -32
  81. akshare/fund/fund_init_em.py +8 -5
  82. akshare/fund/fund_lof_em.py +12 -19
  83. akshare/fund/fund_manager.py +25 -11
  84. akshare/fund/fund_overview_em.py +42 -0
  85. akshare/fund/fund_portfolio_em.py +78 -66
  86. akshare/fund/fund_position_lg.py +19 -8
  87. akshare/fund/fund_rank_em.py +90 -84
  88. akshare/fund/fund_rating.py +33 -12
  89. akshare/fund/fund_report_cninfo.py +63 -48
  90. akshare/fund/fund_scale_em.py +24 -13
  91. akshare/fund/fund_scale_sina.py +20 -10
  92. akshare/fund/fund_xq.py +3 -2
  93. akshare/futures/cons.py +141 -46
  94. akshare/futures/cot.py +89 -88
  95. akshare/futures/futures_basis.py +99 -33
  96. akshare/futures/futures_comex_em.py +1 -0
  97. akshare/futures/futures_comm_ctp.py +13 -2
  98. akshare/futures/futures_contract_detail.py +59 -9
  99. akshare/futures/futures_daily_bar.py +75 -62
  100. akshare/futures/futures_foreign.py +14 -8
  101. akshare/futures/futures_hf_em.py +215 -61
  102. akshare/futures/futures_hist_em.py +191 -0
  103. akshare/futures/futures_hq_sina.py +79 -61
  104. akshare/futures/futures_index_ccidx.py +24 -82
  105. akshare/futures/futures_inventory_99.py +70 -272
  106. akshare/futures/futures_inventory_em.py +14 -11
  107. akshare/futures/futures_news_shmet.py +2 -2
  108. akshare/futures/futures_roll_yield.py +11 -24
  109. akshare/futures/futures_rule.py +7 -3
  110. akshare/futures/futures_rule_em.py +38 -0
  111. akshare/futures/futures_settlement_price_sgx.py +21 -6
  112. akshare/futures/futures_stock_js.py +1 -2
  113. akshare/futures/futures_to_spot.py +43 -39
  114. akshare/futures/futures_warehouse_receipt.py +53 -48
  115. akshare/futures/futures_zh_sina.py +4 -4
  116. akshare/futures/receipt.py +298 -165
  117. akshare/futures/requests_fun.py +16 -3
  118. akshare/futures/symbol_var.py +32 -13
  119. akshare/futures_derivative/cons.py +100 -103
  120. akshare/futures_derivative/futures_contract_info_cffex.py +55 -39
  121. akshare/futures_derivative/futures_contract_info_czce.py +2 -0
  122. akshare/futures_derivative/futures_contract_info_dce.py +43 -17
  123. akshare/futures_derivative/futures_contract_info_gfex.py +43 -31
  124. akshare/futures_derivative/futures_contract_info_ine.py +43 -34
  125. akshare/futures_derivative/futures_contract_info_shfe.py +7 -8
  126. akshare/futures_derivative/futures_cot_sina.py +28 -19
  127. akshare/futures_derivative/futures_index_sina.py +25 -13
  128. akshare/fx/cons.py +12 -7
  129. akshare/fx/currency_investing.py +19 -285
  130. akshare/fx/fx_c_swap_cm.py +62 -0
  131. akshare/fx/fx_quote.py +3 -2
  132. akshare/fx/fx_quote_baidu.py +2 -1
  133. akshare/hf/__init__.py +1 -1
  134. akshare/hf/hf_sp500.py +8 -7
  135. akshare/index/cons.py +132 -28
  136. akshare/index/index_cflp.py +29 -26
  137. akshare/index/index_cni.py +89 -91
  138. akshare/index/index_cons.py +26 -10
  139. akshare/index/index_csindex.py +68 -0
  140. akshare/index/index_cx.py +263 -62
  141. akshare/index/index_drewry.py +17 -16
  142. akshare/index/index_eri.py +1 -0
  143. akshare/index/index_global_em.py +167 -0
  144. akshare/index/index_global_sina.py +82 -0
  145. akshare/index/index_kq_fz.py +17 -14
  146. akshare/index/index_kq_ss.py +1 -0
  147. akshare/index/index_option_qvix.py +351 -16
  148. akshare/index/index_research_sw.py +38 -38
  149. akshare/index/index_spot.py +9 -5
  150. akshare/index/index_stock_hk.py +6 -10
  151. akshare/index/index_stock_us_sina.py +1 -1
  152. akshare/index/index_stock_zh.py +193 -101
  153. akshare/index/index_stock_zh_csindex.py +15 -369
  154. akshare/index/index_sugar.py +18 -4
  155. akshare/index/index_sw.py +62 -34
  156. akshare/index/index_yw.py +53 -75
  157. akshare/index/index_zh_em.py +15 -82
  158. akshare/interest_rate/interbank_rate_em.py +14 -10
  159. akshare/movie/artist_yien.py +32 -5
  160. akshare/movie/jm.js +0 -1
  161. akshare/movie/movie_yien.py +92 -18
  162. akshare/movie/video_yien.py +28 -5
  163. akshare/news/__init__.py +1 -1
  164. akshare/news/news_baidu.py +395 -220
  165. akshare/news/news_cctv.py +38 -38
  166. akshare/news/news_stock.py +49 -13
  167. akshare/nlp/nlp_interface.py +7 -8
  168. akshare/option/cons.py +12 -12
  169. akshare/option/option_comm_qihuo.py +86 -0
  170. akshare/option/option_commodity.py +355 -211
  171. akshare/option/option_commodity_sina.py +22 -26
  172. akshare/option/option_contract_info_ctp.py +63 -0
  173. akshare/option/option_current_sse.py +61 -0
  174. akshare/option/option_current_szse.py +84 -0
  175. akshare/option/option_czce.py +37 -9
  176. akshare/option/option_daily_stats_sse_szse.py +145 -0
  177. akshare/option/option_em.py +4 -8
  178. akshare/option/option_finance.py +60 -12
  179. akshare/option/option_finance_sina.py +28 -26
  180. akshare/option/option_lhb_em.py +62 -57
  181. akshare/option/option_margin.py +62 -0
  182. akshare/option/option_premium_analysis_em.py +58 -53
  183. akshare/option/option_risk_analysis_em.py +11 -8
  184. akshare/option/option_risk_indicator_sse.py +18 -16
  185. akshare/option/option_value_analysis_em.py +62 -55
  186. akshare/other/__init__.py +1 -1
  187. akshare/other/other_car_cpca.py +20 -20
  188. akshare/pro/__init__.py +0 -1
  189. akshare/pro/client.py +6 -4
  190. akshare/pro/cons.py +3 -2
  191. akshare/pro/data_pro.py +6 -5
  192. akshare/qdii/__init__.py +0 -0
  193. akshare/qdii/qdii_jsl.py +233 -0
  194. akshare/qhkc/__init__.py +1 -6
  195. akshare/qhkc/qhkc_api.py +64 -22
  196. akshare/qhkc_web/__init__.py +1 -6
  197. akshare/qhkc_web/qhkc_fund.py +10 -6
  198. akshare/qhkc_web/qhkc_index.py +28 -14
  199. akshare/qhkc_web/qhkc_tool.py +62 -59
  200. akshare/rate/__init__.py +1 -1
  201. akshare/rate/repo_rate.py +36 -32
  202. akshare/reits/__init__.py +1 -1
  203. akshare/reits/reits_basic.py +149 -13
  204. akshare/request.py +117 -0
  205. akshare/spot/__init__.py +1 -1
  206. akshare/spot/spot_hog_soozhu.py +232 -0
  207. akshare/spot/spot_price_qh.py +121 -0
  208. akshare/spot/spot_sge.py +70 -9
  209. akshare/stock/cons.py +60 -23
  210. akshare/stock/stock_allotment_cninfo.py +10 -9
  211. akshare/stock/stock_ask_bid_em.py +3 -78
  212. akshare/stock/stock_board_concept_em.py +160 -35
  213. akshare/stock/stock_board_industry_em.py +163 -70
  214. akshare/stock/stock_cg_equity_mortgage.py +15 -11
  215. akshare/stock/stock_cg_guarantee.py +41 -51
  216. akshare/stock/stock_cg_lawsuit.py +36 -35
  217. akshare/stock/stock_dividend_cninfo.py +36 -16
  218. akshare/stock/stock_dzjy_em.py +347 -260
  219. akshare/stock/stock_fund_em.py +73 -64
  220. akshare/stock/stock_fund_hold.py +1 -2
  221. akshare/stock/stock_gsrl_em.py +1 -0
  222. akshare/stock/stock_hk_comparison_em.py +175 -0
  223. akshare/stock/stock_hk_famous.py +107 -0
  224. akshare/stock/stock_hk_fhpx_ths.py +2 -1
  225. akshare/stock/stock_hk_hot_rank_em.py +1 -0
  226. akshare/stock/stock_hk_sina.py +91 -42
  227. akshare/stock/stock_hold_control_cninfo.py +100 -15
  228. akshare/stock/stock_hold_control_em.py +4 -5
  229. akshare/stock/stock_hold_num_cninfo.py +18 -12
  230. akshare/stock/stock_hot_rank_em.py +4 -1
  231. akshare/stock/stock_hot_search_baidu.py +32 -19
  232. akshare/stock/stock_hot_up_em.py +4 -1
  233. akshare/stock/stock_hsgt_em.py +155 -0
  234. akshare/stock/stock_industry.py +1 -0
  235. akshare/stock/stock_industry_cninfo.py +25 -20
  236. akshare/stock/stock_industry_pe_cninfo.py +45 -31
  237. akshare/stock/stock_industry_sw.py +5 -9
  238. akshare/stock/stock_info.py +31 -19
  239. akshare/stock/stock_info_em.py +17 -11
  240. akshare/stock/stock_intraday_em.py +9 -80
  241. akshare/stock/stock_intraday_sina.py +2 -2
  242. akshare/stock/stock_ipo_summary_cninfo.py +25 -10
  243. akshare/stock/stock_new_cninfo.py +32 -19
  244. akshare/stock/stock_news_cx.py +39 -0
  245. akshare/stock/stock_profile_cninfo.py +9 -8
  246. akshare/stock/stock_profile_em.py +302 -0
  247. akshare/stock/stock_rank_forecast.py +8 -6
  248. akshare/stock/stock_repurchase_em.py +7 -2
  249. akshare/stock/stock_share_changes_cninfo.py +18 -14
  250. akshare/stock/stock_share_hold.py +24 -20
  251. akshare/stock/stock_stop.py +6 -6
  252. akshare/stock/stock_summary.py +153 -417
  253. akshare/stock/stock_us_famous.py +19 -11
  254. akshare/stock/stock_us_js.py +3 -2
  255. akshare/stock/stock_us_pink.py +38 -27
  256. akshare/stock/stock_us_sina.py +15 -12
  257. akshare/stock/stock_weibo_nlp.py +18 -20
  258. akshare/stock/stock_xq.py +36 -9
  259. akshare/stock/stock_zh_a_sina.py +58 -80
  260. akshare/stock/stock_zh_a_special.py +240 -243
  261. akshare/stock/stock_zh_a_tick_tx.py +11 -3
  262. akshare/stock/stock_zh_ah_tx.py +23 -26
  263. akshare/stock/stock_zh_b_sina.py +32 -55
  264. akshare/stock/stock_zh_comparison_em.py +250 -0
  265. akshare/stock/stock_zh_kcb_report.py +11 -9
  266. akshare/stock/stock_zh_kcb_sina.py +67 -64
  267. akshare/stock_a/__init__.py +0 -0
  268. akshare/stock_a/stock_board_concept_name_em.py +170 -0
  269. akshare/stock_a/stock_individual_fund_flow_rank.py +258 -0
  270. akshare/stock_a/stock_zh_a_spot.py +212 -0
  271. akshare/stock_feature/cons.py +1 -0
  272. akshare/stock_feature/stock_a_below_net_asset_statistics.py +5 -2
  273. akshare/stock_feature/stock_a_high_low.py +5 -2
  274. akshare/stock_feature/stock_a_indicator.py +15 -57
  275. akshare/stock_feature/stock_a_pe_and_pb.py +39 -9
  276. akshare/stock_feature/stock_account_em.py +0 -1
  277. akshare/stock_feature/stock_all_pb.py +2 -1
  278. akshare/stock_feature/stock_analyst_em.py +36 -30
  279. akshare/stock_feature/stock_board_concept_ths.py +144 -252
  280. akshare/stock_feature/stock_board_industry_ths.py +137 -401
  281. akshare/stock_feature/stock_buffett_index_lg.py +10 -8
  282. akshare/stock_feature/stock_classify_sina.py +3 -6
  283. akshare/stock_feature/stock_comment_em.py +81 -144
  284. akshare/stock_feature/stock_concept_futu.py +183 -0
  285. akshare/stock_feature/stock_congestion_lg.py +2 -1
  286. akshare/stock_feature/stock_cyq_em.py +5 -11
  287. akshare/stock_feature/stock_disclosure_cninfo.py +20 -10
  288. akshare/stock_feature/stock_dxsyl_em.py +121 -74
  289. akshare/stock_feature/stock_ebs_lg.py +5 -4
  290. akshare/stock_feature/stock_esg_sina.py +33 -15
  291. akshare/stock_feature/stock_fhps_em.py +62 -26
  292. akshare/stock_feature/stock_fhps_ths.py +34 -7
  293. akshare/stock_feature/stock_fund_flow.py +38 -25
  294. akshare/stock_feature/stock_gddh_em.py +19 -11
  295. akshare/stock_feature/stock_gdfx_em.py +226 -113
  296. akshare/stock_feature/stock_gdhs.py +75 -50
  297. akshare/stock_feature/stock_gdzjc_em.py +21 -10
  298. akshare/stock_feature/stock_gpzy_em.py +78 -46
  299. akshare/stock_feature/stock_gxl_lg.py +3 -2
  300. akshare/stock_feature/stock_hist_em.py +158 -237
  301. akshare/stock_feature/stock_hist_tx.py +13 -10
  302. akshare/stock_feature/stock_hk_valuation_baidu.py +20 -8
  303. akshare/stock_feature/stock_hot_xq.py +4 -6
  304. akshare/stock_feature/stock_hsgt_em.py +269 -97
  305. akshare/stock_feature/stock_hsgt_exchange_rate.py +115 -87
  306. akshare/stock_feature/stock_hsgt_min_em.py +13 -16
  307. akshare/stock_feature/stock_info.py +8 -81
  308. akshare/stock_feature/stock_inner_trade_xq.py +38 -31
  309. akshare/stock_feature/stock_irm_cninfo.py +32 -9
  310. akshare/stock_feature/stock_jgdy_em.py +43 -40
  311. akshare/stock_feature/stock_lh_yybpm.py +36 -37
  312. akshare/stock_feature/stock_lhb_em.py +165 -35
  313. akshare/stock_feature/stock_lhb_sina.py +93 -46
  314. akshare/stock_feature/stock_margin_em.py +101 -0
  315. akshare/stock_feature/{stock_sse_margin.py → stock_margin_sse.py} +21 -17
  316. akshare/stock_feature/{stock_szse_margin.py → stock_margin_szse.py} +7 -7
  317. akshare/stock_feature/stock_market_legu.py +4 -2
  318. akshare/stock_feature/stock_pankou_em.py +71 -35
  319. akshare/stock_feature/stock_qsjy_em.py +13 -4
  320. akshare/stock_feature/stock_report_em.py +152 -8
  321. akshare/stock_feature/stock_research_report_em.py +55 -20
  322. akshare/stock_feature/stock_sns_sseinfo.py +15 -12
  323. akshare/stock_feature/stock_sy_em.py +20 -15
  324. akshare/stock_feature/stock_technology_ths.py +152 -120
  325. akshare/stock_feature/stock_tfp_em.py +37 -14
  326. akshare/stock_feature/stock_three_report_em.py +120 -78
  327. akshare/stock_feature/stock_ttm_lyr.py +18 -9
  328. akshare/stock_feature/stock_value_em.py +83 -0
  329. akshare/stock_feature/stock_yjbb_em.py +58 -32
  330. akshare/stock_feature/stock_yjyg_cninfo.py +6 -2
  331. akshare/stock_feature/stock_yjyg_em.py +1 -1
  332. akshare/stock_feature/stock_yzxdr_em.py +24 -22
  333. akshare/stock_feature/stock_zdhtmx_em.py +20 -6
  334. akshare/stock_feature/stock_zh_valuation_baidu.py +3 -2
  335. akshare/stock_feature/stock_zh_vote_baidu.py +4 -1
  336. akshare/stock_feature/stock_ztb_em.py +39 -24
  337. akshare/stock_fundamental/__init__.py +1 -1
  338. akshare/stock_fundamental/stock_basic_info_xq.py +119 -0
  339. akshare/stock_fundamental/{stock_finance_hk.py → stock_finance_hk_em.py} +23 -16
  340. akshare/stock_fundamental/{stock_finance.py → stock_finance_sina.py} +203 -59
  341. akshare/stock_fundamental/stock_finance_ths.py +524 -57
  342. akshare/stock_fundamental/stock_finance_us_em.py +268 -0
  343. akshare/stock_fundamental/stock_gbjg_em.py +80 -0
  344. akshare/stock_fundamental/stock_hold.py +26 -17
  345. akshare/stock_fundamental/stock_ipo_declare.py +1 -0
  346. akshare/stock_fundamental/stock_kcb_detail_sse.py +10 -10
  347. akshare/stock_fundamental/stock_kcb_sse.py +26 -25
  348. akshare/stock_fundamental/stock_notice.py +41 -18
  349. akshare/stock_fundamental/stock_profit_forecast_em.py +31 -13
  350. akshare/stock_fundamental/stock_profit_forecast_hk_etnet.py +64 -41
  351. akshare/stock_fundamental/stock_profit_forecast_ths.py +86 -35
  352. akshare/stock_fundamental/stock_recommend.py +20 -4
  353. akshare/stock_fundamental/stock_register_em.py +448 -0
  354. akshare/stock_fundamental/stock_zygc.py +5 -62
  355. akshare/tool/trade_date_hist.py +1 -1
  356. akshare/utils/context.py +43 -0
  357. akshare/utils/demjson.py +2009 -1338
  358. akshare/utils/func.py +49 -2
  359. akshare/utils/multi_decrypt.py +53 -0
  360. akshare/utils/token_process.py +6 -5
  361. akshare/utils/tqdm.py +13 -3
  362. {akshare-1.13.46.dist-info → akshare-1.17.99.dist-info}/METADATA +56 -86
  363. akshare-1.17.99.dist-info/RECORD +409 -0
  364. {akshare-1.13.46.dist-info → akshare-1.17.99.dist-info}/WHEEL +1 -1
  365. {akshare-1.13.46.dist-info → akshare-1.17.99.dist-info/licenses}/LICENSE +1 -1
  366. tests/test_func.py +3 -5
  367. akshare/bond/bond_futures.py +0 -50
  368. akshare/bond/bond_investing.py +0 -139
  369. akshare/crypto/crypto_hist_investing.py +0 -249
  370. akshare/fortune/fortune_it_juzi.py +0 -123
  371. akshare/fund/fund_announcement.py +0 -56
  372. akshare/futures/futures_international.py +0 -170
  373. akshare/futures/futures_news_baidu.py +0 -54
  374. akshare/futures/inventory_data.py +0 -100
  375. akshare/futures_derivative/futures_index_price_nh.py +0 -61
  376. akshare/futures_derivative/futures_index_return_nh.py +0 -47
  377. akshare/futures_derivative/futures_index_volatility_nh.py +0 -51
  378. akshare/futures_derivative/futures_other_index_nh.py +0 -145
  379. akshare/index/index_fear_greed_funddb.py +0 -78
  380. akshare/index/index_investing.py +0 -232
  381. akshare/sport/__init__.py +0 -6
  382. akshare/sport/sport_olympic.py +0 -27
  383. akshare/sport/sport_olympic_winter.py +0 -39
  384. akshare/stock_feature/stock_wencai.py +0 -104
  385. akshare/stock_fundamental/stock_mda_ym.py +0 -40
  386. akshare/stock_fundamental/stock_register.py +0 -292
  387. akshare-1.13.46.dist-info/RECORD +0 -380
  388. {akshare-1.13.46.dist-info → akshare-1.17.99.dist-info}/top_level.txt +0 -0
akshare/utils/func.py CHANGED
@@ -1,12 +1,59 @@
1
1
  # !/usr/bin/env python
2
2
  """
3
- Date: 2024/4/7 15:30
3
+ Date: 2025/3/10 18:00
4
4
  Desc: 通用帮助函数
5
5
  """
6
6
 
7
- from typing import List
7
+ import math
8
+ from typing import List, Dict
8
9
 
9
10
  import pandas as pd
11
+ import requests
12
+
13
+ from akshare.utils.tqdm import get_tqdm
14
+
15
+
16
+ def fetch_paginated_data(url: str, base_params: Dict, timeout: int = 15):
17
+ """
18
+ 东方财富-分页获取数据并合并结果
19
+ https://quote.eastmoney.com/f1.html?newcode=0.000001
20
+ :param url: 股票代码
21
+ :type url: str
22
+ :param base_params: 基础请求参数
23
+ :type base_params: dict
24
+ :param timeout: 请求超时时间
25
+ :type timeout: str
26
+ :return: 合并后的数据
27
+ :rtype: pandas.DataFrame
28
+ """
29
+ # 复制参数以避免修改原始参数
30
+ params = base_params.copy()
31
+ # 获取第一页数据,用于确定分页信息
32
+ r = requests.get(url, params=params, timeout=timeout)
33
+ data_json = r.json()
34
+ # 计算分页信息
35
+ per_page_num = len(data_json["data"]["diff"])
36
+ total_page = math.ceil(data_json["data"]["total"] / per_page_num)
37
+ # 存储所有页面数据
38
+ temp_list = []
39
+ # 添加第一页数据
40
+ temp_list.append(pd.DataFrame(data_json["data"]["diff"]))
41
+ # 获取进度条
42
+ tqdm = get_tqdm()
43
+ # 获取剩余页面数据
44
+ for page in tqdm(range(2, total_page + 1), leave=False):
45
+ params.update({"pn": page})
46
+ r = requests.get(url, params=params, timeout=timeout)
47
+ data_json = r.json()
48
+ inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
49
+ temp_list.append(inner_temp_df)
50
+ # 合并所有数据
51
+ temp_df = pd.concat(temp_list, ignore_index=True)
52
+ temp_df["f3"] = pd.to_numeric(temp_df["f3"], errors="coerce")
53
+ temp_df.sort_values(by=["f3"], ascending=False, inplace=True, ignore_index=True)
54
+ temp_df.reset_index(inplace=True)
55
+ temp_df["index"] = temp_df["index"].astype(int) + 1
56
+ return temp_df
10
57
 
11
58
 
12
59
  def set_df_columns(df: pd.DataFrame, cols: List[str]) -> pd.DataFrame:
@@ -0,0 +1,53 @@
1
+ """
2
+ 利用多进行执行 js 代码方案
3
+
4
+ 1. 未能解决 gevent 调用问题
5
+ 2. 导致 js 代码执行缓慢
6
+ 3. 该方案废弃,这里仅作参考
7
+
8
+ 同时发现 gevent 里面无法调用异步的接口
9
+ """
10
+
11
+ import concurrent.futures
12
+
13
+
14
+ # 定义在模块级别的函数
15
+ def js_executor_function(js_code_str, method, args):
16
+ """在新进程中执行 JavaScript 代码的函数"""
17
+ from py_mini_racer import MiniRacer
18
+
19
+ js_code = MiniRacer()
20
+ js_code.eval(js_code_str)
21
+
22
+ if method == "call":
23
+ fn_name = args[0]
24
+ fn_args = args[1:]
25
+ return js_code.call(fn_name, *fn_args)
26
+ elif method == "eval":
27
+ return js_code.eval(args[0])
28
+ else:
29
+ raise ValueError(f"不支持的方法: {method}")
30
+
31
+
32
+ def execute_js_in_executor(js_code_str, method, *args, timeout=30):
33
+ """
34
+ 使用 ProcessPoolExecutor 在独立进程中执行 JavaScript
35
+
36
+ 参数:
37
+ js_code_str: JavaScript 代码字符串
38
+ method: 'call' 或 'eval'
39
+ args: 如果 method 是 'call',第一个参数是函数名,后续是函数参数
40
+ 如果 method 是 'eval',只需提供一个参数:要评估的代码
41
+ timeout: 超时时间(秒)
42
+
43
+ 返回:
44
+ 执行结果
45
+ """
46
+ with concurrent.futures.ProcessPoolExecutor(max_workers=1) as executor:
47
+ future = executor.submit(js_executor_function, js_code_str, method, args)
48
+ try:
49
+ return future.result(timeout=timeout)
50
+ except concurrent.futures.TimeoutError:
51
+ # 清理资源并抛出超时异常
52
+ executor.shutdown(wait=False)
53
+ raise TimeoutError("JavaScript 执行超时")
@@ -4,6 +4,7 @@
4
4
  Date: 2020/2/13 21:22
5
5
  Desc: 存储和读取 Token 文件
6
6
  """
7
+
7
8
  import os
8
9
 
9
10
  import pandas as pd
@@ -12,22 +13,22 @@ from akshare.pro import cons
12
13
 
13
14
 
14
15
  def set_token(token):
15
- df = pd.DataFrame([token], columns=['token'])
16
- user_home = os.path.expanduser('~')
16
+ df = pd.DataFrame([token], columns=["token"])
17
+ user_home = os.path.expanduser("~")
17
18
  fp = os.path.join(user_home, cons.TOKEN_F_P)
18
19
  df.to_csv(fp, index=False)
19
20
 
20
21
 
21
22
  def get_token():
22
- user_home = os.path.expanduser('~')
23
+ user_home = os.path.expanduser("~")
23
24
  fp = os.path.join(user_home, cons.TOKEN_F_P)
24
25
  if os.path.exists(fp):
25
26
  df = pd.read_csv(fp)
26
- return str(df.iloc[0]['token'])
27
+ return str(df.iloc[0]["token"])
27
28
  else:
28
29
  print(cons.TOKEN_ERR_MSG)
29
30
  return
30
31
 
31
32
 
32
- if __name__ == '__main__':
33
+ if __name__ == "__main__":
33
34
  pass
akshare/utils/tqdm.py CHANGED
@@ -1,12 +1,22 @@
1
- def get_tqdm():
1
+ def get_tqdm(enable: bool = True):
2
2
  """
3
3
  返回适用于当前环境的 tqdm 对象。
4
+
5
+ Args:
6
+ enable (bool): 是否启用进度条。默认为 True。
7
+
8
+ Returns:
9
+ tqdm 对象。
4
10
  """
11
+ if not enable:
12
+ # 如果进度条被禁用,返回一个不显示进度条的 tqdm 对象
13
+ return lambda iterable, *args, **kwargs: iterable
14
+
5
15
  try:
6
- # 尝试检查是否在 Jupyter notebook 环境中,有利于退出进度条
16
+ # 尝试检查是否在 jupyter notebook 环境中,有利于退出进度条
7
17
  # noinspection PyUnresolvedReferences
8
18
  shell = get_ipython().__class__.__name__
9
- if shell == 'ZMQInteractiveShell':
19
+ if shell == "ZMQInteractiveShell":
10
20
  from tqdm.notebook import tqdm
11
21
  else:
12
22
  from tqdm import tqdm
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: akshare
3
- Version: 1.13.46
3
+ Version: 1.17.99
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
@@ -12,46 +12,61 @@ Classifier: Programming Language :: Python :: 3.9
12
12
  Classifier: Programming Language :: Python :: 3.10
13
13
  Classifier: Programming Language :: Python :: 3.11
14
14
  Classifier: Programming Language :: Python :: 3.12
15
+ Classifier: Programming Language :: Python :: 3.13
16
+ Classifier: Programming Language :: Python :: 3.14
15
17
  Classifier: License :: OSI Approved :: MIT License
16
18
  Classifier: Operating System :: OS Independent
17
19
  Requires-Python: >=3.8
18
20
  Description-Content-Type: text/markdown
19
21
  License-File: LICENSE
20
- Requires-Dist: beautifulsoup4 >=4.9.1
21
- Requires-Dist: lxml >=4.2.1
22
- Requires-Dist: pandas >=0.25
23
- Requires-Dist: requests >=2.22.0
24
- Requires-Dist: pypinyin >=0.35.0
25
- Requires-Dist: html5lib >=1.0.1
26
- Requires-Dist: xlrd >=1.2.0
27
- Requires-Dist: urllib3 >=1.25.8
28
- Requires-Dist: tqdm >=4.43.0
29
- Requires-Dist: openpyxl >=3.0.3
30
- Requires-Dist: jsonpath >=0.82
31
- Requires-Dist: tabulate >=0.8.6
32
- Requires-Dist: decorator >=4.4.2
33
- Requires-Dist: py-mini-racer >=0.6.0
34
- Requires-Dist: akracer >=0.0.11
22
+ Requires-Dist: aiohttp>=3.11.13
23
+ Requires-Dist: beautifulsoup4>=4.9.1
24
+ Requires-Dist: lxml>=4.2.1
25
+ Requires-Dist: pandas>=0.25
26
+ Requires-Dist: requests>=2.22.0
27
+ Requires-Dist: curl_cffi>=0.13.0
28
+ Requires-Dist: html5lib>=1.0.1
29
+ Requires-Dist: xlrd>=1.2.0
30
+ Requires-Dist: urllib3>=1.25.8
31
+ Requires-Dist: tqdm>=4.43.0
32
+ Requires-Dist: openpyxl>=3.0.3
33
+ Requires-Dist: jsonpath>=0.82
34
+ Requires-Dist: tabulate>=0.8.6
35
+ Requires-Dist: decorator>=4.4.2
36
+ Requires-Dist: nest_asyncio>=1.6.0
37
+ Requires-Dist: mini-racer>=0.12.4; platform_system != "Linux"
38
+ Requires-Dist: py-mini-racer>=0.6.0; platform_system == "Linux"
39
+ Requires-Dist: akracer>=0.0.13; platform_system == "Linux"
35
40
  Provides-Extra: full
36
- Requires-Dist: akqmt ; extra == 'full'
41
+ Requires-Dist: akqmt; extra == "full"
37
42
  Provides-Extra: qmt
38
- Requires-Dist: akqmt ; extra == 'qmt'
39
-
40
- **欢迎加入专注于财经数据和量化投资的知识社区,请点击[了解更多](https://akshare.akfamily.xyz/learn.html)**
41
-
42
- **相关视频教程已经发布:《AKShare-初阶-使用教学》、《AKShare-初阶-实战应用》、《AKShare-源码解析》、《开源项目巡礼》**,详情请访问[课程](https://app3rqjh1z21630.h5.xiaoeknow.com)查看更多课程信息!
43
-
44
- **AKQuant 量化教程请访问:[利用 PyBroker 进行量化投资](https://akquant.akfamily.xyz/)**
45
-
46
- **本次发布 [AKTools](https://github.com/akfamily/aktools) 作为 AKShare 的 HTTP API 版本,
47
- 突破 Python 语言的限制,欢迎各位小伙伴试用并提出更好的意见或建议!
48
- 点击 [AKTools](https://github.com/akfamily/aktools) 查看使用指南。另外提供 [awesome-data](https://github.com/akfamily/awesome-data) 方便各位小伙伴查询各种数据源。**
43
+ Requires-Dist: akqmt; extra == "qmt"
44
+ Dynamic: author
45
+ Dynamic: author-email
46
+ Dynamic: classifier
47
+ Dynamic: description
48
+ Dynamic: description-content-type
49
+ Dynamic: home-page
50
+ Dynamic: keywords
51
+ Dynamic: license
52
+ Dynamic: license-file
53
+ Dynamic: provides-extra
54
+ Dynamic: requires-dist
55
+ Dynamic: requires-python
56
+ Dynamic: summary
57
+
58
+ **资源分享**:对于想了解更多财经数据与量化投研的小伙伴,推荐一个专注于财经数据和量化研究的知识社区。
59
+ 该社区提供相关文档和视频学习资源,汇集了各类财经数据源和量化投研工具的使用经验。
60
+ 有兴趣深入学习的朋友可点此[了解更多](https://t.zsxq.com/ZCxUG),也推荐大家关注微信公众号【数据科学实战】。
61
+
62
+ **工具推荐**:期魔方是一款本地化期货量化分析工具,适合数据分析爱好者使用。无需复杂部署,支持数据分析和机器学习功能,研究功能免费开放。
63
+ 如需了解更多信息可访问[期魔方](https://qmfquant.com/)。
49
64
 
50
65
  ![AKShare Logo](https://github.com/akfamily/akshare/blob/main/assets/images/akshare_logo.jpg)
51
66
 
52
67
  [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/akshare.svg)](https://pypi.org/project/akshare/)
53
68
  [![PyPI](https://img.shields.io/pypi/v/akshare.svg)](https://pypi.org/project/akshare/)
54
- [![Downloads](https://pepy.tech/badge/akshare)](https://pepy.tech/project/akshare)
69
+ [![PyPI Downloads](https://static.pepy.tech/personalized-badge/akshare?period=total&units=INTERNATIONAL_SYSTEM&left_color=BLACK&right_color=GREEN&left_text=downloads)](https://pepy.tech/projects/akshare)
55
70
  [![Documentation Status](https://readthedocs.org/projects/akshare/badge/?version=latest)](https://akshare.readthedocs.io/?badge=latest)
56
71
  [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
57
72
  [![akshare](https://img.shields.io/badge/Data%20Science-AKShare-green)](https://github.com/akfamily/akshare)
@@ -64,7 +79,7 @@ Requires-Dist: akqmt ; extra == 'qmt'
64
79
 
65
80
  ## Overview
66
81
 
67
- [AKShare](https://github.com/akfamily/akshare) requires Python(64 bit) 3.8 or higher and
82
+ [AKShare](https://github.com/akfamily/akshare) requires Python(64 bit) 3.9 or higher and
68
83
  aims to simplify the process of fetching financial data.
69
84
 
70
85
  **Write less, get more!**
@@ -152,32 +167,15 @@ import akshare as ak
152
167
  import mplfinance as mpf # Please install mplfinance as follows: pip install mplfinance
153
168
 
154
169
  stock_us_daily_df = ak.stock_us_daily(symbol="AAPL", adjust="qfq")
155
- stock_us_daily_df = stock_us_daily_df[["open", "high", "low", "close", "volume"]]
156
- stock_us_daily_df.columns = ["Open", "High", "Low", "Close", "Volume"]
157
- stock_us_daily_df.index.name = "Date"
170
+ stock_us_daily_df = stock_us_daily_df.set_index(["date"])
158
171
  stock_us_daily_df = stock_us_daily_df["2020-04-01": "2020-04-29"]
159
- mpf.plot(stock_us_daily_df, type='candle', mav=(3, 6, 9), volume=True, show_nontrading=False)
172
+ mpf.plot(stock_us_daily_df, type="candle", mav=(3, 6, 9), volume=True, show_nontrading=False)
160
173
  ```
161
174
 
162
175
  Output:
163
176
 
164
177
  ![KLine](https://jfds-1252952517.cos.ap-chengdu.myqcloud.com/akshare/readme/home/AAPL_candle.png)
165
178
 
166
- ## Communication
167
-
168
- Welcome to join the **数据科学实战** knowledge planet to learn more about quantitative investment,
169
- please visit [数据科学实战](https://akshare.akfamily.xyz/learn.html) for more information:
170
-
171
- <div>
172
- <img alt="data science" src="https://jfds-1252952517.cos.ap-chengdu.myqcloud.com/akshare/readme/qrcode/data_scientist.png">
173
- </div>
174
-
175
- Pay attention to **数据科学实战** WeChat Official Accounts to get the [AKShare](https://github.com/akfamily/akshare) updated info:
176
-
177
- <div>
178
- <img alt="ds" src="https://github.com/akfamily/akshare/blob/main/assets/images/ds.png">
179
- </div>
180
-
181
179
  ## Features
182
180
 
183
181
  - **Easy of use**: Just one line code to fetch the data;
@@ -238,9 +236,9 @@ Please use this **bibtex** if you want to cite this repository in your publicati
238
236
 
239
237
  ```markdown
240
238
  @misc{akshare,
241
- author = {Albert King},
239
+ author = {Albert King and Yaojie Zhang},
242
240
  title = {AKShare},
243
- year = {2019},
241
+ year = {2022},
244
242
  publisher = {GitHub},
245
243
  journal = {GitHub repository},
246
244
  howpublished = {\url{https://github.com/akfamily/akshare}},
@@ -253,26 +251,22 @@ Special thanks [FuShare](https://github.com/LowinLi/fushare) for the opportunity
253
251
 
254
252
  Special thanks [TuShare](https://github.com/waditu/tushare) for the opportunity of learning from the project;
255
253
 
256
- Thanks for the data provided by [生意社网站](http://www.100ppi.com/);
254
+ Thanks for the data provided by [东方财富网站](http://data.eastmoney.com);
257
255
 
258
- Thanks for the data provided by [奇货可查网站](https://qhkch.com/);
256
+ Thanks for the data provided by [新浪财经网站](https://finance.sina.com.cn);
257
+
258
+ Thanks for the data provided by [金十数据网站](https://www.jin10.com/);
259
+
260
+ Thanks for the data provided by [生意社网站](http://www.100ppi.com/);
259
261
 
260
262
  Thanks for the data provided by [中国银行间市场交易商协会网站](http://www.nafmii.org.cn/);
261
263
 
262
264
  Thanks for the data provided by [99期货网站](http://www.99qh.com/);
263
265
 
264
- Thanks for the data provided by [英为财情网站](https://cn.investing.com/);
265
-
266
266
  Thanks for the data provided by [中国外汇交易中心暨全国银行间同业拆借中心网站](http://www.chinamoney.com.cn/chinese/);
267
267
 
268
- Thanks for the data provided by [金十数据网站](https://www.jin10.com/);
269
-
270
268
  Thanks for the data provided by [和讯财经网站](http://www.hexun.com/);
271
269
 
272
- Thanks for the data provided by [新浪财经网站](https://finance.sina.com.cn/);
273
-
274
- Thanks for the data provided by [Oxford-Man Institute 网站](https://realized.oxford-man.ox.ac.uk/);
275
-
276
270
  Thanks for the data provided by [DACHENG-XIU 网站](https://dachxiu.chicagobooth.edu/);
277
271
 
278
272
  Thanks for the data provided by [上海证券交易所网站](http://www.sse.com.cn/assortment/options/price/);
@@ -295,16 +289,8 @@ Thanks for the data provided by [Timeanddate 网站](https://www.timeanddate.com
295
289
 
296
290
  Thanks for the data provided by [河北省空气质量预报信息发布系统网站](http://110.249.223.67/publish/);
297
291
 
298
- Thanks for the data provided by [南华期货网站](http://www.nanhua.net/nhzc/varietytrend.html);
299
-
300
292
  Thanks for the data provided by [Economic Policy Uncertainty 网站](http://www.nanhua.net/nhzc/varietytrend.html);
301
293
 
302
- Thanks for the data provided by [微博指数网站](https://data.weibo.com/index/newindex);
303
-
304
- Thanks for the data provided by [百度指数网站](http://index.baidu.com/v2/main/index.html);
305
-
306
- Thanks for the data provided by [谷歌指数网站](https://trends.google.com/trends/?geo=US);
307
-
308
294
  Thanks for the data provided by [申万指数网站](http://www.swsindex.com/idx0120.aspx?columnid=8832);
309
295
 
310
296
  Thanks for the data provided by [真气网网站](https://www.zq12369.com/);
@@ -319,28 +305,12 @@ Thanks for the data provided by [北京市碳排放权电子交易平台网站](
319
305
 
320
306
  Thanks for the data provided by [国家金融与发展实验室网站](http://www.nifd.cn/);
321
307
 
322
- Thanks for the data provided by [IT桔子网站](https://www.itjuzi.com);
323
-
324
- Thanks for the data provided by [东方财富网站](http://data.eastmoney.com/jgdy/);
325
-
326
308
  Thanks for the data provided by [义乌小商品指数网站](http://www.ywindex.com/Home/Product/index/);
327
309
 
328
- Thanks for the data provided by [中国国家发展和改革委员会网站](http://jgjc.ndrc.gov.cn/dmzs.aspx?clmId=741);
329
-
330
310
  Thanks for the data provided by [百度迁徙网站](https://qianxi.baidu.com/?from=shoubai#city=0);
331
311
 
332
- Thanks for the data provided by [慈善中国网站](http://cishan.chinanpo.gov.cn/platform/login.html);
333
-
334
312
  Thanks for the data provided by [思知网站](https://www.ownthink.com/);
335
313
 
336
314
  Thanks for the data provided by [Currencyscoop 网站](https://currencyscoop.com/);
337
315
 
338
316
  Thanks for the data provided by [新加坡交易所网站](https://www.sgx.com/zh-hans/research-education/derivatives);
339
-
340
- Thanks for the tutorials provided by [微信公众号: Python大咖谈](https://upload-images.jianshu.io/upload_images/3240514-61004f2c71be4a0b.png).
341
-
342
- ## Backer and Sponsor
343
-
344
- <a href="https://www.jetbrains.com/?from=jindaxiang/akshare" target="_blank">
345
- <img alt="jetbrains" src="https://github.com/akfamily/akshare/blob/main/assets/images/jetbrains.svg" width="100px" height="100px">
346
- </a>