获取下股票分时数据,分时均价下线,分时成交额等,用于量化t0交易条件还是很不错了的。
代码如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests
import time
import json
import pandas as pd
def fenshishuju_dfcf(daima):
if daima[:2] == "sh":
lsbl = '1.'+daima[2:]
else:
lsbl = '0.' + daima[2:]
wangzhi = "http://push2his.eastmoney.com/api/qt/stock/trends2/get?&fields1=f1%2Cf2%2Cf3%2Cf4%2Cf5%2Cf6%2Cf7%2Cf8%2Cf9" \
"%2Cf10%2Cf11%2Cf12%2Cf13&fields2=f51%2Cf52%2Cf53%2Cf54%2Cf55%2Cf56%2Cf57%2Cf58&" \
"ut=7eea3edcaed734bea9cbfc24409ed989&ndays=1&iscr=0&secid="+lsbl+ \
"&_=1643253749790"+str(time.time)
resp = requests.get(wangzhi, timeout=6)
# print (resp) #打印请求结果的状态码
data = json.loads(resp.text)
shuju = {'日期时间': [], '最新价': [], '均价': [], '成交额': []}
for k in data['data']['trends']:
lsbl = k.split(",")
shuju['日期时间'].append(lsbl[0])
shuju['最新价'].append(lsbl[2])
shuju['均价'].append(lsbl[-1])
shuju['成交额'].append(lsbl[-2])
shuju = pd.DataFrame(shuju)
print(shuju)
return shuju
if __name__ == '__main__':
while 1:
fenshishuju_dfcf('sh603102')
time.sleep(3)
输出类容如下:
日期时间 最新价 均价 成交额
0 2022-02-10 09:30 56.89 56.890 2264222.00
1 2022-02-10 09:31 56.56 56.841 4630597.00
2 2022-02-10 09:32 56.12 56.624 4401588.00
3 2022-02-10 09:33 56.69 56.595 3208860.00
4 2022-02-10 09:34 56.59 56.604 2413617.00
.. ... ... ... ...
145 2022-02-10 13:25 58.00 57.363 1622300.00
146 2022-02-10 13:26 57.82 57.365 625338.00
147 2022-02-10 13:27 57.77 57.366 485362.00
148 2022-02-10 13:28 57.77 57.366 150270.00
149 2022-02-10 13:29 57.81 57.366 156062.00
程序化交易系统文档: http://jinxin168.gitee.io/xcxh_bangzhu/
w :XCXH_JY