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
@@ -1,13 +1,15 @@
1
1
  # -*- coding:utf-8 -*-
2
2
  # !/usr/bin/env python
3
3
  """
4
- Date: 2022/1/25 10:20
4
+ Date: 2025/3/11 17:00
5
5
  Desc: 东方财富网-数据中心-特色数据-期权折溢价
6
6
  https://data.eastmoney.com/other/premium.html
7
7
  """
8
- import requests
8
+
9
9
  import pandas as pd
10
10
 
11
+ from akshare.utils.func import fetch_paginated_data
12
+
11
13
 
12
14
  def option_premium_analysis_em() -> pd.DataFrame:
13
15
  """
@@ -18,60 +20,63 @@ def option_premium_analysis_em() -> pd.DataFrame:
18
20
  """
19
21
  url = "https://push2.eastmoney.com/api/qt/clist/get"
20
22
  params = {
21
- 'fid': 'f250',
22
- 'po': '1',
23
- 'pz': '5000',
24
- 'pn': '1',
25
- 'np': '1',
26
- 'fltt': '2',
27
- 'invt': '2',
28
- 'ut': 'b2884a393a59ad64002292a3e90d46a5',
29
- 'fields': 'f1,f2,f3,f12,f13,f14,f161,f250,f330,f331,f332,f333,f334,f335,f337,f301,f152',
30
- 'fs': 'm:10'
23
+ "fid": "f250",
24
+ "po": "1",
25
+ "pz": "100",
26
+ "pn": "1",
27
+ "np": "1",
28
+ "fltt": "2",
29
+ "invt": "2",
30
+ "ut": "b2884a393a59ad64002292a3e90d46a5",
31
+ "fields": "f1,f2,f3,f12,f13,f14,f161,f250,f330,f331,f332,f333,f334,f335,f337,f301,f152",
32
+ "fs": "m:10",
31
33
  }
32
- r = requests.get(url, params=params)
33
- data_json = r.json()
34
- temp_df = pd.DataFrame(data_json["data"]["diff"])
34
+ temp_df = fetch_paginated_data(url, params)
35
35
  temp_df.columns = [
36
- '-',
37
- '最新价',
38
- '涨跌幅',
39
- '期权代码',
40
- '-',
41
- '期权名称',
42
- '-',
43
- '行权价',
44
- '折溢价率',
45
- '到期日',
46
- '-',
47
- '-',
48
- '-',
49
- '标的名称',
50
- '标的最新价',
51
- '标的涨跌幅',
52
- '盈亏平衡价',
36
+ "-",
37
+ "-",
38
+ "最新价",
39
+ "涨跌幅",
40
+ "期权代码",
41
+ "-",
42
+ "期权名称",
43
+ "-",
44
+ "行权价",
45
+ "折溢价率",
46
+ "到期日",
47
+ "-",
48
+ "-",
49
+ "-",
50
+ "标的名称",
51
+ "标的最新价",
52
+ "标的涨跌幅",
53
+ "盈亏平衡价",
54
+ ]
55
+ temp_df = temp_df[
56
+ [
57
+ "期权代码",
58
+ "期权名称",
59
+ "最新价",
60
+ "涨跌幅",
61
+ "行权价",
62
+ "折溢价率",
63
+ "标的名称",
64
+ "标的最新价",
65
+ "标的涨跌幅",
66
+ "盈亏平衡价",
67
+ "到期日",
68
+ ]
53
69
  ]
54
- temp_df = temp_df[[
55
- '期权代码',
56
- '期权名称',
57
- '最新价',
58
- '涨跌幅',
59
- '行权价',
60
- '折溢价率',
61
- '标的名称',
62
- '标的最新价',
63
- '标的涨跌幅',
64
- '盈亏平衡价',
65
- '到期日',
66
- ]]
67
- temp_df['最新价'] = pd.to_numeric(temp_df['最新价'], errors="coerce")
68
- temp_df['涨跌幅'] = pd.to_numeric(temp_df['涨跌幅'], errors="coerce")
69
- temp_df['行权价'] = pd.to_numeric(temp_df['行权价'], errors="coerce")
70
- temp_df['折溢价率'] = pd.to_numeric(temp_df['折溢价率'], errors="coerce")
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['到期日'] = pd.to_datetime(temp_df['到期日'].astype(str)).dt.date
70
+ temp_df["最新价"] = pd.to_numeric(temp_df["最新价"], errors="coerce")
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["标的最新价"] = pd.to_numeric(temp_df["标的最新价"], errors="coerce")
75
+ temp_df["标的涨跌幅"] = pd.to_numeric(temp_df["标的涨跌幅"], errors="coerce")
76
+ temp_df["盈亏平衡价"] = pd.to_numeric(temp_df["盈亏平衡价"], errors="coerce")
77
+ temp_df["到期日"] = pd.to_datetime(
78
+ temp_df["到期日"].astype(str), errors="coerce"
79
+ ).dt.date
75
80
  return temp_df
76
81
 
77
82
 
@@ -1,13 +1,15 @@
1
1
  # -*- coding:utf-8 -*-
2
2
  # !/usr/bin/env python
3
3
  """
4
- Date: 2023/3/20 15:20
4
+ Date: 2025/3/13 21:50
5
5
  Desc: 东方财富网-数据中心-特色数据-期权风险分析
6
6
  https://data.eastmoney.com/other/riskanal.html
7
7
  """
8
- import requests
8
+
9
9
  import pandas as pd
10
10
 
11
+ from akshare.utils.func import fetch_paginated_data
12
+
11
13
 
12
14
  def option_risk_analysis_em() -> pd.DataFrame:
13
15
  """
@@ -18,9 +20,9 @@ def option_risk_analysis_em() -> pd.DataFrame:
18
20
  """
19
21
  url = "https://push2.eastmoney.com/api/qt/clist/get"
20
22
  params = {
21
- "fid": "f3",
23
+ "fid": "f12",
22
24
  "po": "1",
23
- "pz": "5000",
25
+ "pz": "100",
24
26
  "pn": "1",
25
27
  "np": "1",
26
28
  "fltt": "2",
@@ -29,10 +31,9 @@ def option_risk_analysis_em() -> pd.DataFrame:
29
31
  "fields": "f1,f2,f3,f12,f13,f14,f302,f303,f325,f326,f327,f329,f328,f301,f152,f154",
30
32
  "fs": "m:10",
31
33
  }
32
- r = requests.get(url, params=params)
33
- data_json = r.json()
34
- temp_df = pd.DataFrame(data_json["data"]["diff"])
34
+ temp_df = fetch_paginated_data(url, params)
35
35
  temp_df.columns = [
36
+ "-",
36
37
  "-",
37
38
  "最新价",
38
39
  "涨跌幅",
@@ -75,7 +76,9 @@ def option_risk_analysis_em() -> pd.DataFrame:
75
76
  temp_df["Vega"] = pd.to_numeric(temp_df["Vega"], errors="coerce")
76
77
  temp_df["Rho"] = pd.to_numeric(temp_df["Rho"], errors="coerce")
77
78
  temp_df["Theta"] = pd.to_numeric(temp_df["Theta"], errors="coerce")
78
- temp_df["到期日"] = pd.to_datetime(temp_df["到期日"], format="%Y%m%d").dt.date
79
+ temp_df["到期日"] = pd.to_datetime(
80
+ temp_df["到期日"], format="%Y%m%d", errors="coerce"
81
+ ).dt.date
79
82
  return temp_df
80
83
 
81
84
 
@@ -1,14 +1,15 @@
1
1
  # -*- coding:utf-8 -*-
2
2
  # !/usr/bin/env python
3
3
  """
4
- Date: 2022/5/18 20:40
4
+ Date: 2025/9/8 16:20
5
5
  Desc: 上海证券交易所-产品-股票期权-期权风险指标
6
6
  """
7
- import requests
7
+
8
8
  import pandas as pd
9
+ import requests
9
10
 
10
11
 
11
- def option_risk_indicator_sse(date: str = "20220516") -> pd.DataFrame:
12
+ def option_risk_indicator_sse(date: str = "20240626") -> pd.DataFrame:
12
13
  """
13
14
  上海证券交易所-产品-股票期权-期权风险指标
14
15
  http://www.sse.com.cn/assortment/options/risk/
@@ -23,7 +24,6 @@ def option_risk_indicator_sse(date: str = "20220516") -> pd.DataFrame:
23
24
  "trade_date": date,
24
25
  "sqlId": "SSE_ZQPZ_YSP_GGQQZSXT_YSHQ_QQFXZB_DATE_L",
25
26
  "contractSymbol": "",
26
- "_": "1652877575590",
27
27
  }
28
28
  headers = {
29
29
  "Accept": "*/*",
@@ -34,7 +34,8 @@ def option_risk_indicator_sse(date: str = "20220516") -> pd.DataFrame:
34
34
  "Host": "query.sse.com.cn",
35
35
  "Pragma": "no-cache",
36
36
  "Referer": "http://www.sse.com.cn/",
37
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36",
37
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
38
+ "Chrome/101.0.4951.67 Safari/537.36",
38
39
  }
39
40
  r = requests.get(url, params=params, headers=headers)
40
41
  data_json = r.json()
@@ -53,19 +54,20 @@ def option_risk_indicator_sse(date: str = "20220516") -> pd.DataFrame:
53
54
  "IMPLC_VOLATLTY",
54
55
  ]
55
56
  ]
56
- temp_df["TRADE_DATE"] = pd.to_datetime(temp_df["TRADE_DATE"]).dt.date
57
- temp_df["DELTA_VALUE"] = pd.to_numeric(temp_df["DELTA_VALUE"])
58
- temp_df["THETA_VALUE"] = pd.to_numeric(temp_df["THETA_VALUE"])
59
- temp_df["GAMMA_VALUE"] = pd.to_numeric(temp_df["GAMMA_VALUE"])
60
- temp_df["VEGA_VALUE"] = pd.to_numeric(temp_df["VEGA_VALUE"])
61
- temp_df["RHO_VALUE"] = pd.to_numeric(temp_df["RHO_VALUE"])
62
- temp_df["IMPLC_VOLATLTY"] = pd.to_numeric(temp_df["IMPLC_VOLATLTY"])
57
+ temp_df["TRADE_DATE"] = pd.to_datetime(
58
+ temp_df["TRADE_DATE"], errors="coerce"
59
+ ).dt.date
60
+ temp_df["DELTA_VALUE"] = pd.to_numeric(temp_df["DELTA_VALUE"], errors="coerce")
61
+ temp_df["THETA_VALUE"] = pd.to_numeric(temp_df["THETA_VALUE"], errors="coerce")
62
+ temp_df["GAMMA_VALUE"] = pd.to_numeric(temp_df["GAMMA_VALUE"], errors="coerce")
63
+ temp_df["VEGA_VALUE"] = pd.to_numeric(temp_df["VEGA_VALUE"], errors="coerce")
64
+ temp_df["RHO_VALUE"] = pd.to_numeric(temp_df["RHO_VALUE"], errors="coerce")
65
+ temp_df["IMPLC_VOLATLTY"] = pd.to_numeric(
66
+ temp_df["IMPLC_VOLATLTY"], errors="coerce"
67
+ )
63
68
  return temp_df
64
69
 
65
70
 
66
71
  if __name__ == "__main__":
67
- option_risk_indicator_sse_df = option_risk_indicator_sse(date="20220516")
68
- print(option_risk_indicator_sse_df)
69
-
70
- option_risk_indicator_sse_df = option_risk_indicator_sse(date="20220623")
72
+ option_risk_indicator_sse_df = option_risk_indicator_sse(date="20240626")
71
73
  print(option_risk_indicator_sse_df)
@@ -1,13 +1,15 @@
1
1
  # -*- coding:utf-8 -*-
2
2
  # !/usr/bin/env python
3
3
  """
4
- Date: 2022/1/24 15:41
4
+ Date: 2025/3/11 17:00
5
5
  Desc: 东方财富网-数据中心-特色数据-期权价值分析
6
6
  https://data.eastmoney.com/other/valueAnal.html
7
7
  """
8
- import requests
8
+
9
9
  import pandas as pd
10
10
 
11
+ from akshare.utils.func import fetch_paginated_data
12
+
11
13
 
12
14
  def option_value_analysis_em() -> pd.DataFrame:
13
15
  """
@@ -18,62 +20,67 @@ def option_value_analysis_em() -> pd.DataFrame:
18
20
  """
19
21
  url = "https://push2.eastmoney.com/api/qt/clist/get"
20
22
  params = {
21
- 'fid': 'f301',
22
- 'po': '1',
23
- 'pz': '5000',
24
- 'pn': '1',
25
- 'np': '1',
26
- 'fltt': '2',
27
- 'invt': '2',
28
- 'ut': 'b2884a393a59ad64002292a3e90d46a5',
29
- 'fields': 'f1,f2,f3,f12,f13,f14,f298,f299,f249,f300,f330,f331,f332,f333,f334,f335,f336,f301,f152',
30
- 'fs': 'm:10'
23
+ "fid": "f301",
24
+ "po": "1",
25
+ "pz": "100",
26
+ "pn": "1",
27
+ "np": "1",
28
+ "fltt": "2",
29
+ "invt": "2",
30
+ "ut": "b2884a393a59ad64002292a3e90d46a5",
31
+ "fields": "f1,f2,f3,f12,f13,f14,f298,f299,f249,f300,f330,f331,f332,f333,f334,f335,f336,f301,f152",
32
+ "fs": "m:10",
31
33
  }
32
- r = requests.get(url, params=params)
33
- data_json = r.json()
34
- temp_df = pd.DataFrame(data_json["data"]["diff"])
34
+ temp_df = fetch_paginated_data(url, params)
35
35
  temp_df.columns = [
36
- '-',
37
- '最新价',
38
- '-',
39
- '期权代码',
40
- '-',
41
- '期权名称',
42
- '-',
43
- '隐含波动率',
44
- '时间价值',
45
- '内在价值',
46
- '理论价格',
47
- '到期日',
48
- '-',
49
- '-',
50
- '-',
51
- '标的名称',
52
- '标的最新价',
53
- '-',
54
- '标的近一年波动率',
36
+ "-",
37
+ "-",
38
+ "最新价",
39
+ "-",
40
+ "期权代码",
41
+ "-",
42
+ "期权名称",
43
+ "-",
44
+ "隐含波动率",
45
+ "时间价值",
46
+ "内在价值",
47
+ "理论价格",
48
+ "到期日",
49
+ "-",
50
+ "-",
51
+ "-",
52
+ "标的名称",
53
+ "标的最新价",
54
+ "-",
55
+ "标的近一年波动率",
56
+ ]
57
+ temp_df = temp_df[
58
+ [
59
+ "期权代码",
60
+ "期权名称",
61
+ "最新价",
62
+ "时间价值",
63
+ "内在价值",
64
+ "隐含波动率",
65
+ "理论价格",
66
+ "标的名称",
67
+ "标的最新价",
68
+ "标的近一年波动率",
69
+ "到期日",
70
+ ]
55
71
  ]
56
- temp_df = temp_df[[
57
- '期权代码',
58
- '期权名称',
59
- '最新价',
60
- '时间价值',
61
- '内在价值',
62
- '隐含波动率',
63
- '理论价格',
64
- '标的名称',
65
- '标的最新价',
66
- '标的近一年波动率',
67
- '到期日',
68
- ]]
69
- temp_df['最新价'] = pd.to_numeric(temp_df['最新价'], errors="coerce")
70
- temp_df['时间价值'] = pd.to_numeric(temp_df['时间价值'])
71
- temp_df['内在价值'] = pd.to_numeric(temp_df['内在价值'])
72
- temp_df['隐含波动率'] = pd.to_numeric(temp_df['隐含波动率'])
73
- temp_df['理论价格'] = pd.to_numeric(temp_df['理论价格'], errors="coerce")
74
- temp_df['标的最新价'] = pd.to_numeric(temp_df['标的最新价'])
75
- temp_df['标的近一年波动率'] = pd.to_numeric(temp_df['标的近一年波动率'])
76
- temp_df['到期日'] = pd.to_datetime(temp_df['到期日'].astype(str)).dt.date
72
+ temp_df["最新价"] = pd.to_numeric(temp_df["最新价"], errors="coerce")
73
+ temp_df["时间价值"] = pd.to_numeric(temp_df["时间价值"], errors="coerce")
74
+ temp_df["内在价值"] = pd.to_numeric(temp_df["内在价值"], errors="coerce")
75
+ temp_df["隐含波动率"] = pd.to_numeric(temp_df["隐含波动率"], errors="coerce")
76
+ temp_df["理论价格"] = pd.to_numeric(temp_df["理论价格"], errors="coerce")
77
+ temp_df["标的最新价"] = pd.to_numeric(temp_df["标的最新价"], errors="coerce")
78
+ temp_df["标的近一年波动率"] = pd.to_numeric(
79
+ temp_df["标的近一年波动率"], errors="coerce"
80
+ )
81
+ temp_df["到期日"] = pd.to_datetime(
82
+ temp_df["到期日"].astype(str), errors="coerce"
83
+ ).dt.date
77
84
  return temp_df
78
85
 
79
86
 
akshare/other/__init__.py CHANGED
@@ -2,5 +2,5 @@
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
4
  Date: 2021/5/14 17:52
5
- Desc:
5
+ Desc:
6
6
  """
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
- Date: 2024/3/31 19:00
4
+ Date: 2024/8/3 20:00
5
5
  Desc: 乘联会
6
- http://data.cpcaauto.com/FuelMarket
6
+ http://data.cpcadata.com/FuelMarket
7
7
  """
8
8
 
9
9
  import pandas as pd
@@ -15,7 +15,7 @@ def car_market_total_cpca(
15
15
  ) -> pd.DataFrame:
16
16
  """
17
17
  乘联会-统计数据-总体市场
18
- http://data.cpcaauto.com/TotalMarket
18
+ http://data.cpcadata.com/TotalMarket
19
19
  :param symbol: choice of {"狭义乘用车", "广义乘用车"}
20
20
  :type symbol: str
21
21
  :param indicator: choice of {"产量", "批发", "零售", "出口"}
@@ -23,7 +23,7 @@ def car_market_total_cpca(
23
23
  :return: 统计数据-总体市场
24
24
  :rtype: pandas.DataFrame
25
25
  """
26
- url = "http://data.cpcaauto.com/api/chartlist"
26
+ url = "http://data.cpcadata.com/api/chartlist"
27
27
  params = {"charttype": "1"}
28
28
  r = requests.get(url, params=params)
29
29
  data_json = r.json()
@@ -163,13 +163,13 @@ def car_market_total_cpca(
163
163
  def __car_market_man_rank_cpca_pifa(symbol: str = "狭义乘用车-累计") -> pd.DataFrame:
164
164
  """
165
165
  乘联会-统计数据-厂商排名
166
- http://data.cpcaauto.com/ManRank
166
+ http://data.cpcadata.com/ManRank
167
167
  :param symbol: choice of {"狭义乘用车-单月", "狭义乘用车-累计", "广义乘用车-单月", "广义乘用车-累计"}
168
168
  :type symbol: str
169
169
  :return: 统计数据-厂商排名
170
170
  :rtype: pandas.DataFrame
171
171
  """
172
- url = "http://data.cpcaauto.com/api/chartlist"
172
+ url = "http://data.cpcadata.com/api/chartlist"
173
173
  params = {"charttype": "2"}
174
174
  r = requests.get(url, params=params)
175
175
  data_json = r.json()
@@ -278,13 +278,13 @@ def __car_market_man_rank_cpca_lingshou(
278
278
  ) -> pd.DataFrame:
279
279
  """
280
280
  乘联会-统计数据-厂商排名
281
- http://data.cpcaauto.com/ManRank
281
+ http://data.cpcadata.com/ManRank
282
282
  :param symbol: choice of {"狭义乘用车-单月", "狭义乘用车-累计", "广义乘用车-单月", "广义乘用车-累计"}
283
283
  :type symbol: str
284
284
  :return: 统计数据-厂商排名
285
285
  :rtype: pandas.DataFrame
286
286
  """
287
- url = "http://data.cpcaauto.com/api/chartlist_2"
287
+ url = "http://data.cpcadata.com/api/chartlist_2"
288
288
  params = {"charttype": "2"}
289
289
  r = requests.get(url, params=params)
290
290
  data_json = r.json()
@@ -393,7 +393,7 @@ def car_market_man_rank_cpca(
393
393
  ) -> pd.DataFrame:
394
394
  """
395
395
  乘联会-统计数据-厂商排名
396
- http://data.cpcaauto.com/ManRank
396
+ http://data.cpcadata.com/ManRank
397
397
  :param symbol: choice of {"狭义乘用车-单月", "狭义乘用车-累计", "广义乘用车-单月", "广义乘用车-累计"}
398
398
  :type symbol: str
399
399
  :param indicator: choice of {"批发", "零售"}
@@ -412,13 +412,13 @@ def car_market_man_rank_cpca(
412
412
  def __car_market_cate_cpca_pifa(symbol: str = "MPV") -> pd.DataFrame:
413
413
  """
414
414
  乘联会-统计数据-车型大类
415
- http://data.cpcaauto.com/CategoryMarket
415
+ http://data.cpcadata.com/CategoryMarket
416
416
  :param symbol: choice of {"轿车", "MPV", "SUV", "占比"}
417
417
  :type symbol: str
418
418
  :return: 统计数据-车型大类
419
419
  :rtype: pandas.DataFrame
420
420
  """
421
- url = "http://data.cpcaauto.com/api/chartlist"
421
+ url = "http://data.cpcadata.com/api/chartlist"
422
422
  params = {"charttype": "3"}
423
423
  r = requests.get(url, params=params)
424
424
  data_json = r.json()
@@ -530,13 +530,13 @@ def __car_market_cate_cpca_lingshou(
530
530
  ) -> pd.DataFrame:
531
531
  """
532
532
  乘联会-统计数据-车型大类
533
- http://data.cpcaauto.com/CategoryMarket
533
+ http://data.cpcadata.com/CategoryMarket
534
534
  :param symbol: choice of {"轿车", "MPV", "SUV", "占比"}
535
535
  :type symbol: str
536
536
  :return: 统计数据-车型大类
537
537
  :rtype: pandas.DataFrame
538
538
  """
539
- url = "http://data.cpcaauto.com/api/chartlist"
539
+ url = "http://data.cpcadata.com/api/chartlist"
540
540
  params = {"charttype": "3"}
541
541
  r = requests.get(url, params=params)
542
542
  data_json = r.json()
@@ -646,7 +646,7 @@ def __car_market_cate_cpca_lingshou(
646
646
  def car_market_cate_cpca(symbol: str = "轿车", indicator: str = "批发") -> pd.DataFrame:
647
647
  """
648
648
  乘联会-统计数据-车型大类
649
- http://data.cpcaauto.com/CategoryMarket
649
+ http://data.cpcadata.com/CategoryMarket
650
650
  :param symbol: choice of {"轿车", "MPV", "SUV", "占比"}
651
651
  :type symbol: str
652
652
  :param indicator: choice of {"批发", "零售"}
@@ -665,11 +665,11 @@ def car_market_cate_cpca(symbol: str = "轿车", indicator: str = "批发") -> p
665
665
  def car_market_country_cpca() -> pd.DataFrame:
666
666
  """
667
667
  乘联会-统计数据-国别细分市场
668
- http://data.cpcaauto.com/CountryMarket
668
+ http://data.cpcadata.com/CountryMarket
669
669
  :return: 统计数据-车型大类
670
670
  :rtype: pandas.DataFrame
671
671
  """
672
- url = "http://data.cpcaauto.com/api/chartlist"
672
+ url = "http://data.cpcadata.com/api/chartlist"
673
673
  params = {"charttype": "4"}
674
674
  r = requests.get(url=url, params=params)
675
675
  data_json = r.json()
@@ -685,13 +685,13 @@ def car_market_country_cpca() -> pd.DataFrame:
685
685
  def car_market_segment_cpca(symbol: str = "轿车") -> pd.DataFrame:
686
686
  """
687
687
  乘联会-统计数据-级别细分市场
688
- http://data.cpcaauto.com/SegmentMarket
688
+ http://data.cpcadata.com/SegmentMarket
689
689
  :param symbol: choice of {"轿车", "MPV", "SUV"}
690
690
  :type symbol: str
691
691
  :return: 统计数据-车型大类
692
692
  :rtype: pandas.DataFrame
693
693
  """
694
- url = "http://data.cpcaauto.com/api/chartlist"
694
+ url = "http://data.cpcadata.com/api/chartlist"
695
695
  params = {"charttype": "5"}
696
696
  r = requests.get(url=url, params=params)
697
697
  data_json = r.json()
@@ -724,11 +724,11 @@ def car_market_fuel_cpca(symbol: str = "整体市场") -> pd.DataFrame:
724
724
  乘联会-统计数据-新能源细分市场
725
725
  :param symbol: choice of {"整体市场", "销量占比-PHEV-BEV", "销量占比-ICE-NEV"}
726
726
  :type symbol: str
727
- https://data.cpcaauto.com/FuelMarket
727
+ https://data.cpcadata.com/FuelMarket
728
728
  :return: 新能源细分市场
729
729
  :rtype: pandas.DataFrame
730
730
  """
731
- url = "http://data.cpcaauto.com/api/chartlist"
731
+ url = "http://data.cpcadata.com/api/chartlist"
732
732
  params = {"charttype": "6"}
733
733
  r = requests.get(url, params=params)
734
734
  data_json = r.json()
akshare/pro/__init__.py CHANGED
@@ -1 +0,0 @@
1
-
akshare/pro/client.py CHANGED
@@ -4,6 +4,7 @@
4
4
  Date: 2019/11/10 22:52
5
5
  Desc: 数据接口源代码
6
6
  """
7
+
7
8
  from functools import partial
8
9
  from urllib import parse
9
10
 
@@ -12,7 +13,6 @@ import requests
12
13
 
13
14
 
14
15
  class DataApi:
15
-
16
16
  __token = ""
17
17
  __http_url = "https://api.qhkch.com"
18
18
 
@@ -49,8 +49,10 @@ class DataApi:
49
49
  if fields == "":
50
50
  try:
51
51
  return pd.DataFrame(data_json)
52
- except ValueError as e:
53
- result_df = pd.DataFrame.from_dict(data_json, orient="index", columns=[api_name])
52
+ except ValueError:
53
+ result_df = pd.DataFrame.from_dict(
54
+ data_json, orient="index", columns=[api_name]
55
+ )
54
56
  return result_df
55
57
  else: # 此处增加处理
56
58
  if api_name == "variety_all_positions":
@@ -68,5 +70,5 @@ class DataApi:
68
70
  return partial(self.query, name)
69
71
 
70
72
 
71
- if __name__ == '__main__':
73
+ if __name__ == "__main__":
72
74
  pass
akshare/pro/cons.py CHANGED
@@ -4,5 +4,6 @@
4
4
  Date: 2020/12/24 16:28
5
5
  Desc: API常量文件
6
6
  """
7
- TOKEN_F_P = 'tk.csv'
8
- TOKEN_ERR_MSG = '请设置 AKShare pro 的 token 凭证码,如果没有权限,请访问 https://qhkch.com/ 注册申请'
7
+
8
+ TOKEN_F_P = "tk.csv"
9
+ TOKEN_ERR_MSG = "请设置 AKShare pro 的 token 凭证码,如果没有权限,请访问 https://qhkch.com/ 注册申请"
akshare/pro/data_pro.py CHANGED
@@ -4,24 +4,25 @@
4
4
  Date: 2019/11/10 22:52
5
5
  Desc: 数据接口初始化
6
6
  """
7
+
7
8
  from akshare.pro import client
8
9
  from akshare.utils import token_process
9
10
 
10
11
 
11
- def pro_api(token=''):
12
+ def pro_api(token=""):
12
13
  """
13
14
  初始化 pro API,第一次可以通过ak.set_token('your token')来记录自己的token凭证,临时token可以通过本参数传入
14
15
  """
15
- if token == '' or token is None:
16
+ if token == "" or token is None:
16
17
  token = token_process.get_token()
17
- if token is not None and token != '':
18
+ if token is not None and token != "":
18
19
  pro = client.DataApi(token)
19
20
  return pro
20
21
  else:
21
- raise Exception('api init error.')
22
+ raise Exception("api init error.")
22
23
 
23
24
 
24
- if __name__ == '__main__':
25
+ if __name__ == "__main__":
25
26
  pro_test = pro_api()
26
27
  variety_all_df = pro_test.variety_all()
27
28
  print(variety_all_df)
File without changes