分享

python量化系列丨数据基础——本地数据库的搭建

 伊伊爸 2022-07-10 发布于湖北

数据基础

如果说量化投资是对主观投资经验的更上一层楼,那数据无疑是大楼的根基,抛开数据谈方法纯属纸上谈兵,甚至同一份数据,不同的处理方法得出的结果会大相径庭。正常来讲,基础数据获取、维护、清洗的劳动量,占量化工作量的一半以上很正常,对于散户来说,一份能够简便获取的数据源尤为重要。


图片


目前网上可获取的市场数据来源有很多,常见的有通过行情软件取数,如通达信、大智慧;从行情页面用爬虫取数;从开源数据库取数等。数据库的落地形式,又有csv、sql、excel几种。下面介绍一种适合初学者的Tushare+MySQL本地数据库管理组合,Tushare(https:///)是一个非常优秀的开源数据库,里面数据质量很高,全部经过了标准化处理,足够覆盖绝大部分数据需求,除此之外,重点是免费(提倡有余力的大佬适当捐助,维护数据真的是费心费力费钱);MySQL作为关系型数据库管理软件,经过多年发展已经非常成熟,sql语句入门不难,偶尔还能在处理数据上和python互补,虽然数据量上千万条或单个表格超1G以后可能遇到效率问题,但足以应付日频数据了。对初学者,尽可能选用成熟、保守、简便的工具,bug少,遇到问题容易解决,网上一搜一大把,只有遇不到的问题,没有找不到的答案。

大象放进冰箱……数据库落地只需要三个步骤:

一、 配置本地MySQL环境

1.安装MySQL

网上很多教程已经非常详细,不再赘述,记录好用户名、密码,后面用得上。

2.先建一个数据库,右键小图标,点击SQL Editor


图片

进入编辑页面,输入

CREATE DATABASE tem_demo;

点击小闪电图标执行,一个名为tem_demo的数据库就建好了,名称可自拟。检验数据库是否建立成功,输 入“show databases;”执行,可以在返回的列表中找到刚刚新建的库名。

3.建议修改MySQL数据库默认存储位置,刚安装好的MySQL默认数据全部存在C盘,建议改一下盘符,以防万一。修改方法请继续百度……注意,修改完my.Ini文件,在保存的时候,编码格式一定要选ANSI,否则服务无法正常启动。

4.再推荐一个小工具——HeidiSQL,体积很小,安装简单。类似的开源小工具有很多,MySQL的原生操作界面比较呆板,借助外力能大幅提高效率。

二、 数据下载

1.注册Tushare用户


图片

官网有详细指引(平台介绍—操作手册),跟着操作就行,积分越多权限越高,这也是提倡捐赠的重要原因,或者花点小钱去听听培训(平台介绍—实战培训课程),干货很多,实用不贵还赚积分,美滋滋~~~

2.熟悉Tushare数据结构

了解下你能利用的数据范围,以及怎样利用它们。页面上方数据接口点进去,左列是各项数据,注意下各表格单次提取的限制,这涉及取数阶段使用日期还是股票代码作为轮询关键字段的问题。

3.下载

这里的python代码分两块,一是从Tushare提数的语句,因为数据库流量有限,没办法一次性把一些大表格下载下来,需要写循环;二是python和MySQL的连接,写入数据、提取数据都用得上,这里用的是sqlalchemy包。下面代码以下载日线数据(表名daily)为例,下载其他数据表,修改相应表名即可。

图片

4.修改本地数据类型

表格下载结束后,还要将下载好的数据类型修改成和Tushare一致,比如daily表中,前两个字段是字符型,其他字段是浮点型。

图片

小工具HeidiSQL派上用场了,进入软件,左侧找到数据库tem_demo下的表格daily,可见新表格数据类型与Tushare并不一致,直接点击修改数据类型,点击保存。注意,数据库过大时保存会出错,建议先对股票代码或交易日期进行截取,下载少量数据,完成数据类型修改后,再下载剩余数据。

图片

三、 在python中调用MySQL数据

本地数据的调用很简单,套下面的代码就行了,没太多需要注意的

图片

建立本地数据库还只是万里长征第一步,后续还有大量的更新维护工作,在正式使用数据之前,尤其需要反复检验数据是否足够规范,比如价格数据是否需要复权,有多条记录的财报数据是否只保留了最新值,不同表中相同字段量纲是否一致(比如Tushare日线数据涨跌幅是百分比,周线数据涨跌幅是非百分比小数),然后才能进入到根据回测逻辑、统计特征进行选数、清洗的阶段(最最头疼的内容之一)。

图片

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多