akshare 1.16.4__py3-none-any.whl → 1.16.6__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/stock/stock_fund_em.py +4 -4
- akshare/stock_feature/stock_hsgt_exchange_rate.py +117 -87
- {akshare-1.16.4.dist-info → akshare-1.16.6.dist-info}/METADATA +1 -1
- {akshare-1.16.4.dist-info → akshare-1.16.6.dist-info}/RECORD +8 -8
- {akshare-1.16.4.dist-info → akshare-1.16.6.dist-info}/LICENSE +0 -0
- {akshare-1.16.4.dist-info → akshare-1.16.6.dist-info}/WHEEL +0 -0
- {akshare-1.16.4.dist-info → akshare-1.16.6.dist-info}/top_level.txt +0 -0
akshare/__init__.py
CHANGED
@@ -3013,9 +3013,11 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
|
|
3013
3013
|
1.16.2 fix: fix stock_board_industry_hist_em interface
|
3014
3014
|
1.16.3 fix: fix stock_zh_index_spot_em interface
|
3015
3015
|
1.16.4 fix: fix stock_hk_ggt_components_em interface
|
3016
|
+
1.16.5 fix: fix stock_sector_fund_flow_rank interface
|
3017
|
+
1.16.6 fix: fix stock_sgt_reference_exchange_rate_sse interface
|
3016
3018
|
"""
|
3017
3019
|
|
3018
|
-
__version__ = "1.16.
|
3020
|
+
__version__ = "1.16.6"
|
3019
3021
|
__author__ = "AKFamily"
|
3020
3022
|
|
3021
3023
|
import sys
|
akshare/stock/stock_fund_em.py
CHANGED
@@ -470,7 +470,7 @@ def stock_sector_fund_flow_rank(
|
|
470
470
|
"pn": "1",
|
471
471
|
"pz": "5000",
|
472
472
|
"po": "1",
|
473
|
-
"np": "
|
473
|
+
"np": "2",
|
474
474
|
"ut": "b2884a393a59ad64002292a3e90d46a5",
|
475
475
|
"fltt": "2",
|
476
476
|
"invt": "2",
|
@@ -483,9 +483,9 @@ def stock_sector_fund_flow_rank(
|
|
483
483
|
"_": int(time.time() * 1000),
|
484
484
|
}
|
485
485
|
r = requests.get(url, params=params, headers=headers)
|
486
|
-
|
487
|
-
|
488
|
-
temp_df = pd.DataFrame(
|
486
|
+
data_text = r.text
|
487
|
+
data_json = json.loads(data_text[data_text.find("{") : -2])
|
488
|
+
temp_df = pd.DataFrame(data_json["data"]["diff"]).T
|
489
489
|
if indicator == "今日":
|
490
490
|
temp_df.columns = [
|
491
491
|
"-",
|
@@ -1,12 +1,14 @@
|
|
1
1
|
# -*- coding:utf-8 -*-
|
2
2
|
# !/usr/bin/env python
|
3
3
|
"""
|
4
|
-
Date:
|
4
|
+
Date: 2025/2/19 22:00
|
5
5
|
Desc: 参考汇率和结算汇率
|
6
6
|
深港通-港股通业务信息
|
7
7
|
深港通-港股通业务信息: https://www.szse.cn/szhk/hkbussiness/exchangerate/index.html
|
8
|
-
沪港通-港股通信息披露:
|
8
|
+
沪港通-港股通信息披露: https://www.sse.com.cn/services/hkexsc/disclo/ratios/
|
9
9
|
"""
|
10
|
+
|
11
|
+
import warnings
|
10
12
|
from datetime import datetime
|
11
13
|
|
12
14
|
import pandas as pd
|
@@ -22,20 +24,23 @@ def stock_sgt_settlement_exchange_rate_szse() -> pd.DataFrame:
|
|
22
24
|
"""
|
23
25
|
url = "https://www.szse.cn/api/report/ShowReport"
|
24
26
|
params = {
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
27
|
+
"SHOWTYPE": "xlsx",
|
28
|
+
"CATALOGID": "SGT_LSHL",
|
29
|
+
"TABKEY": "tab2",
|
30
|
+
"random": "0.9184251620553985",
|
29
31
|
}
|
30
32
|
r = requests.get(url, params=params)
|
31
|
-
import warnings
|
32
33
|
with warnings.catch_warnings(record=True):
|
33
34
|
warnings.simplefilter("always")
|
34
35
|
temp_df = pd.read_excel(r.content, engine="openpyxl")
|
35
|
-
temp_df.sort_values(
|
36
|
-
temp_df[
|
37
|
-
temp_df[
|
38
|
-
|
36
|
+
temp_df.sort_values(by="适用日期", inplace=True, ignore_index=True)
|
37
|
+
temp_df["适用日期"] = pd.to_datetime(temp_df["适用日期"], errors="coerce").dt.date
|
38
|
+
temp_df["买入结算汇兑比率"] = pd.to_numeric(
|
39
|
+
temp_df["买入结算汇兑比率"], errors="coerce"
|
40
|
+
)
|
41
|
+
temp_df["卖出结算汇兑比率"] = pd.to_numeric(
|
42
|
+
temp_df["卖出结算汇兑比率"], errors="coerce"
|
43
|
+
)
|
39
44
|
return temp_df
|
40
45
|
|
41
46
|
|
@@ -48,123 +53,148 @@ def stock_sgt_reference_exchange_rate_szse() -> pd.DataFrame:
|
|
48
53
|
"""
|
49
54
|
url = "https://www.szse.cn/api/report/ShowReport"
|
50
55
|
params = {
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
56
|
+
"SHOWTYPE": "xlsx",
|
57
|
+
"CATALOGID": "SGT_LSHL",
|
58
|
+
"TABKEY": "tab1",
|
59
|
+
"random": "0.9184251620553985",
|
55
60
|
}
|
56
61
|
r = requests.get(url, params=params)
|
57
|
-
import warnings
|
58
62
|
with warnings.catch_warnings(record=True):
|
59
63
|
warnings.simplefilter("always")
|
60
64
|
temp_df = pd.read_excel(r.content, engine="openpyxl")
|
61
|
-
temp_df.sort_values(
|
62
|
-
temp_df[
|
63
|
-
temp_df[
|
64
|
-
|
65
|
+
temp_df.sort_values(by="适用日期", inplace=True, ignore_index=True)
|
66
|
+
temp_df["适用日期"] = pd.to_datetime(temp_df["适用日期"], errors="coerce").dt.date
|
67
|
+
temp_df["参考汇率买入价"] = pd.to_numeric(
|
68
|
+
temp_df["参考汇率买入价"], errors="coerce"
|
69
|
+
)
|
70
|
+
temp_df["参考汇率卖出价"] = pd.to_numeric(
|
71
|
+
temp_df["参考汇率卖出价"], errors="coerce"
|
72
|
+
)
|
65
73
|
return temp_df
|
66
74
|
|
67
75
|
|
68
76
|
def stock_sgt_reference_exchange_rate_sse() -> pd.DataFrame:
|
69
77
|
"""
|
70
78
|
沪港通-港股通信息披露-参考汇率
|
71
|
-
|
79
|
+
https://www.sse.com.cn/services/hkexsc/disclo/ratios/
|
72
80
|
:return: 参考汇率
|
73
81
|
:rtype: pandas.DataFrame
|
74
82
|
"""
|
75
83
|
current_date = datetime.now().date().isoformat().replace("-", "")
|
76
|
-
url = "
|
84
|
+
url = "https://query.sse.com.cn/commonSoaQuery.do"
|
77
85
|
params = {
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
86
|
+
"isPagination": "true",
|
87
|
+
"updateDate": "20120601",
|
88
|
+
"updateDateEnd": current_date,
|
89
|
+
"sqlId": "FW_HGT_GGTHL",
|
90
|
+
"pageHelp.cacheSize": "1",
|
91
|
+
"pageHelp.pageSize": "10000",
|
92
|
+
"pageHelp.pageNo": "1",
|
93
|
+
"pageHelp.beginPage": "1",
|
94
|
+
"pageHelp.endPage": "1",
|
95
|
+
"_": "1664523262778",
|
88
96
|
}
|
89
97
|
headers = {
|
90
|
-
|
91
|
-
|
92
|
-
|
98
|
+
"Host": "query.sse.com.cn",
|
99
|
+
"Referer": "https://www.sse.com.cn/",
|
100
|
+
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
|
101
|
+
"Chrome/105.0.0.0 Safari/537.36",
|
93
102
|
}
|
94
103
|
r = requests.get(url, params=params, headers=headers)
|
95
104
|
data_json = r.json()
|
96
|
-
temp_df = pd.DataFrame(data_json[
|
97
|
-
temp_df.rename(
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
105
|
+
temp_df = pd.DataFrame(data_json["result"])
|
106
|
+
temp_df.rename(
|
107
|
+
columns={
|
108
|
+
"currencyType": "货币种类",
|
109
|
+
"buyPrice": "参考汇率买入价",
|
110
|
+
"updateDate": "-",
|
111
|
+
"validDate": "适用日期",
|
112
|
+
"sellPrice": "参考汇率卖出价",
|
113
|
+
},
|
114
|
+
inplace=True,
|
115
|
+
)
|
116
|
+
temp_df = temp_df[
|
117
|
+
[
|
118
|
+
"适用日期",
|
119
|
+
"参考汇率买入价",
|
120
|
+
"参考汇率卖出价",
|
121
|
+
"货币种类",
|
122
|
+
]
|
123
|
+
]
|
124
|
+
temp_df.sort_values("适用日期", inplace=True, ignore_index=True)
|
125
|
+
temp_df["适用日期"] = pd.to_datetime(temp_df["适用日期"], errors="coerce").dt.date
|
126
|
+
temp_df["参考汇率买入价"] = pd.to_numeric(
|
127
|
+
temp_df["参考汇率买入价"], errors="coerce"
|
128
|
+
)
|
129
|
+
temp_df["参考汇率卖出价"] = pd.to_numeric(
|
130
|
+
temp_df["参考汇率卖出价"], errors="coerce"
|
131
|
+
)
|
114
132
|
return temp_df
|
115
133
|
|
116
134
|
|
117
135
|
def stock_sgt_settlement_exchange_rate_sse() -> pd.DataFrame:
|
118
136
|
"""
|
119
137
|
沪港通-港股通信息披露-结算汇兑
|
120
|
-
|
138
|
+
https://www.sse.com.cn/services/hkexsc/disclo/ratios/
|
121
139
|
:return: 结算汇兑比率
|
122
140
|
:rtype: pandas.DataFrame
|
123
141
|
"""
|
124
142
|
current_date = datetime.now().date().isoformat().replace("-", "")
|
125
|
-
url = "
|
143
|
+
url = "https://query.sse.com.cn/commonSoaQuery.do"
|
126
144
|
params = {
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
145
|
+
"isPagination": "true",
|
146
|
+
"updateDate": "20120601",
|
147
|
+
"updateDateEnd": current_date,
|
148
|
+
"sqlId": "FW_HGT_JSHDBL",
|
149
|
+
"pageHelp.cacheSize": "1",
|
150
|
+
"pageHelp.pageSize": "10000",
|
151
|
+
"pageHelp.pageNo": "1",
|
152
|
+
"pageHelp.beginPage": "1",
|
153
|
+
"pageHelp.endPage": "1",
|
154
|
+
"_": "1664523262778",
|
137
155
|
}
|
138
156
|
headers = {
|
139
|
-
|
140
|
-
|
141
|
-
|
157
|
+
"Host": "query.sse.com.cn",
|
158
|
+
"Referer": "https://www.sse.com.cn/",
|
159
|
+
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
|
160
|
+
"Chrome/105.0.0.0 Safari/537.36",
|
142
161
|
}
|
143
162
|
r = requests.get(url, params=params, headers=headers)
|
144
163
|
data_json = r.json()
|
145
|
-
temp_df = pd.DataFrame(data_json[
|
146
|
-
temp_df.rename(
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
164
|
+
temp_df = pd.DataFrame(data_json["result"])
|
165
|
+
temp_df.rename(
|
166
|
+
columns={
|
167
|
+
"currencyType": "货币种类",
|
168
|
+
"buyPrice": "买入结算汇兑比率",
|
169
|
+
"updateDate": "-",
|
170
|
+
"validDate": "适用日期",
|
171
|
+
"sellPrice": "卖出结算汇兑比率",
|
172
|
+
},
|
173
|
+
inplace=True,
|
174
|
+
)
|
175
|
+
temp_df = temp_df[
|
176
|
+
[
|
177
|
+
"适用日期",
|
178
|
+
"买入结算汇兑比率",
|
179
|
+
"卖出结算汇兑比率",
|
180
|
+
"货币种类",
|
181
|
+
]
|
182
|
+
]
|
183
|
+
temp_df.sort_values("适用日期", inplace=True, ignore_index=True)
|
184
|
+
temp_df["适用日期"] = pd.to_datetime(temp_df["适用日期"], errors="coerce").dt.date
|
185
|
+
temp_df["买入结算汇兑比率"] = pd.to_numeric(
|
186
|
+
temp_df["买入结算汇兑比率"], errors="coerce"
|
187
|
+
)
|
188
|
+
temp_df["卖出结算汇兑比率"] = pd.to_numeric(
|
189
|
+
temp_df["卖出结算汇兑比率"], errors="coerce"
|
190
|
+
)
|
163
191
|
return temp_df
|
164
192
|
|
165
193
|
|
166
194
|
if __name__ == "__main__":
|
167
|
-
stock_sgt_settlement_exchange_rate_szse_df =
|
195
|
+
stock_sgt_settlement_exchange_rate_szse_df = (
|
196
|
+
stock_sgt_settlement_exchange_rate_szse()
|
197
|
+
)
|
168
198
|
print(stock_sgt_settlement_exchange_rate_szse_df)
|
169
199
|
|
170
200
|
stock_sgt_reference_exchange_rate_szse_df = stock_sgt_reference_exchange_rate_szse()
|
@@ -1,4 +1,4 @@
|
|
1
|
-
akshare/__init__.py,sha256=
|
1
|
+
akshare/__init__.py,sha256=2S7vULTlyBglBAcI-0WFHB1gLaY1HgEcGdtWLv1Wy2c,187844
|
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
|
@@ -238,7 +238,7 @@ 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=ZtDX_llsN4Wxm6IcoGMLV0Xoy0n6CIuDpXVps5OBQS8,48920
|
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
244
|
akshare/stock/stock_hk_famous.py,sha256=g-p1cdRibei9fw2HEMPyarLP-wT4bFwIK7Mxi77jH9E,3015
|
@@ -316,7 +316,7 @@ akshare/stock_feature/stock_hist_tx.py,sha256=WpLsbkG2didSx7lYNkSbTWNTrLhUKbcopf
|
|
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
|
318
318
|
akshare/stock_feature/stock_hsgt_em.py,sha256=A10L3LX44YrkcYi7kT9Y0-XK_r0mv9c50x5emshh25Q,56690
|
319
|
-
akshare/stock_feature/stock_hsgt_exchange_rate.py,sha256
|
319
|
+
akshare/stock_feature/stock_hsgt_exchange_rate.py,sha256=-oJZ83FUQrNJX_4GB5hS562IdrfJbCwr0d5ioYXtPrQ,7212
|
320
320
|
akshare/stock_feature/stock_hsgt_min_em.py,sha256=KLeez7MQwBAcO-RT7n41LOikUfvXDGK0-G1n9av5mtY,2883
|
321
321
|
akshare/stock_feature/stock_info.py,sha256=AQ4ZMXAks3qCxk3lbH_YpsqC-qQHpZ49UGk0Mm08d2E,9192
|
322
322
|
akshare/stock_feature/stock_inner_trade_xq.py,sha256=jsARS5It6_UNn3WL8vnTK4F90Rx1dMvarxtiVbzOLrM,2682
|
@@ -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.6.dist-info/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
|
384
|
+
akshare-1.16.6.dist-info/METADATA,sha256=kSSJUrNux_8cz8o8Wo80-BY6S9IfOkJGuvlF3NLz5qo,13678
|
385
|
+
akshare-1.16.6.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
386
|
+
akshare-1.16.6.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
|
387
|
+
akshare-1.16.6.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|