akshare 1.16.14__py3-none-any.whl → 1.16.16__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.
akshare/__init__.py CHANGED
@@ -3023,9 +3023,11 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
3023
3023
  1.16.12 fix: fix bond_zh_hs_cov_daily interface
3024
3024
  1.16.13 fix: fix futures_inventory_99 interface
3025
3025
  1.16.14 fix: fix stock_info_global_cls interface
3026
+ 1.16.15 fix: fix stock_board_concept_name_em interface
3027
+ 1.16.16 fix: fix stock_board_concept_spot_em interface
3026
3028
  """
3027
3029
 
3028
- __version__ = "1.16.14"
3030
+ __version__ = "1.16.16"
3029
3031
  __author__ = "AKFamily"
3030
3032
 
3031
3033
  import sys
@@ -4053,6 +4055,7 @@ from akshare.stock.stock_board_concept_em import (
4053
4055
  stock_board_concept_hist_em,
4054
4056
  stock_board_concept_hist_min_em,
4055
4057
  stock_board_concept_name_em,
4058
+ stock_board_concept_spot_em,
4056
4059
  )
4057
4060
 
4058
4061
  """
@@ -1,19 +1,20 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
- Date: 2022/11/27 19:58
4
+ Date: 2025/2/27 17:00
5
5
  Desc: 东方财富网-数据中心-期货库存数据
6
6
  https://data.eastmoney.com/ifdata/kcsj.html
7
7
  """
8
+
8
9
  import pandas as pd
9
10
  import requests
10
11
 
11
12
 
12
- def futures_inventory_em(symbol: str = "沪铝") -> pd.DataFrame:
13
+ def futures_inventory_em(symbol: str = "A") -> pd.DataFrame:
13
14
  """
14
15
  东方财富网-数据中心-期货库存数据
15
16
  https://data.eastmoney.com/ifdata/kcsj.html
16
- :param symbol: https://data.eastmoney.com/ifdata/kcsj.html 对应的中文名称, 如: 沪铝
17
+ :param symbol: 支持品种代码和中文名称,中文名称参见:https://data.eastmoney.com/ifdata/kcsj.html
17
18
  :type symbol: str
18
19
  :return: 指定品种的库存数据
19
20
  :rtype: pandas.DataFrame
@@ -33,12 +34,17 @@ def futures_inventory_em(symbol: str = "沪铝") -> pd.DataFrame:
33
34
  data_json = r.json()
34
35
  temp_df = pd.DataFrame(data_json["result"]["data"])
35
36
  symbol_dict = dict(zip(temp_df["TRADE_TYPE"], temp_df["TRADE_CODE"]))
36
-
37
+ if symbol in symbol_dict.keys():
38
+ product_id = symbol_dict[symbol]
39
+ elif symbol in symbol_dict.values(): # 如果输入的是代码
40
+ product_id = symbol
41
+ else:
42
+ raise ValueError(f"请输入正确的 symbol, 可选项为: {symbol_dict}")
37
43
  url = "https://datacenter-web.eastmoney.com/api/data/v1/get"
38
44
  params = {
39
45
  "reportName": "RPT_FUTU_STOCKDATA",
40
46
  "columns": "SECURITY_CODE,TRADE_DATE,ON_WARRANT_NUM,ADDCHANGE",
41
- "filter": f"""(SECURITY_CODE="{symbol_dict[symbol]}")(TRADE_DATE>='2020-10-28')""",
47
+ "filter": f"""(SECURITY_CODE="{product_id}")(TRADE_DATE>='2020-10-28')""",
42
48
  "pageNumber": "1",
43
49
  "pageSize": "500",
44
50
  "sortTypes": "-1",
@@ -50,17 +56,16 @@ def futures_inventory_em(symbol: str = "沪铝") -> pd.DataFrame:
50
56
  r = requests.get(url, params=params)
51
57
  data_json = r.json()
52
58
  temp_df = pd.DataFrame(data_json["result"]["data"])
53
-
54
59
  temp_df.columns = ["-", "日期", "库存", "增减"]
55
60
  temp_df = temp_df[["日期", "库存", "增减"]]
56
61
  temp_df.sort_values(["日期"], inplace=True)
57
62
  temp_df.reset_index(inplace=True, drop=True)
58
63
  temp_df["库存"] = pd.to_numeric(temp_df["库存"], errors="coerce")
59
64
  temp_df["增减"] = pd.to_numeric(temp_df["增减"], errors="coerce")
60
- temp_df["日期"] = pd.to_datetime(temp_df["日期"]).dt.date
65
+ temp_df["日期"] = pd.to_datetime(temp_df["日期"], errors="coerce").dt.date
61
66
  return temp_df
62
67
 
63
68
 
64
69
  if __name__ == "__main__":
65
- futures_inventory_em_df = futures_inventory_em(symbol="豆一")
70
+ futures_inventory_em_df = futures_inventory_em(symbol="A")
66
71
  print(futures_inventory_em_df)
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
- Date: 2025/2/18 14:10
4
+ Date: 2025/2/26 17:00
5
5
  Desc: 东方财富-沪深板块-概念板块
6
6
  https://quote.eastmoney.com/center/boardlist.html#concept_board
7
7
  """
@@ -29,7 +29,91 @@ def stock_board_concept_name_em() -> pd.DataFrame:
29
29
  "ut": "bd1d9ddb04089700cf9c27f6f7426281",
30
30
  "fltt": "2",
31
31
  "invt": "2",
32
- "fid": "f12",
32
+ "fid": "f3",
33
+ "fs": "m:90 t:3 f:!50",
34
+ "fields": "f2,f3,f4,f8,f12,f14,f15,f16,f17,f18,f20,f21,f24,f25,f22,f33,f11,f62,f128,f124,f107,f104,f105,f136",
35
+ "_": "1626075887768",
36
+ }
37
+ r = requests.get(url, params=params)
38
+ data_json = r.json()
39
+ temp_df = pd.DataFrame(data_json["data"]["diff"]).T
40
+ temp_df.reset_index(inplace=True)
41
+ temp_df["index"] = range(1, len(temp_df) + 1)
42
+ temp_df.columns = [
43
+ "排名",
44
+ "最新价",
45
+ "涨跌幅",
46
+ "涨跌额",
47
+ "换手率",
48
+ "_",
49
+ "板块代码",
50
+ "板块名称",
51
+ "_",
52
+ "_",
53
+ "_",
54
+ "_",
55
+ "总市值",
56
+ "_",
57
+ "_",
58
+ "_",
59
+ "_",
60
+ "_",
61
+ "_",
62
+ "上涨家数",
63
+ "下跌家数",
64
+ "_",
65
+ "_",
66
+ "领涨股票",
67
+ "_",
68
+ "_",
69
+ "领涨股票-涨跌幅",
70
+ ]
71
+ temp_df = temp_df[
72
+ [
73
+ "排名",
74
+ "板块名称",
75
+ "板块代码",
76
+ "最新价",
77
+ "涨跌额",
78
+ "涨跌幅",
79
+ "总市值",
80
+ "换手率",
81
+ "上涨家数",
82
+ "下跌家数",
83
+ "领涨股票",
84
+ "领涨股票-涨跌幅",
85
+ ]
86
+ ]
87
+ temp_df["最新价"] = pd.to_numeric(temp_df["最新价"], errors="coerce")
88
+ temp_df["涨跌额"] = pd.to_numeric(temp_df["涨跌额"], errors="coerce")
89
+ temp_df["涨跌幅"] = pd.to_numeric(temp_df["涨跌幅"], errors="coerce")
90
+ temp_df["总市值"] = pd.to_numeric(temp_df["总市值"], errors="coerce")
91
+ temp_df["换手率"] = pd.to_numeric(temp_df["换手率"], errors="coerce")
92
+ temp_df["上涨家数"] = pd.to_numeric(temp_df["上涨家数"], errors="coerce")
93
+ temp_df["下跌家数"] = pd.to_numeric(temp_df["下跌家数"], errors="coerce")
94
+ temp_df["领涨股票-涨跌幅"] = pd.to_numeric(
95
+ temp_df["领涨股票-涨跌幅"], errors="coerce"
96
+ )
97
+ return temp_df
98
+
99
+
100
+ def stock_board_concept_spot_em() -> pd.DataFrame:
101
+ """
102
+ 东方财富网-行情中心-沪深京板块-概念板块-实时行情
103
+ https://quote.eastmoney.com/center/boardlist.html#concept_board
104
+ :return: 概念板块-实时行情
105
+ :rtype: pandas.DataFrame
106
+ """
107
+ url = "https://79.push2.eastmoney.com/api/qt/clist/get"
108
+ params = {
109
+ "pn": "1",
110
+ "pz": "50000",
111
+ "po": "1",
112
+ "np": "2",
113
+ "ut": "bd1d9ddb04089700cf9c27f6f7426281",
114
+ "fltt": "2",
115
+ "invt": "2",
116
+ "fid": "f3",
33
117
  "fs": "m:90 t:3 f:!50",
34
118
  "fields": "f2,f3,f4,f8,f12,f14,f15,f16,f17,f18,f20,f21,f24,f25,f22,f33,f11,f62,f128,f124,f107,f104,f105,f136",
35
119
  "_": "1626075887768",
@@ -98,7 +182,7 @@ def stock_board_concept_name_em() -> pd.DataFrame:
98
182
 
99
183
 
100
184
  def stock_board_concept_hist_em(
101
- symbol: str = "数字货币",
185
+ symbol: str = "绿色电力",
102
186
  period: str = "daily",
103
187
  start_date: str = "20220101",
104
188
  end_date: str = "20221128",
@@ -406,11 +490,14 @@ if __name__ == "__main__":
406
490
  stock_board_concept_em_df = stock_board_concept_name_em()
407
491
  print(stock_board_concept_em_df)
408
492
 
493
+ stock_board_concept_spot_em_df = stock_board_concept_spot_em()
494
+ print(stock_board_concept_spot_em_df)
495
+
409
496
  stock_board_concept_hist_em_df = stock_board_concept_hist_em(
410
497
  symbol="绿色电力",
411
498
  period="daily",
412
499
  start_date="20220101",
413
- end_date="20230806",
500
+ end_date="20250227",
414
501
  adjust="",
415
502
  )
416
503
  print(stock_board_concept_hist_em_df)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: akshare
3
- Version: 1.16.14
3
+ Version: 1.16.16
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
@@ -50,7 +50,7 @@ Dynamic: requires-dist
50
50
  Dynamic: requires-python
51
51
  Dynamic: summary
52
52
 
53
- **欢迎加入专注于财经数据和量化投资的知识社区,请点击[了解更多](https://akshare.akfamily.xyz/learn.html)**
53
+ **欢迎加入专注于财经数据和量化投资的知识社区,获取《AKShare-财经数据宝典》,请点击[了解更多](https://akshare.akfamily.xyz/learn.html)**
54
54
 
55
55
  **量化投研视频课程:《PyBroker-入门及实战》已经上架!《PyBroker-进阶及实战》正在更新!**
56
56
 
@@ -1,4 +1,4 @@
1
- akshare/__init__.py,sha256=4mlmIL5amiCUCmvjWCNa5qgYkRlrZoEjEkHd97XgMHY,188220
1
+ akshare/__init__.py,sha256=prx47KTjVEM_yjduO2LywB5h9TxVnalCrbb2TJ139u4,188363
2
2
  akshare/datasets.py,sha256=rKuRNZrqi6IMsZ9nyvO3Rx02js0tH3zMLjz8HQNAoPQ,963
3
3
  akshare/exceptions.py,sha256=WEJjIhSmJ_xXNW6grwV4nufE_cfmmyuhmueVGiN1VAg,878
4
4
  akshare/request.py,sha256=HtFFf9MhfEibR-ETWe-1Tts6ELU4VKSqA-ghaXjegQM,4252
@@ -117,7 +117,7 @@ akshare/futures/futures_hist_em.py,sha256=Q8I20qRjp2ujiJMCCNBvTHXmrIth22p2k6Kpvb
117
117
  akshare/futures/futures_hq_sina.py,sha256=eK1gEan4DPvpYmln8-tNnzh_J_733s95DBr--NqNYVA,9576
118
118
  akshare/futures/futures_index_ccidx.py,sha256=_kgWioCOpFNn8WUcL5qKHGb3rUHzrbrx2AszprKpBh4,4460
119
119
  akshare/futures/futures_inventory_99.py,sha256=0yqqF4oKJvMr0ihcgjB9i5pa5VMM4qVjv7wCqmXY6Pc,3356
120
- akshare/futures/futures_inventory_em.py,sha256=C5nt4F51WB-oc8o3GrMvEGo0SO2mIq_H1vHVl42vzT0,2340
120
+ akshare/futures/futures_inventory_em.py,sha256=59Rc1A0KAY7RHoRWH7j1mGTqMxD14otcWUD77E6FzRs,2627
121
121
  akshare/futures/futures_news_shmet.py,sha256=1epZ3MwDc-T2n1ie4SSDfvUaBiMpSL0Q_xb2VoZ_llU,2465
122
122
  akshare/futures/futures_roll_yield.py,sha256=RiwN0yYwzYy8zGhmTopBwJ37aUQ7Llwh3eQRzn0apaE,6135
123
123
  akshare/futures/futures_rule.py,sha256=38fJnUTohGqbwE65ZR1id7Oy-0DS-ODrGYsmx2jtGZ8,1571
@@ -231,7 +231,7 @@ akshare/stock/__init__.py,sha256=jSa9260d6aNZajaW68chI2mpPkDSXLOgi3eXrqo4MQ8,82
231
231
  akshare/stock/cons.py,sha256=0oyUW5Pu-iQ3qgh-TFemM_O5f1fAwVe-PsI4Qa8EYpQ,42956
232
232
  akshare/stock/stock_allotment_cninfo.py,sha256=OVjVdWp2XVRNbJvVgtgVVoBmPBJgBB4RyIIgA_9QHM8,6066
233
233
  akshare/stock/stock_ask_bid_em.py,sha256=nXQhYIpU4k7GUc7nthWC29zVS9GhYb9ppQTLD0gycF4,3438
234
- akshare/stock/stock_board_concept_em.py,sha256=FC_Hw-ZAgFJzg5uuAPSoY5sbgw8pkHqGqF86v7lvQnk,14095
234
+ akshare/stock/stock_board_concept_em.py,sha256=Inmp1_t3HYUZtESPEiWI8sppPagGUHuvh8v3DMl7cgM,16736
235
235
  akshare/stock/stock_board_industry_em.py,sha256=ViXBcqSfUnBSvCDo-D7ZRupd9PpI1uEQ19KMAuGxGuQ,16201
236
236
  akshare/stock/stock_cg_equity_mortgage.py,sha256=Pui5aWKKPwGuKjF_GNpejDzsMGNPrxiaJviLz3x2e9I,3426
237
237
  akshare/stock/stock_cg_guarantee.py,sha256=ts7qcQhhyN1PHB7Q4XlMn38HhfVvubOvky9RZfmUP94,3844
@@ -380,8 +380,8 @@ akshare/utils/token_process.py,sha256=K4rGXjh_tgugbRcyOK2h2x0jP3PT65IIK7nxhUKhOe
380
380
  akshare/utils/tqdm.py,sha256=MuPNwcswkOGjwWQOMWXi9ZvQ_RmW4obCWRj2i7HM7FE,847
381
381
  tests/__init__.py,sha256=gNzhlO0UPjFq6Ieb38kaVIODXv4cTDByrdohAZnDYt4,82
382
382
  tests/test_func.py,sha256=j1MGYbZI2if2j_LY1S4FLsf4qfq4NwVqD5wmRlv5Log,832
383
- akshare-1.16.14.dist-info/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
384
- akshare-1.16.14.dist-info/METADATA,sha256=8CJftkJjyPMyiqYwbxWyXw4WSlMU12uDP1B-7huLaiQ,13679
385
- akshare-1.16.14.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
386
- akshare-1.16.14.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
387
- akshare-1.16.14.dist-info/RECORD,,
383
+ akshare-1.16.16.dist-info/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
384
+ akshare-1.16.16.dist-info/METADATA,sha256=K8O_FccamgG_aLGLi1UrsaYWliTGqkT3zLBS-sqt6jE,13720
385
+ akshare-1.16.16.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
386
+ akshare-1.16.16.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
387
+ akshare-1.16.16.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.0)
2
+ Generator: setuptools (75.8.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5