写在前面

量化回测必不可少的就是历史数据了,一般要求数据精度比较高的方式就是从数据服务商处购买数据服务,它们一般会将历史数据进行整理,免去了我们需要数据清洗的过程,提供数据服务的机构有很多,如RQdata、Wind等。如果对数据的精度要求不高,周期也没有什么要求的话,可以通过一些免费的Api接口来获取,如tushare、yahoo以及新浪财经。由于之前用过新浪财经进行爬取历史数据,所以本文先整理和总结一下新浪财经获取历史数据的方式。

获取股票历史数据

股票支持的周期有5m、15m、30m、60m以及日线,新浪股票数据API接口如下:

5分钟:
https://quotes.sina.cn/cn/api/json_v2.php/CN_MarketDataService.getKLineData?symbol=sh000001&scale=5&datalen=1023
15分钟:
https://quotes.sina.cn/cn/api/json_v2.php/CN_MarketDataService.getKLineData?symbol=sh000001&scale=15&datalen=1023
30分钟:
https://quotes.sina.cn/cn/api/json_v2.php/CN_MarketDataService.getKLineData?symbol=sh000001&scale=30&datalen=1023
60分钟:
https://quotes.sina.cn/cn/api/json_v2.php/CN_MarketDataService.getKLineData?symbol=sh000001&scale=60&datalen=1023

其中symbol参数就是我们需要的品种的代码,scale是周期,datalen是获取数据的长度,最大就是1023。

获取期货历史数据

商品期货

商品期货支持的周期有5m、15m、30m、60m以及日线,先贴一下新浪期货的商品期货API接口:

5分钟:
http://stock2.finance.sina.com.cn/futures/api/json.php/IndexService.getInnerFuturesMiniKLine5m?symbol=rb191015分钟:
http://stock2.finance.sina.com.cn/futures/api/json.php/IndexService.getInnerFuturesMiniKLine15m?symbol=rb191030分钟:
http://stock2.finance.sina.com.cn/futures/api/json.php/IndexService.getInnerFuturesMiniKLine30m?symbol=rb191060分钟:
http://stock2.finance.sina.com.cn/futures/api/json.php/IndexService.getInnerFuturesMiniKLine60m?symbol=rb1910日K线:
http://stock2.finance.sina.com.cn/futures/api/json.php/IndexService.getInnerFuturesDailyKLine?symbol=rb1910

在使用时,只需要把其中的rb1910换成需要的合约即可。得到的数据是以当前时刻为基准,往前推移一段时间的历史数据。

股指期货

股指期货支持的周期有5m、15m、30m、60m以及日线,先贴一下新浪财经的股指期货API接口:

5分钟:
http://stock2.finance.sina.com.cn/futures/api/json.php/CffexFuturesService.getCffexFuturesMiniKLine5m?symbol=IF190815分钟:
http://stock2.finance.sina.com.cn/futures/api/json.php/CffexFuturesService.getCffexFuturesMiniKLine15m?symbol=IF190830分钟:
http://stock2.finance.sina.com.cn/futures/api/json.php/CffexFuturesService.getCffexFuturesMiniKLine30m?symbol=IF190860分钟:
http://stock2.finance.sina.com.cn/futures/api/json.php/CffexFuturesService.getCffexFuturesMiniKLine60m?symbol=IF1908日线:
http://stock2.finance.sina.com.cn/futures/api/json.php/CffexFuturesService.getCffexFuturesDailyKLine?symbol=IF1908

通过上面的股票、商品期货和股指期货接口得到的是json格式的数据,所以需要对得到的json数据进行解析,下面是获取历史数据的代码,如需要不同周期或者不同品种的数据只需要更改一下url即可,下面的代码以获取期货数据为例:

from urllib import request
import jsondef get_data(id):url_60m = 'http://stock2.finance.sina.com.cn/futures/api/json.php/IndexService.getInnerFuturesMiniKLine5m?symbol='url = url_60m + idreq = request.Request(url)rsp = request.urlopen(req)res = rsp.read()res_json = json.loads(res)bar_list = []res_json.reverse()for line in res_json:bar = {}bar['date'] = line[0]bar['open'] = float(line[1])bar['high'] = float(line[2])bar['low'] = float(line[3])bar['close'] = float(line[4])bar['vol'] = int(line[5])bar_list.append(bar)print(bar_list)if __name__ == '__main__':get_data('rb1910')

【python量化】python通过新浪财经获取金融衍生品历史数据相关推荐

  1. Python量化交易实战:获取股票数据并做分析处理

    量化交易(也称自动化交易)是一种应用数学模型帮助投资者进行判断,并且根据计算机程序发送的指令进行交易的投资方式,它极大地减少了投资者情绪波动的影响.量化交易的主要优势如下: 快速检测 客观.理性 自动 ...

  2. python获取股票历史数据_量化交易之如何获取股票历史数据并存为csv

    量化研究尤其是进行基于价值投资的量化研究,需要上市公司的历史估值数据,如市盈率PE,市净率PB,或者市销率PS,市现率PCF.而有的人喜欢用exce或者csv文件的格式存放数据并且分析.我这里介绍一个 ...

  3. Python量化入门系列:获取数据-Tushare获取股票数据(1)

    做量化用到的数据一般包括二级市场各种数据.宏观经济各种数据以及一些特殊需求的网页数据,需要有通过python获取数据.常见的获取数据方式有三种: 一是通过SQL语言从数据库获取数据,适用于二级市场和宏 ...

  4. python量化分析系列之---使用python获取股票历史数据和实时分笔数据

    财经数据接口包tushare的使用(一) Tushare是一款开源免费的金融数据接口包,可以用于获取股票的历史数据.年度季度报表数据.实时分笔数据.历史分笔数据,本文对tushare的用法,已经存在的 ...

  5. python量化分析系列之---5行代码实现1秒内获取一次所有股票的实时分笔数据

    python量化分析系列之---5行代码实现1秒内获取一次所有股票的实时分笔数据 最近工作太忙了,有一个星期没有更新文章了,本来这一期打算分享一些对龙虎榜数据的分析结果的,现在还没有把数据内的价值很好 ...

  6. python量化投资必背代码-量化投资:用Python实现金融数据的获取与整理

    小编说:数据可以说是量化投资的根本,一切投资策略都是建立在数据基础上的.本文以优矿网为例,带领大家用Python实现金融数据的获取与整理. 本文选自<Python与量化投资:从基础到实战> ...

  7. python获取时间周数_【手把手教你】Python量化策略风险指标

    如何衡量一个量化策略的好坏?一是比较稳定的收益,二是有严谨的回测,三是有清晰的逻辑.--刘富兵 引言 引言尽管过去不能代表未来,通过历史回测来评估量化策略仍然是量化投资非常重要的一环.量化回测过程中常 ...

  8. 量化金融投资及其python应用_量化投资:用Python实现金融数据的获取与整理

    小编说:数据可以说是量化投资的根本,一切投资策略都是建立在数据基础上的.本文以优矿网为例,带领大家用Python实现金融数据的获取与整理. 本文选自<Python与量化投资:从基础到实战> ...

  9. 【python量化交易学习】pandas获取mysql数据,使用pyecharts画K线图,ma移动均线。

    将pyecharts官方提供的数据源,替换成已经存在mysql中的数据.画出专业的k线图(k线+ma移动均线+交易额柱状图(单位是千)) 参考: [python量化交易学习]pandas获取tusha ...

最新文章

  1. 4、数据类型二:Lists
  2. 潭州Java中级班(day_05)
  3. 区块链技术公司谈找到合适的激励机制
  4. OrderOnline——设计概述
  5. ROS-WIKI——编写简单的发布者和订阅者(C++和Python版本)
  6. 记录数据库内一条记录的更新时间
  7. JavaScript正则表达式补充
  8. mysql查询与索引优化2
  9. linux debian安装ssh,Ubuntu Linux上安装SSH和vsFTPd的方法
  10. 使用代码段遍历,枚举类型Enum
  11. 运输问题基本解 最小元素法
  12. 拍拍贷第三届“魔镜杯”启动 :10万美金邀你“秀出你的算法!”
  13. 腾讯广点通DMP广告数据提交回传对接方法解析
  14. 免费报表软件有哪些?5款热门工具
  15. 分享55个计数统计PHP源码,总有一款适合你
  16. Beer Mugs(思维)
  17. Sigcomm2019 High Precision Congestion Control(HPCC)论文阅读笔记
  18. python to apk
  19. 惩罚宝宝十个科学方法
  20. 计算机美化标题教案,计算机基础教案标题.doc

热门文章

  1. 华为手机大变?余承东被传离职转岗,进军美国受阻惹的祸?
  2. 100个高频Spring面试题,助你一臂之力
  3. Git搭建私有服务器
  4. win10卸载IE11后无法安装,启用windows功能的复选框消失。该如何解决?
  5. JETSON NANO清除磁盘(SD卡无法被电脑识别)
  6. 金大侠眼光果然犀利:《笑傲江湖》只值一块钱
  7. 知识点六:jQuery遍历-同胞Siblings(), next(), nextAll()
  8. R语言中使用UpSet包绘制多集合Venn图
  9. ps aux|grep xxx详解
  10. java 多线程 售票_Java 多线程 之 火车站售票实例