akshare 1.15.60__py3-none-any.whl → 1.15.61__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.
Potentially problematic release.
This version of akshare might be problematic. Click here for more details.
- akshare/__init__.py +16 -1
- akshare/index/index_option_qvix.py +329 -0
- akshare/stock_feature/stock_ztb_em.py +14 -2
- {akshare-1.15.60.dist-info → akshare-1.15.61.dist-info}/METADATA +1 -1
- {akshare-1.15.60.dist-info → akshare-1.15.61.dist-info}/RECORD +8 -8
- {akshare-1.15.60.dist-info → akshare-1.15.61.dist-info}/LICENSE +0 -0
- {akshare-1.15.60.dist-info → akshare-1.15.61.dist-info}/WHEEL +0 -0
- {akshare-1.15.60.dist-info → akshare-1.15.61.dist-info}/top_level.txt +0 -0
akshare/__init__.py
CHANGED
|
@@ -2970,9 +2970,10 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
|
|
|
2970
2970
|
1.15.58 fix: fix futures_hold_pos_sina interface
|
|
2971
2971
|
1.15.59 fix: fix stock_sy_hy_em interface
|
|
2972
2972
|
1.15.60 fix: fix stock_hot_keyword_em interface
|
|
2973
|
+
1.15.61 fix: fix stock_zt_pool_strong_em interface
|
|
2973
2974
|
"""
|
|
2974
2975
|
|
|
2975
|
-
__version__ = "1.15.
|
|
2976
|
+
__version__ = "1.15.61"
|
|
2976
2977
|
__author__ = "AKFamily"
|
|
2977
2978
|
|
|
2978
2979
|
import sys
|
|
@@ -3391,6 +3392,20 @@ from akshare.index.index_option_qvix import (
|
|
|
3391
3392
|
index_option_300etf_min_qvix,
|
|
3392
3393
|
index_option_300etf_qvix,
|
|
3393
3394
|
index_option_50etf_min_qvix,
|
|
3395
|
+
index_option_1000index_min_qvix,
|
|
3396
|
+
index_option_1000index_qvix,
|
|
3397
|
+
index_option_100etf_min_qvix,
|
|
3398
|
+
index_option_100etf_qvix,
|
|
3399
|
+
index_option_300index_min_qvix,
|
|
3400
|
+
index_option_300index_qvix,
|
|
3401
|
+
index_option_500etf_min_qvix,
|
|
3402
|
+
index_option_500etf_qvix,
|
|
3403
|
+
index_option_50index_min_qvix,
|
|
3404
|
+
index_option_50index_qvix,
|
|
3405
|
+
index_option_cyb_min_qvix,
|
|
3406
|
+
index_option_cyb_qvix,
|
|
3407
|
+
index_option_kcb_min_qvix,
|
|
3408
|
+
index_option_kcb_qvix,
|
|
3394
3409
|
)
|
|
3395
3410
|
|
|
3396
3411
|
"""
|
|
@@ -92,6 +92,293 @@ def index_option_300etf_min_qvix() -> pd.DataFrame:
|
|
|
92
92
|
return temp_df
|
|
93
93
|
|
|
94
94
|
|
|
95
|
+
def index_option_500etf_qvix() -> pd.DataFrame:
|
|
96
|
+
"""
|
|
97
|
+
500 ETF 期权波动率指数 QVIX
|
|
98
|
+
http://1.optbbs.com/s/vix.shtml?500ETF
|
|
99
|
+
:return: 500 ETF 期权波动率指数 QVIX
|
|
100
|
+
:rtype: pandas.DataFrame
|
|
101
|
+
"""
|
|
102
|
+
url = "http://1.optbbs.com/d/csv/d/k.csv"
|
|
103
|
+
temp_df = pd.read_csv(url).iloc[:, [0, 67, 68, 69, 70]]
|
|
104
|
+
temp_df.columns = [
|
|
105
|
+
"date",
|
|
106
|
+
"open",
|
|
107
|
+
"high",
|
|
108
|
+
"low",
|
|
109
|
+
"close",
|
|
110
|
+
]
|
|
111
|
+
temp_df["date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
|
|
112
|
+
temp_df["open"] = pd.to_numeric(temp_df["open"], errors="coerce")
|
|
113
|
+
temp_df["high"] = pd.to_numeric(temp_df["high"], errors="coerce")
|
|
114
|
+
temp_df["low"] = pd.to_numeric(temp_df["low"], errors="coerce")
|
|
115
|
+
temp_df["close"] = pd.to_numeric(temp_df["close"], errors="coerce")
|
|
116
|
+
return temp_df
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
def index_option_500etf_min_qvix() -> pd.DataFrame:
|
|
120
|
+
"""
|
|
121
|
+
500 ETF 期权波动率指数 QVIX-分时
|
|
122
|
+
http://1.optbbs.com/s/vix.shtml?500ETF
|
|
123
|
+
:return: 500 ETF 期权波动率指数 QVIX-分时
|
|
124
|
+
:rtype: pandas.DataFrame
|
|
125
|
+
"""
|
|
126
|
+
url = "http://1.optbbs.com/d/csv/d/vix500.csv"
|
|
127
|
+
temp_df = pd.read_csv(url).iloc[:, :2]
|
|
128
|
+
temp_df.columns = [
|
|
129
|
+
"time",
|
|
130
|
+
"qvix",
|
|
131
|
+
]
|
|
132
|
+
temp_df["qvix"] = pd.to_numeric(temp_df["qvix"], errors="coerce")
|
|
133
|
+
return temp_df
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
def index_option_cyb_qvix() -> pd.DataFrame:
|
|
137
|
+
"""
|
|
138
|
+
创业板 期权波动率指数 QVIX
|
|
139
|
+
http://1.optbbs.com/s/vix.shtml?CYB
|
|
140
|
+
:return: 创业板 期权波动率指数 QVIX
|
|
141
|
+
:rtype: pandas.DataFrame
|
|
142
|
+
"""
|
|
143
|
+
url = "http://1.optbbs.com/d/csv/d/k.csv"
|
|
144
|
+
temp_df = pd.read_csv(url).iloc[:, [0, 71, 72, 73, 74]]
|
|
145
|
+
temp_df.columns = [
|
|
146
|
+
"date",
|
|
147
|
+
"open",
|
|
148
|
+
"high",
|
|
149
|
+
"low",
|
|
150
|
+
"close",
|
|
151
|
+
]
|
|
152
|
+
temp_df["date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
|
|
153
|
+
temp_df["open"] = pd.to_numeric(temp_df["open"], errors="coerce")
|
|
154
|
+
temp_df["high"] = pd.to_numeric(temp_df["high"], errors="coerce")
|
|
155
|
+
temp_df["low"] = pd.to_numeric(temp_df["low"], errors="coerce")
|
|
156
|
+
temp_df["close"] = pd.to_numeric(temp_df["close"], errors="coerce")
|
|
157
|
+
return temp_df
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
def index_option_cyb_min_qvix() -> pd.DataFrame:
|
|
161
|
+
"""
|
|
162
|
+
创业板 期权波动率指数 QVIX-分时
|
|
163
|
+
http://1.optbbs.com/s/vix.shtml?CYB
|
|
164
|
+
:return: 创业板 期权波动率指数 QVIX-分时
|
|
165
|
+
:rtype: pandas.DataFrame
|
|
166
|
+
"""
|
|
167
|
+
url = "http://1.optbbs.com/d/csv/d/vixcyb.csv"
|
|
168
|
+
temp_df = pd.read_csv(url).iloc[:, :2]
|
|
169
|
+
temp_df.columns = [
|
|
170
|
+
"time",
|
|
171
|
+
"qvix",
|
|
172
|
+
]
|
|
173
|
+
temp_df["qvix"] = pd.to_numeric(temp_df["qvix"], errors="coerce")
|
|
174
|
+
return temp_df
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
def index_option_kcb_qvix() -> pd.DataFrame:
|
|
178
|
+
"""
|
|
179
|
+
科创板 期权波动率指数 QVIX
|
|
180
|
+
http://1.optbbs.com/s/vix.shtml?KCB
|
|
181
|
+
:return: 科创板 期权波动率指数 QVIX
|
|
182
|
+
:rtype: pandas.DataFrame
|
|
183
|
+
"""
|
|
184
|
+
url = "http://1.optbbs.com/d/csv/d/k.csv"
|
|
185
|
+
temp_df = pd.read_csv(url).iloc[:, [0, 83, 84, 85, 86]]
|
|
186
|
+
temp_df.columns = [
|
|
187
|
+
"date",
|
|
188
|
+
"open",
|
|
189
|
+
"high",
|
|
190
|
+
"low",
|
|
191
|
+
"close",
|
|
192
|
+
]
|
|
193
|
+
temp_df["date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
|
|
194
|
+
temp_df["open"] = pd.to_numeric(temp_df["open"], errors="coerce")
|
|
195
|
+
temp_df["high"] = pd.to_numeric(temp_df["high"], errors="coerce")
|
|
196
|
+
temp_df["low"] = pd.to_numeric(temp_df["low"], errors="coerce")
|
|
197
|
+
temp_df["close"] = pd.to_numeric(temp_df["close"], errors="coerce")
|
|
198
|
+
return temp_df
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
def index_option_kcb_min_qvix() -> pd.DataFrame:
|
|
202
|
+
"""
|
|
203
|
+
科创板 期权波动率指数 QVIX-分时
|
|
204
|
+
http://1.optbbs.com/s/vix.shtml?KCB
|
|
205
|
+
:return: 科创板 期权波动率指数 QVIX-分时
|
|
206
|
+
:rtype: pandas.DataFrame
|
|
207
|
+
"""
|
|
208
|
+
url = "http://1.optbbs.com/d/csv/d/vixkcb.csv"
|
|
209
|
+
temp_df = pd.read_csv(url).iloc[:, :2]
|
|
210
|
+
temp_df.columns = [
|
|
211
|
+
"time",
|
|
212
|
+
"qvix",
|
|
213
|
+
]
|
|
214
|
+
temp_df["qvix"] = pd.to_numeric(temp_df["qvix"], errors="coerce")
|
|
215
|
+
return temp_df
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
def index_option_100etf_qvix() -> pd.DataFrame:
|
|
219
|
+
"""
|
|
220
|
+
深证100ETF 期权波动率指数 QVIX
|
|
221
|
+
http://1.optbbs.com/s/vix.shtml?100ETF
|
|
222
|
+
:return: 深证100ETF 期权波动率指数 QVIX
|
|
223
|
+
:rtype: pandas.DataFrame
|
|
224
|
+
"""
|
|
225
|
+
url = "http://1.optbbs.com/d/csv/d/k.csv"
|
|
226
|
+
temp_df = pd.read_csv(url).iloc[:, [0, 75, 76, 77, 78]]
|
|
227
|
+
temp_df.columns = [
|
|
228
|
+
"date",
|
|
229
|
+
"open",
|
|
230
|
+
"high",
|
|
231
|
+
"low",
|
|
232
|
+
"close",
|
|
233
|
+
]
|
|
234
|
+
temp_df["date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
|
|
235
|
+
temp_df["open"] = pd.to_numeric(temp_df["open"], errors="coerce")
|
|
236
|
+
temp_df["high"] = pd.to_numeric(temp_df["high"], errors="coerce")
|
|
237
|
+
temp_df["low"] = pd.to_numeric(temp_df["low"], errors="coerce")
|
|
238
|
+
temp_df["close"] = pd.to_numeric(temp_df["close"], errors="coerce")
|
|
239
|
+
return temp_df
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
def index_option_100etf_min_qvix() -> pd.DataFrame:
|
|
243
|
+
"""
|
|
244
|
+
深证100ETF 期权波动率指数 QVIX-分时
|
|
245
|
+
http://1.optbbs.com/s/vix.shtml?100ETF
|
|
246
|
+
:return: 深证100ETF 期权波动率指数 QVIX-分时
|
|
247
|
+
:rtype: pandas.DataFrame
|
|
248
|
+
"""
|
|
249
|
+
url = "http://1.optbbs.com/d/csv/d/vix100.csv"
|
|
250
|
+
temp_df = pd.read_csv(url).iloc[:, :2]
|
|
251
|
+
temp_df.columns = [
|
|
252
|
+
"time",
|
|
253
|
+
"qvix",
|
|
254
|
+
]
|
|
255
|
+
temp_df["qvix"] = pd.to_numeric(temp_df["qvix"], errors="coerce")
|
|
256
|
+
return temp_df
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
def index_option_300index_qvix() -> pd.DataFrame:
|
|
260
|
+
"""
|
|
261
|
+
中证300股指 期权波动率指数 QVIX
|
|
262
|
+
http://1.optbbs.com/s/vix.shtml?Index
|
|
263
|
+
:return: 中证300股指 期权波动率指数 QVIX
|
|
264
|
+
:rtype: pandas.DataFrame
|
|
265
|
+
"""
|
|
266
|
+
url = "http://1.optbbs.com/d/csv/d/k.csv"
|
|
267
|
+
temp_df = pd.read_csv(url).iloc[:, [0, 17, 18, 19, 20]]
|
|
268
|
+
temp_df.columns = [
|
|
269
|
+
"date",
|
|
270
|
+
"open",
|
|
271
|
+
"high",
|
|
272
|
+
"low",
|
|
273
|
+
"close",
|
|
274
|
+
]
|
|
275
|
+
temp_df["date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
|
|
276
|
+
temp_df["open"] = pd.to_numeric(temp_df["open"], errors="coerce")
|
|
277
|
+
temp_df["high"] = pd.to_numeric(temp_df["high"], errors="coerce")
|
|
278
|
+
temp_df["low"] = pd.to_numeric(temp_df["low"], errors="coerce")
|
|
279
|
+
temp_df["close"] = pd.to_numeric(temp_df["close"], errors="coerce")
|
|
280
|
+
return temp_df
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
def index_option_300index_min_qvix() -> pd.DataFrame:
|
|
284
|
+
"""
|
|
285
|
+
中证300股指 期权波动率指数 QVIX-分时
|
|
286
|
+
http://1.optbbs.com/s/vix.shtml?Index
|
|
287
|
+
:return: 中证300股指 期权波动率指数 QVIX-分时
|
|
288
|
+
:rtype: pandas.DataFrame
|
|
289
|
+
"""
|
|
290
|
+
url = "http://1.optbbs.com/d/csv/d/vixindex.csv"
|
|
291
|
+
temp_df = pd.read_csv(url).iloc[:, :2]
|
|
292
|
+
temp_df.columns = [
|
|
293
|
+
"time",
|
|
294
|
+
"qvix",
|
|
295
|
+
]
|
|
296
|
+
temp_df["qvix"] = pd.to_numeric(temp_df["qvix"], errors="coerce")
|
|
297
|
+
return temp_df
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
def index_option_1000index_qvix() -> pd.DataFrame:
|
|
301
|
+
"""
|
|
302
|
+
中证1000股指 期权波动率指数 QVIX
|
|
303
|
+
http://1.optbbs.com/s/vix.shtml?Index1000
|
|
304
|
+
:return: 中证1000股指 期权波动率指数 QVIX
|
|
305
|
+
:rtype: pandas.DataFrame
|
|
306
|
+
"""
|
|
307
|
+
url = "http://1.optbbs.com/d/csv/d/k.csv"
|
|
308
|
+
temp_df = pd.read_csv(url).iloc[:, [0, 25, 26, 27, 28]]
|
|
309
|
+
temp_df.columns = [
|
|
310
|
+
"date",
|
|
311
|
+
"open",
|
|
312
|
+
"high",
|
|
313
|
+
"low",
|
|
314
|
+
"close",
|
|
315
|
+
]
|
|
316
|
+
temp_df["date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
|
|
317
|
+
temp_df["open"] = pd.to_numeric(temp_df["open"], errors="coerce")
|
|
318
|
+
temp_df["high"] = pd.to_numeric(temp_df["high"], errors="coerce")
|
|
319
|
+
temp_df["low"] = pd.to_numeric(temp_df["low"], errors="coerce")
|
|
320
|
+
temp_df["close"] = pd.to_numeric(temp_df["close"], errors="coerce")
|
|
321
|
+
return temp_df
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
def index_option_1000index_min_qvix() -> pd.DataFrame:
|
|
325
|
+
"""
|
|
326
|
+
中证1000股指 期权波动率指数 QVIX-分时
|
|
327
|
+
http://1.optbbs.com/s/vix.shtml?Index1000
|
|
328
|
+
:return: 中证1000股指 期权波动率指数 QVIX-分时
|
|
329
|
+
:rtype: pandas.DataFrame
|
|
330
|
+
"""
|
|
331
|
+
url = "http://1.optbbs.com/d/csv/d/vixindex1000.csv"
|
|
332
|
+
temp_df = pd.read_csv(url).iloc[:, :2]
|
|
333
|
+
temp_df.columns = [
|
|
334
|
+
"time",
|
|
335
|
+
"qvix",
|
|
336
|
+
]
|
|
337
|
+
temp_df["qvix"] = pd.to_numeric(temp_df["qvix"], errors="coerce")
|
|
338
|
+
return temp_df
|
|
339
|
+
|
|
340
|
+
|
|
341
|
+
def index_option_50index_qvix() -> pd.DataFrame:
|
|
342
|
+
"""
|
|
343
|
+
上证50股指 期权波动率指数 QVIX
|
|
344
|
+
http://1.optbbs.com/s/vix.shtml?50index
|
|
345
|
+
:return: 上证50股指 期权波动率指数 QVIX
|
|
346
|
+
:rtype: pandas.DataFrame
|
|
347
|
+
"""
|
|
348
|
+
url = "http://1.optbbs.com/d/csv/d/k.csv"
|
|
349
|
+
temp_df = pd.read_csv(url).iloc[:, [0, 79, 80, 81, 82]]
|
|
350
|
+
temp_df.columns = [
|
|
351
|
+
"date",
|
|
352
|
+
"open",
|
|
353
|
+
"high",
|
|
354
|
+
"low",
|
|
355
|
+
"close",
|
|
356
|
+
]
|
|
357
|
+
temp_df["date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
|
|
358
|
+
temp_df["open"] = pd.to_numeric(temp_df["open"], errors="coerce")
|
|
359
|
+
temp_df["high"] = pd.to_numeric(temp_df["high"], errors="coerce")
|
|
360
|
+
temp_df["low"] = pd.to_numeric(temp_df["low"], errors="coerce")
|
|
361
|
+
temp_df["close"] = pd.to_numeric(temp_df["close"], errors="coerce")
|
|
362
|
+
return temp_df
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
def index_option_50index_min_qvix() -> pd.DataFrame:
|
|
366
|
+
"""
|
|
367
|
+
上证50股指 期权波动率指数 QVIX-分时
|
|
368
|
+
http://1.optbbs.com/s/vix.shtml?50index
|
|
369
|
+
:return: 上证50股指 期权波动率指数 QVIX-分时
|
|
370
|
+
:rtype: pandas.DataFrame
|
|
371
|
+
"""
|
|
372
|
+
url = "http://1.optbbs.com/d/csv/d/vix50index.csv"
|
|
373
|
+
temp_df = pd.read_csv(url).iloc[:, :2]
|
|
374
|
+
temp_df.columns = [
|
|
375
|
+
"time",
|
|
376
|
+
"qvix",
|
|
377
|
+
]
|
|
378
|
+
temp_df["qvix"] = pd.to_numeric(temp_df["qvix"], errors="coerce")
|
|
379
|
+
return temp_df
|
|
380
|
+
|
|
381
|
+
|
|
95
382
|
if __name__ == "__main__":
|
|
96
383
|
index_option_50etf_qvix_df = index_option_50etf_qvix()
|
|
97
384
|
print(index_option_50etf_qvix_df)
|
|
@@ -104,3 +391,45 @@ if __name__ == "__main__":
|
|
|
104
391
|
|
|
105
392
|
index_option_300etf_min_qvix_df = index_option_300etf_min_qvix()
|
|
106
393
|
print(index_option_300etf_min_qvix_df)
|
|
394
|
+
|
|
395
|
+
index_option_500etf_qvix_df = index_option_500etf_qvix()
|
|
396
|
+
print(index_option_500etf_qvix_df)
|
|
397
|
+
|
|
398
|
+
index_option_500etf_min_qvix_df = index_option_500etf_min_qvix()
|
|
399
|
+
print(index_option_500etf_min_qvix_df)
|
|
400
|
+
|
|
401
|
+
index_option_cyb_qvix_df = index_option_cyb_qvix()
|
|
402
|
+
print(index_option_cyb_qvix_df)
|
|
403
|
+
|
|
404
|
+
index_option_cyb_min_qvix_df = index_option_cyb_min_qvix()
|
|
405
|
+
print(index_option_cyb_min_qvix_df)
|
|
406
|
+
|
|
407
|
+
index_option_kcb_qvix_df = index_option_kcb_qvix()
|
|
408
|
+
print(index_option_kcb_qvix_df)
|
|
409
|
+
|
|
410
|
+
index_option_kcb_min_qvix_df = index_option_kcb_min_qvix()
|
|
411
|
+
print(index_option_kcb_min_qvix_df)
|
|
412
|
+
|
|
413
|
+
index_option_100etf_qvix_df = index_option_100etf_qvix()
|
|
414
|
+
print(index_option_100etf_qvix_df)
|
|
415
|
+
|
|
416
|
+
index_option_100etf_min_qvix_df = index_option_100etf_min_qvix()
|
|
417
|
+
print(index_option_100etf_min_qvix_df)
|
|
418
|
+
|
|
419
|
+
index_option_300index_qvix_df = index_option_300index_qvix()
|
|
420
|
+
print(index_option_300index_qvix_df)
|
|
421
|
+
|
|
422
|
+
index_option_300index_min_qvix_df = index_option_300index_min_qvix()
|
|
423
|
+
print(index_option_300index_min_qvix_df)
|
|
424
|
+
|
|
425
|
+
index_option_1000index_qvix_df = index_option_1000index_qvix()
|
|
426
|
+
print(index_option_1000index_qvix_df)
|
|
427
|
+
|
|
428
|
+
index_option_1000index_min_qvix_df = index_option_1000index_min_qvix()
|
|
429
|
+
print(index_option_1000index_min_qvix_df)
|
|
430
|
+
|
|
431
|
+
index_option_50index_qvix_df = index_option_50index_qvix()
|
|
432
|
+
print(index_option_50index_qvix_df)
|
|
433
|
+
|
|
434
|
+
index_option_50index_min_qvix_df = index_option_50index_min_qvix()
|
|
435
|
+
print(index_option_50index_min_qvix_df)
|
|
@@ -186,7 +186,7 @@ def stock_zt_pool_previous_em(date: str = "20240415") -> pd.DataFrame:
|
|
|
186
186
|
return temp_df
|
|
187
187
|
|
|
188
188
|
|
|
189
|
-
def stock_zt_pool_strong_em(date: str = "
|
|
189
|
+
def stock_zt_pool_strong_em(date: str = "20241231") -> pd.DataFrame:
|
|
190
190
|
"""
|
|
191
191
|
东方财富网-行情中心-涨停板行情-强势股池
|
|
192
192
|
https://quote.eastmoney.com/ztb/detail#type=qsgc
|
|
@@ -261,6 +261,18 @@ def stock_zt_pool_strong_em(date: str = "20241009") -> pd.DataFrame:
|
|
|
261
261
|
]
|
|
262
262
|
temp_df["最新价"] = temp_df["最新价"] / 1000
|
|
263
263
|
temp_df["涨停价"] = temp_df["涨停价"] / 1000
|
|
264
|
+
explained_map = {1: "60日新高", 2: "近期多次涨停", 3: "60日新高且近期多次涨停"}
|
|
265
|
+
temp_df["入选理由"] = temp_df["入选理由"].apply(lambda x: explained_map[x])
|
|
266
|
+
temp_df["是否新高"] = temp_df["是否新高"].apply(lambda x: "是" if x == 1 else "否")
|
|
267
|
+
temp_df["涨跌幅"] = pd.to_numeric(temp_df["涨跌幅"], errors="coerce")
|
|
268
|
+
temp_df["最新价"] = pd.to_numeric(temp_df["最新价"], errors="coerce")
|
|
269
|
+
temp_df["涨停价"] = pd.to_numeric(temp_df["涨停价"], errors="coerce")
|
|
270
|
+
temp_df["成交额"] = pd.to_numeric(temp_df["成交额"], errors="coerce")
|
|
271
|
+
temp_df["流通市值"] = pd.to_numeric(temp_df["流通市值"], errors="coerce")
|
|
272
|
+
temp_df["总市值"] = pd.to_numeric(temp_df["总市值"], errors="coerce")
|
|
273
|
+
temp_df["换手率"] = pd.to_numeric(temp_df["换手率"], errors="coerce")
|
|
274
|
+
temp_df["涨速"] = pd.to_numeric(temp_df["涨速"], errors="coerce")
|
|
275
|
+
temp_df["量比"] = pd.to_numeric(temp_df["量比"], errors="coerce")
|
|
264
276
|
return temp_df
|
|
265
277
|
|
|
266
278
|
|
|
@@ -522,7 +534,7 @@ if __name__ == "__main__":
|
|
|
522
534
|
stock_zt_pool_previous_em_df = stock_zt_pool_previous_em(date="20240415")
|
|
523
535
|
print(stock_zt_pool_previous_em_df)
|
|
524
536
|
|
|
525
|
-
stock_zt_pool_strong_em_df = stock_zt_pool_strong_em(date="
|
|
537
|
+
stock_zt_pool_strong_em_df = stock_zt_pool_strong_em(date="20241231")
|
|
526
538
|
print(stock_zt_pool_strong_em_df)
|
|
527
539
|
|
|
528
540
|
stock_zt_pool_sub_new_em_df = stock_zt_pool_sub_new_em(date="20241011")
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
akshare/__init__.py,sha256=
|
|
1
|
+
akshare/__init__.py,sha256=0b6Nd0kDNX5xZNio8k6LY2qd3arSl-dMMR-6lQN__GI,185283
|
|
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
|
|
@@ -158,7 +158,7 @@ akshare/index/index_eri.py,sha256=7X0KNDBntEkE_qSb2jb6IBv-S8PsevLFdxGT8nKT3W0,21
|
|
|
158
158
|
akshare/index/index_hog.py,sha256=kb867BVagt70_ycZMn22ks5Z9jlVbMiuTsvq5ygjeig,1657
|
|
159
159
|
akshare/index/index_kq_fz.py,sha256=Y-cbxWLpRyGcFcMSDxZZQXdAuD85IuQH5xC2rhtGbRc,3395
|
|
160
160
|
akshare/index/index_kq_ss.py,sha256=m4hAMNnzHk8JNAnKjkYYVeyG4zUC5zR5i0-u-OxmaGU,3333
|
|
161
|
-
akshare/index/index_option_qvix.py,sha256=
|
|
161
|
+
akshare/index/index_option_qvix.py,sha256=11GRd47p81_7nfeexbHUiy0Vfj3FfdQMErr6OwqbyU8,14055
|
|
162
162
|
akshare/index/index_research_fund_sw.py,sha256=kVYjBl3vZg6CyYBCrxZiSv8taHMnqmG7PQ-LVmMNd3I,4603
|
|
163
163
|
akshare/index/index_research_sw.py,sha256=Mm1YtiP-PXhDysJwmFidX3RZSZZ92AyXpjl_tVrjdwA,21758
|
|
164
164
|
akshare/index/index_spot.py,sha256=meTBTCp2DPVTX_N3qpCLtkI-0q3XhrJ3gndNugRBGKg,1767
|
|
@@ -346,7 +346,7 @@ akshare/stock_feature/stock_zdhtmx_em.py,sha256=2BpJQntGgUlEIOmDlepOiOkw-e-tKLRa
|
|
|
346
346
|
akshare/stock_feature/stock_zf_pg.py,sha256=nYJ1uLOBdzM_PDyq4MNeWoCTripFMAPoAiaPfhDqkcg,6343
|
|
347
347
|
akshare/stock_feature/stock_zh_valuation_baidu.py,sha256=oxYIHP68pFvAYyqjCvZp3a9tpczTFiWhSxZ0w4eyo7I,1904
|
|
348
348
|
akshare/stock_feature/stock_zh_vote_baidu.py,sha256=SsSNnCq7PDFMzWFcPFcC_MSc9rua412P14vHc923gmo,1761
|
|
349
|
-
akshare/stock_feature/stock_ztb_em.py,sha256=
|
|
349
|
+
akshare/stock_feature/stock_ztb_em.py,sha256=bjG1r1Ax-qWgE7ww02M0krs1A9RICQS2HIm2IJAE5mg,18027
|
|
350
350
|
akshare/stock_feature/ths.js,sha256=AWPkHf3L2Il1UUL0F5qDqNn1dfU0OlZBNUbMf8AmI3Y,39664
|
|
351
351
|
akshare/stock_fundamental/__init__.py,sha256=jiXoO9OXiMxB0wHaPQkuxNckYuoFKtzuhZL1ytnE2nQ,82
|
|
352
352
|
akshare/stock_fundamental/stock_finance.py,sha256=WuYvLo8xZxH-VS-6P-S31yzsKA1ojrwegcLXP2byle4,30676
|
|
@@ -377,8 +377,8 @@ akshare/utils/token_process.py,sha256=K4rGXjh_tgugbRcyOK2h2x0jP3PT65IIK7nxhUKhOe
|
|
|
377
377
|
akshare/utils/tqdm.py,sha256=MuPNwcswkOGjwWQOMWXi9ZvQ_RmW4obCWRj2i7HM7FE,847
|
|
378
378
|
tests/__init__.py,sha256=gNzhlO0UPjFq6Ieb38kaVIODXv4cTDByrdohAZnDYt4,82
|
|
379
379
|
tests/test_func.py,sha256=j1MGYbZI2if2j_LY1S4FLsf4qfq4NwVqD5wmRlv5Log,832
|
|
380
|
-
akshare-1.15.
|
|
381
|
-
akshare-1.15.
|
|
382
|
-
akshare-1.15.
|
|
383
|
-
akshare-1.15.
|
|
384
|
-
akshare-1.15.
|
|
380
|
+
akshare-1.15.61.dist-info/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
|
|
381
|
+
akshare-1.15.61.dist-info/METADATA,sha256=kZdcKvpUsJgcN3ehjbYOp5MQ6rJ_TvRX4d73CNt0QMQ,13423
|
|
382
|
+
akshare-1.15.61.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
|
383
|
+
akshare-1.15.61.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
|
|
384
|
+
akshare-1.15.61.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|