数据基础 如果说量化投资是对主观投资经验的更上一层楼,那数据无疑是大楼的根基,抛开数据谈方法纯属纸上谈兵,甚至同一份数据,不同的处理方法得出的结果会大相径庭。正常来讲,基础数据获取、维护、清洗的劳动量,占量化工作量的一半以上很正常,对于散户来说,一份能够简便获取的数据源尤为重要。 大象放进冰箱……数据库落地只需要三个步骤: 一、 配置本地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日线数据涨跌幅是百分比,周线数据涨跌幅是非百分比小数),然后才能进入到根据回测逻辑、统计特征进行选数、清洗的阶段(最最头疼的内容之一)。 ![]() |
|