获取下股票分时数据,分时均价下线,分时成交额等,用于量化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