600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 小散量化炒股记|如何用MySQL搭建本地股票量化数据库

小散量化炒股记|如何用MySQL搭建本地股票量化数据库

时间:2022-10-31 16:18:42

相关推荐

小散量化炒股记|如何用MySQL搭建本地股票量化数据库

前言

数据是量化交易的源头,如何高效地管理大量数据是量化交易分析中非常关键的环节。数据库就是最佳的解决方案。

通过API接口获取到股票行情数据之后,我们可以存入到数据库之中,这样下次调用的时候只需要从本地数据库中获取即可。

目前流行的数据库有Oracle、MySQL、MongoDB、Redis、SQLite……关于数据库的选型通常取决于性能、数据完整性以及应用方面的需求。每个数据库都有它的特点和最适合的应用场合。

我的书籍《Python股票量化交易从入门到实践》上推荐的是轻型数据库SQLite,适用于无须多用户访问,数据容量小于2TB,无须海量数据处理的小型应用场景。

如果追求更全面的功能、更强大的性能,特别在并发处理上要求高效的话,MySQL无疑是所有大型数据库中最为流行的一个。

接下来我们就来介绍下如何在本地搭建MySQL数据库

安装MySQL

首先去官网下载MySQL。点击Downloads—>Community,选择MySQL Community Server。

选择对应的安装文件后开始下载。下载完成后,打开安装包,开始安装MySQL。

选择需要的版本:

需要安装下依赖的Visual C++

然后按以下的步骤一步步操作即可。

输入账户和密码:

到此为止,MySQL就成功地安装在你的本地电脑上了。

一个基础的例程

接下来用一个简单的例程使用下MySQL。

使用Python操作MySQL可以安装pymysql这个库。

pip install pymysql

使用pymysql打开数据库连接代码如下,其中host为localhost,port为3306

self.conn = pymysql.connect(host=host, port=self.port, db=self.db, user=self.user, password=self.password)

如果在打开MySQL时出现报错:

RuntimeError: 'cryptography' package is required for sha256_password or caching_sha2_password auth methods

原因缺少了cryptography库,安装一下即可。

pip3 install cryptography -i /simple

获得一个可以执行SQL语句的光标对象:

self.cursor = self.conn.cursor()

执行SQL语句,比如sql是"SELECT * FROM stock",即查看stock表中全部内容。

self.cursor.execute(sql)mit()

关闭数据库连接如下:

self.conn.close()

如果我们处理的是Dataframe数据的话,那么保存到数据库时可以直接使用to_sql。需要注意的一点是使用to_sql,只能使用sqlalchemy库。代码如下所示:

from sqlalchemy import create_engineconn = create_engine("mysql+pymysql://root:yuanxiao@127.0.0.1:3306/quanttrader?charset=utf8")df=ts.get_hist_data('000001')df.to_sql(name='stock', con=conn, if_exists='append', index=False, index_label=False)

说明

完整代码我们会上传星球《Python量化场景编程技巧与方法》。

关于数据库是否要分表?如何分表?可以关注星球《Python量化场景编程技巧与方法》中的介绍。

《Python量化场景编程技巧和方法》围绕《玩转股票量化交易》中涉及到的一些内容,分享一些偏基础的关于Python编程技巧、Pandas编程技巧、数据库技巧、可视化编程技巧等等。

加入星球《玩转股票量化交易》的会员可以免费加入星球《Python量化场景编程技巧与方法》,微信联系我加入!!

元宵大师的量化交易书籍开售!!京东、当当、天猫有售!!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。