akshare 1.16.10__py3-none-any.whl → 1.16.12__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 +3 -1
- akshare/bond/bond_zh_cov.py +13 -51
- akshare/index/index_zh_em.py +23 -62
- akshare/reits/reits_basic.py +15 -14
- akshare/stock/stock_fund_em.py +18 -18
- akshare/stock/stock_hk_famous.py +4 -4
- akshare/stock/stock_intraday_em.py +16 -56
- akshare/stock/stock_stop.py +6 -5
- akshare/stock/stock_us_famous.py +4 -4
- akshare/stock_feature/stock_hist_em.py +2 -2
- {akshare-1.16.10.dist-info → akshare-1.16.12.dist-info}/METADATA +1 -1
- {akshare-1.16.10.dist-info → akshare-1.16.12.dist-info}/RECORD +15 -15
- {akshare-1.16.10.dist-info → akshare-1.16.12.dist-info}/LICENSE +0 -0
- {akshare-1.16.10.dist-info → akshare-1.16.12.dist-info}/WHEEL +0 -0
- {akshare-1.16.10.dist-info → akshare-1.16.12.dist-info}/top_level.txt +0 -0
akshare/__init__.py
CHANGED
@@ -3019,9 +3019,11 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
|
|
3019
3019
|
1.16.8 fix: fix option_czce_daily interface
|
3020
3020
|
1.16.9 fix: fix stock_sse_deal_daily interface
|
3021
3021
|
1.16.10 fix: fix option_risk_analysis_em interface
|
3022
|
+
1.16.11 fix: fix stock_intraday_em interface
|
3023
|
+
1.16.12 fix: fix bond_zh_hs_cov_daily interface
|
3022
3024
|
"""
|
3023
3025
|
|
3024
|
-
__version__ = "1.16.
|
3026
|
+
__version__ = "1.16.12"
|
3025
3027
|
__author__ = "AKFamily"
|
3026
3028
|
|
3027
3029
|
import sys
|
akshare/bond/bond_zh_cov.py
CHANGED
@@ -1,12 +1,11 @@
|
|
1
1
|
#!/usr/bin/env python
|
2
2
|
# -*- coding:utf-8 -*-
|
3
3
|
"""
|
4
|
-
Date: 2025/2/
|
4
|
+
Date: 2025/2/24 18:50
|
5
5
|
Desc: 新浪财经-债券-沪深可转债-实时行情数据和历史行情数据
|
6
6
|
https://vip.stock.finance.sina.com.cn/mkt/#hskzz_z
|
7
7
|
"""
|
8
8
|
|
9
|
-
import math
|
10
9
|
import datetime
|
11
10
|
import re
|
12
11
|
|
@@ -96,9 +95,9 @@ def _code_id_map() -> dict:
|
|
96
95
|
url = "https://80.push2.eastmoney.com/api/qt/clist/get"
|
97
96
|
params = {
|
98
97
|
"pn": "1",
|
99
|
-
"pz": "
|
98
|
+
"pz": "50000",
|
100
99
|
"po": "1",
|
101
|
-
"np": "
|
100
|
+
"np": "2",
|
102
101
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
103
102
|
"fltt": "2",
|
104
103
|
"invt": "2",
|
@@ -109,28 +108,15 @@ def _code_id_map() -> dict:
|
|
109
108
|
}
|
110
109
|
r = requests.get(url, params=params)
|
111
110
|
data_json = r.json()
|
112
|
-
|
113
|
-
temp_list = []
|
114
|
-
tqdm = get_tqdm()
|
115
|
-
for page in tqdm(range(1, total_page + 1), leave=False):
|
116
|
-
params.update(
|
117
|
-
{
|
118
|
-
"pn": page,
|
119
|
-
}
|
120
|
-
)
|
121
|
-
r = requests.get(url, params=params, timeout=15)
|
122
|
-
data_json = r.json()
|
123
|
-
inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
|
124
|
-
temp_list.append(inner_temp_df)
|
125
|
-
temp_df = pd.concat(temp_list, ignore_index=True)
|
111
|
+
temp_df = pd.DataFrame(data_json["data"]["diff"]).T
|
126
112
|
temp_df["market_id"] = 1
|
127
113
|
temp_df.columns = ["sh_code", "sh_id"]
|
128
114
|
code_id_dict = dict(zip(temp_df["sh_code"], temp_df["sh_id"]))
|
129
115
|
params = {
|
130
116
|
"pn": "1",
|
131
|
-
"pz": "
|
117
|
+
"pz": "50000",
|
132
118
|
"po": "1",
|
133
|
-
"np": "
|
119
|
+
"np": "2",
|
134
120
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
135
121
|
"fltt": "2",
|
136
122
|
"invt": "2",
|
@@ -141,20 +127,7 @@ def _code_id_map() -> dict:
|
|
141
127
|
}
|
142
128
|
r = requests.get(url, params=params)
|
143
129
|
data_json = r.json()
|
144
|
-
|
145
|
-
temp_list = []
|
146
|
-
tqdm = get_tqdm()
|
147
|
-
for page in tqdm(range(1, total_page + 1), leave=False):
|
148
|
-
params.update(
|
149
|
-
{
|
150
|
-
"pn": page,
|
151
|
-
}
|
152
|
-
)
|
153
|
-
r = requests.get(url, params=params, timeout=15)
|
154
|
-
data_json = r.json()
|
155
|
-
inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
|
156
|
-
temp_list.append(inner_temp_df)
|
157
|
-
temp_df_sz = pd.concat(temp_list, ignore_index=True)
|
130
|
+
temp_df_sz = pd.DataFrame(data_json["data"]["diff"]).T
|
158
131
|
temp_df_sz["sz_id"] = 0
|
159
132
|
code_id_dict.update(dict(zip(temp_df_sz["f12"], temp_df_sz["sz_id"])))
|
160
133
|
return code_id_dict
|
@@ -505,9 +478,9 @@ def bond_cov_comparison() -> pd.DataFrame:
|
|
505
478
|
url = "https://16.push2.eastmoney.com/api/qt/clist/get"
|
506
479
|
params = {
|
507
480
|
"pn": "1",
|
508
|
-
"pz": "
|
481
|
+
"pz": "50000",
|
509
482
|
"po": "1",
|
510
|
-
"np": "
|
483
|
+
"np": "2",
|
511
484
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
512
485
|
"fltt": "2",
|
513
486
|
"invt": "2",
|
@@ -519,21 +492,8 @@ def bond_cov_comparison() -> pd.DataFrame:
|
|
519
492
|
}
|
520
493
|
r = requests.get(url, params=params)
|
521
494
|
text_data = r.text
|
522
|
-
|
523
|
-
|
524
|
-
temp_list = []
|
525
|
-
tqdm = get_tqdm()
|
526
|
-
for page in tqdm(range(1, total_page + 1), leave=False):
|
527
|
-
params.update(
|
528
|
-
{
|
529
|
-
"pn": page,
|
530
|
-
}
|
531
|
-
)
|
532
|
-
r = requests.get(url, params=params, timeout=15)
|
533
|
-
data_json = r.json()
|
534
|
-
inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
|
535
|
-
temp_list.append(inner_temp_df)
|
536
|
-
temp_df = pd.concat(temp_list, ignore_index=True)
|
495
|
+
json_data = demjson.decode(text_data)
|
496
|
+
temp_df = pd.DataFrame(json_data["data"]["diff"]).T
|
537
497
|
temp_df.reset_index(inplace=True)
|
538
498
|
temp_df["index"] = range(1, len(temp_df) + 1)
|
539
499
|
temp_df.columns = [
|
@@ -673,6 +633,8 @@ def bond_zh_cov_info(
|
|
673
633
|
data_json = r.json()
|
674
634
|
temp_df = pd.DataFrame.from_dict(data_json["result"]["data"])
|
675
635
|
return temp_df
|
636
|
+
else:
|
637
|
+
return pd.DataFrame()
|
676
638
|
|
677
639
|
|
678
640
|
def bond_zh_cov_value_analysis(symbol: str = "113527") -> pd.DataFrame:
|
akshare/index/index_zh_em.py
CHANGED
@@ -1,18 +1,15 @@
|
|
1
1
|
#!/usr/bin/env python
|
2
2
|
# -*- coding:utf-8 -*-
|
3
3
|
"""
|
4
|
-
Date: 2025/2/
|
4
|
+
Date: 2025/2/24 18:20
|
5
5
|
Desc: 东方财富网-指数行情数据
|
6
6
|
"""
|
7
7
|
|
8
|
-
import math
|
9
8
|
from functools import lru_cache
|
10
9
|
|
11
10
|
import pandas as pd
|
12
11
|
import requests
|
13
12
|
|
14
|
-
from akshare.utils.tqdm import get_tqdm
|
15
|
-
|
16
13
|
|
17
14
|
@lru_cache()
|
18
15
|
def index_code_id_map_em() -> dict:
|
@@ -25,105 +22,69 @@ def index_code_id_map_em() -> dict:
|
|
25
22
|
url = "https://80.push2.eastmoney.com/api/qt/clist/get"
|
26
23
|
params = {
|
27
24
|
"pn": "1",
|
28
|
-
"pz": "
|
25
|
+
"pz": "50000",
|
29
26
|
"po": "1",
|
30
|
-
"np": "
|
27
|
+
"np": "2",
|
31
28
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
32
29
|
"fltt": "2",
|
33
30
|
"invt": "2",
|
34
|
-
"fid": "
|
31
|
+
"fid": "f3",
|
35
32
|
"fs": "m:1 t:2,m:1 t:23",
|
36
33
|
"fields": "f12",
|
37
34
|
"_": "1623833739532",
|
38
35
|
}
|
39
36
|
r = requests.get(url, params=params)
|
40
37
|
data_json = r.json()
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
for page in tqdm(range(1, total_page + 1), leave=False):
|
45
|
-
params.update(
|
46
|
-
{
|
47
|
-
"pn": page,
|
48
|
-
}
|
49
|
-
)
|
50
|
-
r = requests.get(url, params=params, timeout=15)
|
51
|
-
data_json = r.json()
|
52
|
-
inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
|
53
|
-
temp_list.append(inner_temp_df)
|
54
|
-
temp_df = pd.concat(temp_list, ignore_index=True)
|
38
|
+
if not data_json["data"]["diff"]:
|
39
|
+
return dict()
|
40
|
+
temp_df = pd.DataFrame(data_json["data"]["diff"]).T
|
55
41
|
temp_df["market_id"] = 1
|
56
42
|
temp_df.columns = ["sh_code", "sh_id"]
|
57
43
|
code_id_dict = dict(zip(temp_df["sh_code"], temp_df["sh_id"]))
|
58
44
|
params = {
|
59
45
|
"pn": "1",
|
60
|
-
"pz": "
|
46
|
+
"pz": "10000",
|
61
47
|
"po": "1",
|
62
|
-
"np": "
|
48
|
+
"np": "2",
|
63
49
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
64
50
|
"fltt": "2",
|
65
51
|
"invt": "2",
|
66
|
-
"fid": "
|
52
|
+
"fid": "f3",
|
67
53
|
"fs": "m:0 t:6,m:0 t:80",
|
68
54
|
"fields": "f12",
|
69
55
|
"_": "1623833739532",
|
70
56
|
}
|
71
57
|
r = requests.get(url, params=params)
|
72
58
|
data_json = r.json()
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
for page in tqdm(range(1, total_page + 1), leave=False):
|
77
|
-
params.update(
|
78
|
-
{
|
79
|
-
"pn": page,
|
80
|
-
}
|
81
|
-
)
|
82
|
-
r = requests.get(url, params=params, timeout=15)
|
83
|
-
data_json = r.json()
|
84
|
-
inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
|
85
|
-
temp_list.append(inner_temp_df)
|
86
|
-
temp_df_sz = pd.concat(temp_list, ignore_index=True)
|
59
|
+
if not data_json["data"]["diff"]:
|
60
|
+
return dict()
|
61
|
+
temp_df_sz = pd.DataFrame(data_json["data"]["diff"]).T
|
87
62
|
temp_df_sz["sz_id"] = 0
|
88
63
|
code_id_dict.update(dict(zip(temp_df_sz["f12"], temp_df_sz["sz_id"])))
|
89
|
-
|
90
64
|
params = {
|
91
65
|
"pn": "1",
|
92
|
-
"pz": "
|
66
|
+
"pz": "10000",
|
93
67
|
"po": "1",
|
94
|
-
"np": "
|
68
|
+
"np": "2",
|
95
69
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
96
70
|
"fltt": "2",
|
97
71
|
"invt": "2",
|
98
|
-
"fid": "
|
72
|
+
"fid": "f3",
|
99
73
|
"fs": "m:0 t:81 s:2048",
|
100
74
|
"fields": "f12",
|
101
75
|
"_": "1623833739532",
|
102
76
|
}
|
103
77
|
r = requests.get(url, params=params)
|
104
78
|
data_json = r.json()
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
for page in tqdm(range(1, total_page + 1), leave=False):
|
109
|
-
params.update(
|
110
|
-
{
|
111
|
-
"pn": page,
|
112
|
-
}
|
113
|
-
)
|
114
|
-
r = requests.get(url, params=params, timeout=15)
|
115
|
-
data_json = r.json()
|
116
|
-
inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
|
117
|
-
temp_list.append(inner_temp_df)
|
118
|
-
temp_df_sz = pd.concat(temp_list, ignore_index=True)
|
79
|
+
if not data_json["data"]["diff"]:
|
80
|
+
return dict()
|
81
|
+
temp_df_sz = pd.DataFrame(data_json["data"]["diff"]).T
|
119
82
|
temp_df_sz["bj_id"] = 0
|
120
83
|
code_id_dict.update(dict(zip(temp_df_sz["f12"], temp_df_sz["bj_id"])))
|
121
84
|
code_id_dict = {
|
122
85
|
key: value - 1 if value == 1 else value + 1
|
123
86
|
for key, value in code_id_dict.items()
|
124
87
|
}
|
125
|
-
# 单独增加品种
|
126
|
-
code_id_dict.update({"932000": 2})
|
127
88
|
return code_id_dict
|
128
89
|
|
129
90
|
|
@@ -364,7 +325,7 @@ def index_zh_a_hist_min_em(
|
|
364
325
|
temp_df["时间"] = pd.to_datetime(temp_df["时间"]).astype(str)
|
365
326
|
return temp_df
|
366
327
|
else:
|
367
|
-
url = "
|
328
|
+
url = "https://push2his.eastmoney.com/api/qt/stock/kline/get"
|
368
329
|
try:
|
369
330
|
params = {
|
370
331
|
"secid": f"{code_id_dict[symbol]}.{symbol}",
|
@@ -478,8 +439,8 @@ if __name__ == "__main__":
|
|
478
439
|
|
479
440
|
index_zh_a_hist_min_em_df = index_zh_a_hist_min_em(
|
480
441
|
symbol="000001",
|
481
|
-
period="
|
482
|
-
start_date="2025-02-
|
483
|
-
end_date="2025-02-
|
442
|
+
period="1",
|
443
|
+
start_date="2025-02-24 09:30:00",
|
444
|
+
end_date="2025-02-24 19:00:00",
|
484
445
|
)
|
485
446
|
print(index_zh_a_hist_min_em_df)
|
akshare/reits/reits_basic.py
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
#!/usr/bin/env python
|
2
2
|
# -*- coding:utf-8 -*-
|
3
3
|
"""
|
4
|
-
Date:
|
4
|
+
Date: 2025/2/24 18:00
|
5
5
|
Desc: REITs 行情及信息
|
6
6
|
https://quote.eastmoney.com/center/gridlist.html#fund_reits_all
|
7
7
|
https://www.jisilu.cn/data/cnreits/#CnReits
|
8
8
|
"""
|
9
|
+
|
9
10
|
import pandas as pd
|
10
11
|
import requests
|
11
12
|
|
@@ -17,12 +18,12 @@ def reits_realtime_em() -> pd.DataFrame:
|
|
17
18
|
:return: 沪深 REITs-实时行情
|
18
19
|
:rtype: pandas.DataFrame
|
19
20
|
"""
|
20
|
-
url = "
|
21
|
+
url = "https://95.push2.eastmoney.com/api/qt/clist/get"
|
21
22
|
params = {
|
22
23
|
"pn": "1",
|
23
|
-
"pz": "
|
24
|
+
"pz": "50000",
|
24
25
|
"po": "1",
|
25
|
-
"np": "
|
26
|
+
"np": "2",
|
26
27
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
27
28
|
"fltt": "2",
|
28
29
|
"invt": "2",
|
@@ -33,7 +34,7 @@ def reits_realtime_em() -> pd.DataFrame:
|
|
33
34
|
}
|
34
35
|
r = requests.get(url, params=params)
|
35
36
|
data_json = r.json()
|
36
|
-
temp_df = pd.DataFrame(data_json["data"]["diff"])
|
37
|
+
temp_df = pd.DataFrame(data_json["data"]["diff"]).T
|
37
38
|
temp_df.reset_index(inplace=True)
|
38
39
|
temp_df["index"] = range(1, len(temp_df) + 1)
|
39
40
|
temp_df.rename(
|
@@ -69,15 +70,15 @@ def reits_realtime_em() -> pd.DataFrame:
|
|
69
70
|
"昨收",
|
70
71
|
]
|
71
72
|
]
|
72
|
-
temp_df[
|
73
|
-
temp_df[
|
74
|
-
temp_df[
|
75
|
-
temp_df[
|
76
|
-
temp_df[
|
77
|
-
temp_df[
|
78
|
-
temp_df[
|
79
|
-
temp_df[
|
80
|
-
temp_df[
|
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(temp_df["开盘价"], errors="coerce")
|
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")
|
81
82
|
return temp_df
|
82
83
|
|
83
84
|
|
akshare/stock/stock_fund_em.py
CHANGED
@@ -636,7 +636,7 @@ def _get_stock_sector_fund_flow_summary_code() -> dict:
|
|
636
636
|
}
|
637
637
|
params = {
|
638
638
|
"pn": "1",
|
639
|
-
"pz": "
|
639
|
+
"pz": "50000",
|
640
640
|
"po": "1",
|
641
641
|
"np": "2",
|
642
642
|
"ut": "b2884a393a59ad64002292a3e90d46a5",
|
@@ -675,9 +675,9 @@ def stock_sector_fund_flow_summary(
|
|
675
675
|
params = {
|
676
676
|
"fid": "f62",
|
677
677
|
"po": "1",
|
678
|
-
"pz": "
|
678
|
+
"pz": "5000",
|
679
679
|
"pn": "1",
|
680
|
-
"np": "
|
680
|
+
"np": "2",
|
681
681
|
"fltt": "2",
|
682
682
|
"invt": "2",
|
683
683
|
"fs": f"b:{code_name_map[symbol]}",
|
@@ -685,9 +685,9 @@ def stock_sector_fund_flow_summary(
|
|
685
685
|
}
|
686
686
|
r = requests.get(url, params=params)
|
687
687
|
data_json = r.json()
|
688
|
-
temp_df = pd.DataFrame(data_json["data"]["diff"])
|
688
|
+
temp_df = pd.DataFrame(data_json["data"]["diff"]).T
|
689
689
|
temp_df.reset_index(inplace=True)
|
690
|
-
temp_df["index"] = temp_df["index"] + 1
|
690
|
+
temp_df["index"] = temp_df["index"].astype(int) + 1
|
691
691
|
temp_df.rename(
|
692
692
|
columns={
|
693
693
|
"index": "序号",
|
@@ -764,9 +764,9 @@ def stock_sector_fund_flow_summary(
|
|
764
764
|
params = {
|
765
765
|
"fid": "f164",
|
766
766
|
"po": "1",
|
767
|
-
"pz": "
|
767
|
+
"pz": "50000",
|
768
768
|
"pn": "1",
|
769
|
-
"np": "
|
769
|
+
"np": "2",
|
770
770
|
"fltt": "2",
|
771
771
|
"invt": "2",
|
772
772
|
"fs": f"b:{code_name_map[symbol]}",
|
@@ -774,9 +774,9 @@ def stock_sector_fund_flow_summary(
|
|
774
774
|
}
|
775
775
|
r = requests.get(url, params=params)
|
776
776
|
data_json = r.json()
|
777
|
-
temp_df = pd.DataFrame(data_json["data"]["diff"])
|
777
|
+
temp_df = pd.DataFrame(data_json["data"]["diff"]).T
|
778
778
|
temp_df.reset_index(inplace=True)
|
779
|
-
temp_df["index"] = temp_df["index"] + 1
|
779
|
+
temp_df["index"] = temp_df["index"].astype(int) + 1
|
780
780
|
temp_df.rename(
|
781
781
|
columns={
|
782
782
|
"index": "序号",
|
@@ -853,9 +853,9 @@ def stock_sector_fund_flow_summary(
|
|
853
853
|
params = {
|
854
854
|
"fid": "f174",
|
855
855
|
"po": "1",
|
856
|
-
"pz": "
|
856
|
+
"pz": "50000",
|
857
857
|
"pn": "1",
|
858
|
-
"np": "
|
858
|
+
"np": "2",
|
859
859
|
"fltt": "2",
|
860
860
|
"invt": "2",
|
861
861
|
"fs": f"b:{code_name_map[symbol]}",
|
@@ -863,9 +863,9 @@ def stock_sector_fund_flow_summary(
|
|
863
863
|
}
|
864
864
|
r = requests.get(url, params=params)
|
865
865
|
data_json = r.json()
|
866
|
-
temp_df = pd.DataFrame(data_json["data"]["diff"])
|
866
|
+
temp_df = pd.DataFrame(data_json["data"]["diff"]).T
|
867
867
|
temp_df.reset_index(inplace=True)
|
868
|
-
temp_df["index"] = temp_df["index"] + 1
|
868
|
+
temp_df["index"] = temp_df["index"].astype(int) + 1
|
869
869
|
temp_df.rename(
|
870
870
|
columns={
|
871
871
|
"index": "序号",
|
@@ -942,7 +942,7 @@ def stock_sector_fund_flow_summary(
|
|
942
942
|
return pd.DataFrame()
|
943
943
|
|
944
944
|
|
945
|
-
def stock_sector_fund_flow_hist(symbol: str = "
|
945
|
+
def stock_sector_fund_flow_hist(symbol: str = "汽车服务") -> pd.DataFrame:
|
946
946
|
"""
|
947
947
|
东方财富网-数据中心-资金流向-行业资金流-行业历史资金流
|
948
948
|
https://data.eastmoney.com/bkzj/BK1034.html
|
@@ -1045,7 +1045,7 @@ def _get_stock_concept_fund_flow_summary_code() -> dict:
|
|
1045
1045
|
}
|
1046
1046
|
params = {
|
1047
1047
|
"pn": "1",
|
1048
|
-
"pz": "
|
1048
|
+
"pz": "50000",
|
1049
1049
|
"po": "1",
|
1050
1050
|
"np": "2",
|
1051
1051
|
"fields": "f12,f13,f14,f62",
|
@@ -1061,7 +1061,7 @@ def _get_stock_concept_fund_flow_summary_code() -> dict:
|
|
1061
1061
|
return name_code_map
|
1062
1062
|
|
1063
1063
|
|
1064
|
-
def stock_concept_fund_flow_hist(symbol: str = "
|
1064
|
+
def stock_concept_fund_flow_hist(symbol: str = "数据要素") -> pd.DataFrame:
|
1065
1065
|
"""
|
1066
1066
|
东方财富网-数据中心-资金流向-概念资金流-概念历史资金流
|
1067
1067
|
https://data.eastmoney.com/bkzj/BK0574.html
|
@@ -1302,10 +1302,10 @@ if __name__ == "__main__":
|
|
1302
1302
|
)
|
1303
1303
|
print(stock_sector_fund_flow_summary_df)
|
1304
1304
|
|
1305
|
-
stock_sector_fund_flow_hist_df = stock_sector_fund_flow_hist(symbol="
|
1305
|
+
stock_sector_fund_flow_hist_df = stock_sector_fund_flow_hist(symbol="汽车服务")
|
1306
1306
|
print(stock_sector_fund_flow_hist_df)
|
1307
1307
|
|
1308
|
-
stock_concept_fund_flow_hist_df = stock_concept_fund_flow_hist(symbol="
|
1308
|
+
stock_concept_fund_flow_hist_df = stock_concept_fund_flow_hist(symbol="数据要素")
|
1309
1309
|
print(stock_concept_fund_flow_hist_df)
|
1310
1310
|
|
1311
1311
|
stock_main_fund_flow_df = stock_main_fund_flow(symbol="全部股票")
|
akshare/stock/stock_hk_famous.py
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env python
|
2
2
|
# -*- coding:utf-8 -*-
|
3
3
|
"""
|
4
|
-
Date:
|
4
|
+
Date: 2025/2/24 18:30
|
5
5
|
Desc: 东方财富网-行情中心-港股市场-知名港股
|
6
6
|
https://quote.eastmoney.com/center/gridlist.html#hk_wellknown
|
7
7
|
"""
|
@@ -20,9 +20,9 @@ def stock_hk_famous_spot_em() -> pd.DataFrame:
|
|
20
20
|
url = "https://69.push2.eastmoney.com/api/qt/clist/get"
|
21
21
|
params = {
|
22
22
|
"pn": "1",
|
23
|
-
"pz": "
|
23
|
+
"pz": "50000",
|
24
24
|
"po": "1",
|
25
|
-
"np": "
|
25
|
+
"np": "2",
|
26
26
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
27
27
|
"fltt": "2",
|
28
28
|
"invt": "2",
|
@@ -36,7 +36,7 @@ def stock_hk_famous_spot_em() -> pd.DataFrame:
|
|
36
36
|
}
|
37
37
|
r = requests.get(url, params=params)
|
38
38
|
data_json = r.json()
|
39
|
-
temp_df = pd.DataFrame(data_json["data"]["diff"])
|
39
|
+
temp_df = pd.DataFrame(data_json["data"]["diff"]).T
|
40
40
|
temp_df.columns = [
|
41
41
|
"_",
|
42
42
|
"最新价",
|
@@ -1,20 +1,17 @@
|
|
1
1
|
#!/usr/bin/env python
|
2
2
|
# -*- coding:utf-8 -*-
|
3
3
|
"""
|
4
|
-
Date: 2025/2/
|
4
|
+
Date: 2025/2/24 18:00
|
5
5
|
Desc: 东财财富-日内分时数据
|
6
6
|
https://quote.eastmoney.com/f1.html?newcode=0.000001
|
7
7
|
"""
|
8
8
|
|
9
9
|
import json
|
10
|
-
import math
|
11
10
|
from functools import lru_cache
|
12
11
|
|
13
12
|
import pandas as pd
|
14
13
|
import requests
|
15
14
|
|
16
|
-
from akshare.utils.tqdm import get_tqdm
|
17
|
-
|
18
15
|
|
19
16
|
@lru_cache()
|
20
17
|
def __code_id_map_em() -> dict:
|
@@ -24,16 +21,16 @@ def __code_id_map_em() -> dict:
|
|
24
21
|
:return: 股票和市场代码
|
25
22
|
:rtype: dict
|
26
23
|
"""
|
27
|
-
url = "
|
24
|
+
url = "https://80.push2.eastmoney.com/api/qt/clist/get"
|
28
25
|
params = {
|
29
26
|
"pn": "1",
|
30
|
-
"pz": "
|
27
|
+
"pz": "50000",
|
31
28
|
"po": "1",
|
32
|
-
"np": "
|
29
|
+
"np": "2",
|
33
30
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
34
31
|
"fltt": "2",
|
35
32
|
"invt": "2",
|
36
|
-
"fid": "
|
33
|
+
"fid": "f3",
|
37
34
|
"fs": "m:1 t:2,m:1 t:23",
|
38
35
|
"fields": "f12",
|
39
36
|
"_": "1623833739532",
|
@@ -42,32 +39,19 @@ def __code_id_map_em() -> dict:
|
|
42
39
|
data_json = r.json()
|
43
40
|
if not data_json["data"]["diff"]:
|
44
41
|
return dict()
|
45
|
-
|
46
|
-
temp_list = []
|
47
|
-
tqdm = get_tqdm()
|
48
|
-
for page in tqdm(range(1, total_page + 1), leave=False):
|
49
|
-
params.update(
|
50
|
-
{
|
51
|
-
"pn": page,
|
52
|
-
}
|
53
|
-
)
|
54
|
-
r = requests.get(url, params=params, timeout=15)
|
55
|
-
data_json = r.json()
|
56
|
-
inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
|
57
|
-
temp_list.append(inner_temp_df)
|
58
|
-
temp_df = pd.concat(temp_list, ignore_index=True)
|
42
|
+
temp_df = pd.DataFrame(data_json["data"]["diff"]).T
|
59
43
|
temp_df["market_id"] = 1
|
60
44
|
temp_df.columns = ["sh_code", "sh_id"]
|
61
45
|
code_id_dict = dict(zip(temp_df["sh_code"], temp_df["sh_id"]))
|
62
46
|
params = {
|
63
47
|
"pn": "1",
|
64
|
-
"pz": "
|
48
|
+
"pz": "50000",
|
65
49
|
"po": "1",
|
66
|
-
"np": "
|
50
|
+
"np": "2",
|
67
51
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
68
52
|
"fltt": "2",
|
69
53
|
"invt": "2",
|
70
|
-
"fid": "
|
54
|
+
"fid": "f3",
|
71
55
|
"fs": "m:0 t:6,m:0 t:80",
|
72
56
|
"fields": "f12",
|
73
57
|
"_": "1623833739532",
|
@@ -76,31 +60,18 @@ def __code_id_map_em() -> dict:
|
|
76
60
|
data_json = r.json()
|
77
61
|
if not data_json["data"]["diff"]:
|
78
62
|
return dict()
|
79
|
-
|
80
|
-
temp_list = []
|
81
|
-
tqdm = get_tqdm()
|
82
|
-
for page in tqdm(range(1, total_page + 1), leave=False):
|
83
|
-
params.update(
|
84
|
-
{
|
85
|
-
"pn": page,
|
86
|
-
}
|
87
|
-
)
|
88
|
-
r = requests.get(url, params=params, timeout=15)
|
89
|
-
data_json = r.json()
|
90
|
-
inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
|
91
|
-
temp_list.append(inner_temp_df)
|
92
|
-
temp_df_sz = pd.concat(temp_list, ignore_index=True)
|
63
|
+
temp_df_sz = pd.DataFrame(data_json["data"]["diff"]).T
|
93
64
|
temp_df_sz["sz_id"] = 0
|
94
65
|
code_id_dict.update(dict(zip(temp_df_sz["f12"], temp_df_sz["sz_id"])))
|
95
66
|
params = {
|
96
67
|
"pn": "1",
|
97
|
-
"pz": "
|
68
|
+
"pz": "50000",
|
98
69
|
"po": "1",
|
99
|
-
"np": "
|
70
|
+
"np": "2",
|
100
71
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
101
72
|
"fltt": "2",
|
102
73
|
"invt": "2",
|
103
|
-
"fid": "
|
74
|
+
"fid": "f3",
|
104
75
|
"fs": "m:0 t:81 s:2048",
|
105
76
|
"fields": "f12",
|
106
77
|
"_": "1623833739532",
|
@@ -109,20 +80,7 @@ def __code_id_map_em() -> dict:
|
|
109
80
|
data_json = r.json()
|
110
81
|
if not data_json["data"]["diff"]:
|
111
82
|
return dict()
|
112
|
-
|
113
|
-
temp_list = []
|
114
|
-
tqdm = get_tqdm()
|
115
|
-
for page in tqdm(range(1, total_page + 1), leave=False):
|
116
|
-
params.update(
|
117
|
-
{
|
118
|
-
"pn": page,
|
119
|
-
}
|
120
|
-
)
|
121
|
-
r = requests.get(url, params=params, timeout=15)
|
122
|
-
data_json = r.json()
|
123
|
-
inner_temp_df = pd.DataFrame(data_json["data"]["diff"])
|
124
|
-
temp_list.append(inner_temp_df)
|
125
|
-
temp_df_sz = pd.concat(temp_list, ignore_index=True)
|
83
|
+
temp_df_sz = pd.DataFrame(data_json["data"]["diff"]).T
|
126
84
|
temp_df_sz["bj_id"] = 0
|
127
85
|
code_id_dict.update(dict(zip(temp_df_sz["f12"], temp_df_sz["bj_id"])))
|
128
86
|
return code_id_dict
|
@@ -163,7 +121,9 @@ def stock_intraday_em(symbol: str = "000001") -> pd.DataFrame:
|
|
163
121
|
"secid": f"{code_id_map_em_dict[symbol]}.{symbol}",
|
164
122
|
"wbp2u": "|0|0|0|web",
|
165
123
|
}
|
124
|
+
|
166
125
|
big_df = pd.DataFrame() # 创建一个空的 DataFrame
|
126
|
+
|
167
127
|
for event in __event_stream(url, params):
|
168
128
|
# 从每个事件的数据行中删除 "data: ",然后解析 JSON
|
169
129
|
event_json = json.loads(event.replace("data: ", ""))
|
akshare/stock/stock_stop.py
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
#!/usr/bin/env python
|
2
2
|
# -*- coding:utf-8 -*-
|
3
3
|
"""
|
4
|
-
Date:
|
4
|
+
Date: 2025/2/24 18:33
|
5
5
|
Desc: 两网及退市
|
6
6
|
https://quote.eastmoney.com/center/gridlist.html#staq_net_board
|
7
7
|
"""
|
8
|
+
|
8
9
|
import pandas as pd
|
9
10
|
import requests
|
10
11
|
|
@@ -16,12 +17,12 @@ def stock_staq_net_stop() -> pd.DataFrame:
|
|
16
17
|
:return: 两网及退市
|
17
18
|
:rtype: pandas.DataFrame
|
18
19
|
"""
|
19
|
-
url = "
|
20
|
+
url = "https://5.push2.eastmoney.com/api/qt/clist/get"
|
20
21
|
params = {
|
21
22
|
"pn": "1",
|
22
|
-
"pz": "
|
23
|
+
"pz": "50000",
|
23
24
|
"po": "1",
|
24
|
-
"np": "
|
25
|
+
"np": "2",
|
25
26
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
26
27
|
"fltt": "2",
|
27
28
|
"invt": "2",
|
@@ -32,7 +33,7 @@ def stock_staq_net_stop() -> pd.DataFrame:
|
|
32
33
|
}
|
33
34
|
r = requests.get(url, params=params)
|
34
35
|
data_json = r.json()
|
35
|
-
temp_df = pd.DataFrame(data_json["data"]["diff"])
|
36
|
+
temp_df = pd.DataFrame(data_json["data"]["diff"]).T
|
36
37
|
temp_df.reset_index(inplace=True)
|
37
38
|
temp_df["index"] = temp_df.index + 1
|
38
39
|
temp_df.columns = ["序号", "代码", "名称"]
|
akshare/stock/stock_us_famous.py
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env python
|
2
2
|
# -*- coding:utf-8 -*-
|
3
3
|
"""
|
4
|
-
Date:
|
4
|
+
Date: 2025/2/24 18:30
|
5
5
|
Desc: 东方财富网-行情中心-美股市场-知名美股
|
6
6
|
https://quote.eastmoney.com/center/gridlist.html#us_wellknown
|
7
7
|
"""
|
@@ -30,9 +30,9 @@ def stock_us_famous_spot_em(symbol: str = "科技类") -> pd.DataFrame:
|
|
30
30
|
url = "https://69.push2.eastmoney.com/api/qt/clist/get"
|
31
31
|
params = {
|
32
32
|
"pn": "1",
|
33
|
-
"pz": "
|
33
|
+
"pz": "50000",
|
34
34
|
"po": "1",
|
35
|
-
"np": "
|
35
|
+
"np": "2",
|
36
36
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
37
37
|
"fltt": "2",
|
38
38
|
"invt": "2",
|
@@ -44,7 +44,7 @@ def stock_us_famous_spot_em(symbol: str = "科技类") -> pd.DataFrame:
|
|
44
44
|
}
|
45
45
|
r = requests.get(url, params=params)
|
46
46
|
data_json = r.json()
|
47
|
-
temp_df = pd.DataFrame(data_json["data"]["diff"])
|
47
|
+
temp_df = pd.DataFrame(data_json["data"]["diff"]).T
|
48
48
|
temp_df.columns = [
|
49
49
|
"_",
|
50
50
|
"最新价",
|
@@ -482,7 +482,7 @@ def stock_new_a_spot_em() -> pd.DataFrame:
|
|
482
482
|
"pn": "1",
|
483
483
|
"pz": "50000",
|
484
484
|
"po": "1",
|
485
|
-
"np": "
|
485
|
+
"np": "2",
|
486
486
|
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
|
487
487
|
"fltt": "2",
|
488
488
|
"invt": "2",
|
@@ -497,7 +497,7 @@ def stock_new_a_spot_em() -> pd.DataFrame:
|
|
497
497
|
data_json = r.json()
|
498
498
|
if not data_json["data"]["diff"]:
|
499
499
|
return pd.DataFrame()
|
500
|
-
temp_df = pd.DataFrame(data_json["data"]["diff"])
|
500
|
+
temp_df = pd.DataFrame(data_json["data"]["diff"]).T
|
501
501
|
temp_df.columns = [
|
502
502
|
"_",
|
503
503
|
"最新价",
|
@@ -1,4 +1,4 @@
|
|
1
|
-
akshare/__init__.py,sha256=
|
1
|
+
akshare/__init__.py,sha256=y1ICmG9b6wRbWBFgtOpzo5zqzineoLFjo_cj-bDWMyw,188123
|
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
|
@@ -30,7 +30,7 @@ akshare/bond/bond_info_cm.py,sha256=VBu9UM9tUcGDRV07pndU9yttLDF_Nk3b0vU0n65qpHs,
|
|
30
30
|
akshare/bond/bond_issue_cninfo.py,sha256=tPoZhF-_sIX9ztCKB0K0-Z4Kd9b-389bP3_CdFK7Wb0,21672
|
31
31
|
akshare/bond/bond_nafmii.py,sha256=cekcobyXKMG1zDuM8wHWOn__SuWELxYmUwfGVmLRP40,2155
|
32
32
|
akshare/bond/bond_summary.py,sha256=ECwCRcs5YMIro4I1Yayf6SZ8nz1Hr97RhmKT6aGaQDg,3581
|
33
|
-
akshare/bond/bond_zh_cov.py,sha256=
|
33
|
+
akshare/bond/bond_zh_cov.py,sha256=b5TPHCgqdblMPFR8lxUNLwvLWHn90q--IF2GlmCCTTU,23799
|
34
34
|
akshare/bond/bond_zh_sina.py,sha256=msj7upgqaCTzC_MxzhUm7hVKtzHeWRUjlcjvZn2zlbw,4654
|
35
35
|
akshare/bond/cons.py,sha256=SGqjMqRYwJlEb8UczxdcrtcD7I2SAVULXARGEedEQfE,1792
|
36
36
|
akshare/cal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -173,7 +173,7 @@ akshare/index/index_sugar.py,sha256=B_Nj9Q6JP-Y_d7myZ0C79izTxxrbuZIp1Vv_CilVMOc,
|
|
173
173
|
akshare/index/index_sw.py,sha256=hETMmFszQb7JDY8UHjLK8szfwkr7Ui_6QcseOoEfxaI,10456
|
174
174
|
akshare/index/index_yw.py,sha256=6FF38kooLQulnMTqAd1__TNWip4XC1VA72k3T049xYc,4319
|
175
175
|
akshare/index/index_zh_a_scope.py,sha256=4Ej2Gnqtd66EBiI67sQZKhblcIJXdD5CoMIJYD_KwYU,1367
|
176
|
-
akshare/index/index_zh_em.py,sha256=
|
176
|
+
akshare/index/index_zh_em.py,sha256=5UseU40Mk-XO3vyTbrq6GHiLdG4_-c5iZXHVdCNw4o0,16362
|
177
177
|
akshare/interest_rate/__init__.py,sha256=O6dl1roEQUWwtXgRpa6wOABUU7MH0YmFDrkfhBpYOX4,81
|
178
178
|
akshare/interest_rate/interbank_rate_em.py,sha256=iKvmWxM4bpl9JgHNvavq0yhzMRq69BPEON1cGcWJrf4,4549
|
179
179
|
akshare/movie/__init__.py,sha256=YzijIIzvGpcc9hORC6qJSEK6vkjH5c4Docb5tQq2iHs,82
|
@@ -220,7 +220,7 @@ akshare/qhkc_web/qhkc_tool.py,sha256=pkazsrQQ-pAQgERzHxXWHnEI1iZvo-dGO089c4LGHT8
|
|
220
220
|
akshare/rate/__init__.py,sha256=gXRhfZhrFm7iIQMmkNkl-ZQUyim2wHyZLVllHQlwO1Q,83
|
221
221
|
akshare/rate/repo_rate.py,sha256=BvTBSQrIwNurGErFwmNW9WjfCbOayJl8dNhs6eqUgE4,4243
|
222
222
|
akshare/reits/__init__.py,sha256=0MO0aWWC8jQBth2IPl3W63vZKvuDb1OJqIpHE-sCQVU,82
|
223
|
-
akshare/reits/reits_basic.py,sha256=
|
223
|
+
akshare/reits/reits_basic.py,sha256=jTOvS1uS_Yxx8RihXcxOr8BiZZtOFi9SG4Ixanfla2A,2737
|
224
224
|
akshare/sport/__init__.py,sha256=aMsxmuOMZFkcI8tGmQanhPyPwyBpdeApAWyCtDRKMeg,81
|
225
225
|
akshare/sport/sport_olympic.py,sha256=CB1cvLpz2BWuadfonhHuQ17Qxt9X_3ks0Zc5Bff2w9k,818
|
226
226
|
akshare/spot/__init__.py,sha256=VGuha94pXYoezmMs3F3Q_ofaN8RZIrkJ2NtVv8hWCjY,83
|
@@ -238,10 +238,10 @@ akshare/stock/stock_cg_guarantee.py,sha256=ts7qcQhhyN1PHB7Q4XlMn38HhfVvubOvky9RZ
|
|
238
238
|
akshare/stock/stock_cg_lawsuit.py,sha256=6Y92pPw0JgyrInteqHuU07G1jwmdX2wjaDtrJN8y6Hg,4129
|
239
239
|
akshare/stock/stock_dividend_cninfo.py,sha256=_vipLQu94qBDoPkaIWZKRFA0mFfgroUMnn5EdLcjAc4,3195
|
240
240
|
akshare/stock/stock_dzjy_em.py,sha256=QMo2w-_I9UnmCr1IXk_InFeW5ok_GpRE9HdWFDUdGyM,22556
|
241
|
-
akshare/stock/stock_fund_em.py,sha256=
|
241
|
+
akshare/stock/stock_fund_em.py,sha256=xGbMhFGOaxN7zhDlxcHWjo2WRZ95pu9dsvBSb2tDBYc,48972
|
242
242
|
akshare/stock/stock_fund_hold.py,sha256=iFEmRFber7MF6aPi0QOJxpvYjO7I26KouUvC-xTQdCk,6056
|
243
243
|
akshare/stock/stock_gsrl_em.py,sha256=oy5vO681ZPTEehZgz10T8jgIQ8dNm_E7MXGr1PGoHqI,1951
|
244
|
-
akshare/stock/stock_hk_famous.py,sha256=
|
244
|
+
akshare/stock/stock_hk_famous.py,sha256=uF1iUkrwvMMxvxE3-O7byxQ-oS0SjlMBwOEraTBA41s,3018
|
245
245
|
akshare/stock/stock_hk_fhpx_ths.py,sha256=68soKJIOMoAGuCvJIMZBVU-2wL_umtv67SuqVzl2C14,2191
|
246
246
|
akshare/stock/stock_hk_hot_rank_em.py,sha256=IhLGahWXfYPQRrCoB1Ph7DRbs_39BcrmXpIgXgEkttg,4746
|
247
247
|
akshare/stock/stock_hk_sina.py,sha256=7tD7P4lo6U40s-jkS9E128voZgYx75vbxmG3M0LyqNg,9589
|
@@ -257,7 +257,7 @@ akshare/stock/stock_industry_pe_cninfo.py,sha256=0OjjsFGG90zJRZEBqaCsjKSpSAgrp3P
|
|
257
257
|
akshare/stock/stock_industry_sw.py,sha256=C0FjDg976EA0EksRS3sChbmJOZmOPEOzKCrHVs2YqTg,1441
|
258
258
|
akshare/stock/stock_info.py,sha256=AqzLzsTlYTSExBtyrZZBjI-D-VROj9e7Sq37WKHJ7XQ,16314
|
259
259
|
akshare/stock/stock_info_em.py,sha256=F-K8ZzWW70KTzShP82semh8RKklUEot2zxuzNDum20I,2615
|
260
|
-
akshare/stock/stock_intraday_em.py,sha256=
|
260
|
+
akshare/stock/stock_intraday_em.py,sha256=s3gAzG0-6gYj407WePpoNXVyKUZB-siOOw1xZbBYIF4,4538
|
261
261
|
akshare/stock/stock_intraday_sina.py,sha256=7LzXRwjdPo-BHwvs8244-MFiGriPUCFBJqRW-r9iVB4,2359
|
262
262
|
akshare/stock/stock_ipo_summary_cninfo.py,sha256=Ma-54GsOOhRWxilLH-Qmm0VVbpJQGf2XWKaJ8NBSgAY,3847
|
263
263
|
akshare/stock/stock_new_cninfo.py,sha256=EOuZowDLQSSHyPAwXcuPXbQkqhbz2nRBZsM7o2ZWILE,5725
|
@@ -267,9 +267,9 @@ akshare/stock/stock_rank_forecast.py,sha256=5U0fa4tzhqKrw5kDRahUCFSrbrEx_aRtlqZq
|
|
267
267
|
akshare/stock/stock_repurchase_em.py,sha256=XVAUD_yd48wqxbMbfU0Ne2SNFOSG9NBklUhf3pl6cKc,5000
|
268
268
|
akshare/stock/stock_share_changes_cninfo.py,sha256=siy4PiZgYuNQn5jUUg2G7CyZ_yvuXNi3MVUDFhe5npY,4923
|
269
269
|
akshare/stock/stock_share_hold.py,sha256=sKiWH69n8_MQohi0qZ3Br-WQRq9I7S0USrb-tMVinb0,11028
|
270
|
-
akshare/stock/stock_stop.py,sha256=
|
270
|
+
akshare/stock/stock_stop.py,sha256=hK6U02jyVyRe2BPmzxBDw1kujy7XgUo_Ky_rjewtBaE,1191
|
271
271
|
akshare/stock/stock_summary.py,sha256=rtJImzACxpGRqYGe9-yNTzsSZDlsG1Uns18sDIgunZY,11204
|
272
|
-
akshare/stock/stock_us_famous.py,sha256=
|
272
|
+
akshare/stock/stock_us_famous.py,sha256=C0JjmaLi1D4fFtTmPSYOnIvetW2mSbRCalwHjZnv638,3658
|
273
273
|
akshare/stock/stock_us_js.py,sha256=wwZpRvVHqjxwd0cb2O5vtRW8Zw90Kdl5O4XNwoevN64,2502
|
274
274
|
akshare/stock/stock_us_pink.py,sha256=BX7-tG4Zs0k2vSYGxHH0Yob-moD6AAu2a-ytZpxgIRQ,3065
|
275
275
|
akshare/stock/stock_us_sina.py,sha256=D4fhJgpmvnlVoeSV2wQQ7H6lig8h6vaJp71o88dZhDg,8200
|
@@ -311,7 +311,7 @@ akshare/stock_feature/stock_gdhs.py,sha256=Z6ZMy1A03BqMu9TghcIu2Sd_wwEtpIH7qawHu
|
|
311
311
|
akshare/stock_feature/stock_gdzjc_em.py,sha256=SHJH5iS3_NhvjTqRXF0vPooZl0s_ASeyZmNCC50ZYqs,4426
|
312
312
|
akshare/stock_feature/stock_gpzy_em.py,sha256=FgyjVgdoxrtMM7WwxdQJxK0mYGJklIHaT9KmMCFmEPM,17869
|
313
313
|
akshare/stock_feature/stock_gxl_lg.py,sha256=I8TpDEpFzadZSSyZisyIk6163mJlRxup91dmlBH4t4U,2641
|
314
|
-
akshare/stock_feature/stock_hist_em.py,sha256=
|
314
|
+
akshare/stock_feature/stock_hist_em.py,sha256=uxkhxn3O-JdvR29T7jhSkpgsPJkHHZsnUerG0bgg90w,69297
|
315
315
|
akshare/stock_feature/stock_hist_tx.py,sha256=WpLsbkG2didSx7lYNkSbTWNTrLhUKbcopfD18WO2Rlc,3397
|
316
316
|
akshare/stock_feature/stock_hk_valuation_baidu.py,sha256=_sErx4UhNsSXJgXyPfrL0aPxkW53Mg1zH9gEKoziaCA,1968
|
317
317
|
akshare/stock_feature/stock_hot_xq.py,sha256=NmoH4x-0hiDztj-YwzMFVIyOICQ2wUUBbhjt91q-tq4,9112
|
@@ -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.
|
384
|
-
akshare-1.16.
|
385
|
-
akshare-1.16.
|
386
|
-
akshare-1.16.
|
387
|
-
akshare-1.16.
|
383
|
+
akshare-1.16.12.dist-info/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
|
384
|
+
akshare-1.16.12.dist-info/METADATA,sha256=s2Fmo8W02JesolTUUjuxsWv4aAJ9jTl7VeCgA97y_MM,13679
|
385
|
+
akshare-1.16.12.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
386
|
+
akshare-1.16.12.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
|
387
|
+
akshare-1.16.12.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|