tushare获取 保存_量化交易中使用Tushare获取交易数据

导语:本文所讲述的实践内容在量化交易系统中,属于数据获取部分,暂时不涉及策略和交易内容,如果对此失望朋友可以暂时绕过并关注后继更新。

用Tushare筛选上涨10倍以上的大牛股

专辑:《追忆那些年曾经撸过的代码》

虽然,我是一个撸代码出生的人,但是我并不喜欢,满篇幅的堆积代码,主要还是讲解实现思路。

需求:筛选沪深曾经上涨10倍以上的大牛股,并以日收盘价/PE/PS/PB等指标绘制曲线图。

分析:沪深股票一共4000支左右,数据量不大,通过Tushare的stock_basic接口可以取得。收盘价可以通过Tushare的daily_basic(日交易指标) 或者daily(日行情)接口取得,也可以通过weekly(周行情)或者monthly(月行情)接口取得。

方案A:直接通过日行情接口获取每天收盘价,这样一共4000*250个交日易*10年,然后从全部日交易数据中求出每支股票的最高价和最低价,然后筛选出10倍以上的。

此方案,有个缺点,我们只要10倍以上的大牛股,但是却遍历了所有股票10年每天的数据,这对于存贮和API调用次数都是极大的浪费。

方案B:通过月行情数据获取当月最高收盘价和最低收盘价,这样12条数据就能知道1支股票1年的最高价和最低价,所以先计算出10倍以上的股票有哪些。然后再获取这些股票的日行情数据。假设10倍以上大牛神股一共100条,日行情记录数为100*250个交日*10年。大大节约了接口的调用次数和存储空间。

具体代码就不在这里贴了,主要介绍下用到的接口:

stock_basic:主要获取沪深4000多支股票的代码。

monthly:主要用来获取每个月的每支股票的最高价和最低价。

stock_basic:这里用stock_basic而不是daily是因为stock_basic包含了PE、PB、PS换手率等指标数据,方便以后使用。

开发中关于数据库设计、报表展示、定时任务不是本文重点,所以此处略过。

看看最终数据报表:

你会发现,比贵州茅台神奇的股票还是有不少的,常年霸榜的长春高新,直到昨天还在涨。

总结问题:在量化开发的过程中,我们保存了从2002年到今天的每天每支股票的交易数据,这个数据量还是非常庞大的。如下图所示:累计800多万条记录,光数据存储量就达到940M,这么庞大的数据在查询时候有可能非常耗费时间和性能,所以在真正策略回测时候,需要根据回测时间周期来进行拆表。比如10倍以上的大牛股的数据就拆成3张表,最后用到的就是xdiffer和view_dailyx_p30。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值