前言
我们做量化交易,首先第一关遇到的问题,就是数据的获取。
为了获得股票行情的数据信息,很多量化交易者会选择去购买别人别人的接口或者是现成的数据,有些数据接口还蛮贵的,花了不少钱。其实,我们用python做量化交易时,有可以直接调用的第三方依赖包,比如tushare,通过这个包,我们可以直接免费获得我们想要的股票行情数据。
Tushare获取股票行情数据接口,我们之前文章已经比较仔细的讲了,我们这章主要来讲一下,将获得到的数据存入mysql数据库,做成我们需要的行情数据仓库。
首先,我们了解下这个数据仓库有什么用?
1 将历史数据存储,方便后续进行量化分析直接分析。
2 如果我们存到数据足够久,足够丰富,我们可以将这些数据提供接口出来,给别人调用,进行收费。
下面我们开始进行行情数据仓库的建造。
Mysql数据库安装及Python驱动连接安装
安装mysql数据库
我们使用mysql数据库来存储行情数据,所以我们先要安装mysql数据库,直接在windows上安装mysql。
mysql数据库的安装比较简单,大家可以自行百度:mysql数据库安装
如果安装有问题,可以直接私信我帮忙解决,这里就不再细讲。
安装完成mysql后,我们使用navicate连接并打开mysql连接,host:127.0.0.1,username一般是root,密码为刚安装数据库设置的密码。输入完成后,点击OK,连接成功》
我们右键该连接,直接创建一个数据库:tushare_600000
pip安装mysql连接
首先,安装PyMySQL
pip install PyMySQL
再次,安装sqlalchemy,这个安装过程比较久,我们耐心等待一会。sqlalchemy是一个ORM框架,额,有点专业,简单说就是用这个包,我们可以方便实现数据库的增删改。
pip install 传
此外,还要安装mysqlclient
pip install mysqlclient
OK,安装成功。
至此,我们数据仓库所需要的环境已经准备完毕,下面我们只需要获取股票行情数据,并往里面加即可。
Tushare获取行情数据
安装tushare
tushare我们之前已经安装过了,如果不会安装的,请看我们的往期文章哦。
利用tushare获取历史数据
我们现在读取600000这只股票的历史tick数据,指定日期从2020年3月25日,代码如下,只需两行即可!
import tushare as tsdf = ts.get_tick_data('600000', date='2020-03-25', src='tt')print(df)
查看打印的结果
结果可以看到我们成功获取了2020-03-25的600000股票的tick数据,下面我们将数据存入mysql数据库中。
数据存入Mysql数据库
引入之前安装的两个包
from sqlalchemy import create_engineimport tushare as ts
获取tick数据
df = ts.get_tick_data('600000', date='2020-03-25', src='tt')
创建mysql连接引擎并存入数据,数据库用我们第一步创建的 tushare_600000,端口默认为:3306
engine = create_engine('mysql://root:admin@127.0.0.1:3306/tushare_600000?charset=utf8')df.to_sql('tick_data', engine)
以下是完整的代码,只需不到5,6行即可完成:
from sqlalchemy import create_engineimport tushare as tsdf = ts.get_tick_data('600000', date='2020-03-25', src='tt')engine = create_engine('mysql://root:admin@127.0.0.1:3306/tushare_600000?charset=utf8')df.to_sql('tick_data', engine)
执行py文件后,我们打开数据库,查看tushare_600000数据库,查看结果如下:
可以看到,数据已经完整保存进去了。
以上就是我们今天讲的,利用tushare拉取股票行情数据,并保存到mysql数据库,作为我们今后的量化交易分析的数据仓库。
在学习量化交易过程中有什么问题,欢迎给我留言!欢迎转载我的文章,分享给更多想学习量化交易的朋友。