Python量化交易,绝对干货!Tushare将股票行情存入Mysql数据库

前言

我们做量化交易,首先第一关遇到的问题,就是数据的获取。

为了获得股票行情的数据信息,很多量化交易者会选择去购买别人别人的接口或者是现成的数据,有些数据接口还蛮贵的,花了不少钱。其实,我们用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,连接成功》


Python量化交易,绝对干货!Tushare将股票行情存入Mysql数据库

navicate连接mysql


Python量化交易,绝对干货!Tushare将股票行情存入Mysql数据库

数据库连接成功

我们右键该连接,直接创建一个数据库:tushare_600000


Python量化交易,绝对干货!Tushare将股票行情存入Mysql数据库


pip安装mysql连接


首先,安装PyMySQL

<code>pip install PyMySQL/<code>
Python量化交易,绝对干货!Tushare将股票行情存入Mysql数据库

安装PyMySQL

再次,安装sqlalchemy,这个安装过程比较久,我们耐心等待一会。sqlalchemy是一个ORM框架,额,有点专业,简单说就是用这个包,我们可以方便实现数据库的增删改。

<code>pip install 传/<code>


Python量化交易,绝对干货!Tushare将股票行情存入Mysql数据库

安装sqlalchemy

此外,还要安装mysqlclient

<code>pip install mysqlclient/<code>


Python量化交易,绝对干货!Tushare将股票行情存入Mysql数据库

pip安装mysqlclient


OK,安装成功。

至此,我们数据仓库所需要的环境已经准备完毕,下面我们只需要获取股票行情数据,并往里面加即可。


<code>Tushare获取行情数据/<code>

安装tushare

tushare我们之前已经安装过了,如果不会安装的,请看我们的往期文章哦。

利用tushare获取历史数据

我们现在读取600000这只股票的历史tick数据,指定日期从2020年3月25日,代码如下,只需两行即可!

<code>import tushare as ts

df = ts.get_tick_data('600000', date='2020-03-25', class="lazy" data-original='tt')
print(df)/<code>

查看打印的结果

Python量化交易,绝对干货!Tushare将股票行情存入Mysql数据库

结果可以看到我们成功获取了2020-03-25的600000股票的tick数据,下面我们将数据存入mysql数据库中。

数据存入Mysql数据库

引入之前安装的两个包

<code>from sqlalchemy import create_engine
import tushare as ts/<code>

获取tick数据

<code>df = ts.get_tick_data('600000', date='2020-03-25', class="lazy" data-original='tt')/<code>

创建mysql连接引擎并存入数据,数据库用我们第一步创建的 tushare_600000,端口默认为:3306

<code>engine = create_engine('mysql://root:[email protected]:3306/tushare_600000?charset=utf8')
df.to_sql('tick_data', engine)/<code>

以下是完整的代码,只需不到5,6行即可完成:

<code>from sqlalchemy import create_engine
import tushare as ts

df = ts.get_tick_data('600000', date='2020-03-25', class="lazy" data-original='tt')
engine = create_engine('mysql://root:[email protected]:3306/tushare_600000?charset=utf8')
df.to_sql('tick_data', engine)/<code>

执行py文件后,我们打开数据库,查看tushare_600000数据库,查看结果如下:


Python量化交易,绝对干货!Tushare将股票行情存入Mysql数据库

数据库结果

可以看到,数据已经完整保存进去了。


以上就是我们今天讲的,利用tushare拉取股票行情数据,并保存到mysql数据库,作为我们今后的量化交易分析的数据仓库。

在学习量化交易过程中有什么问题,欢迎给我留言!欢迎转载我的文章,分享给更多想学习量化交易的朋友。


分享到:


相關文章: