Python 量化数据仓库搭建系列 1:数据库安装与操作
本系列教程为量化开发者,提供本地量化金融数据仓库的搭建教程与全套源代码。我们以恒有数(UDATA)金融数据社区为数据源,将金融基础数据落到本地数据库。教程提供全套源代码,包括历史数据下载与增量数据更新,数据更新任务部署与日常监控等操作。
一、数据仓库
数据仓库(Data Warehouse)简称 DW 或 DWH,数据仓库顾名思义,是一个很大的数据存储集合。是数据库的一种概念上的升级,输入方是各种各样的数据源,最终的输出用于数据分析、量化分析、数据挖掘、数据报表等方向,从逻辑上讲数据仓库和数据库是没有什么区别的。
二、数据库选型
目前常用的开源免费数据库有 MySQL、MongoDB 、Postgresql 和 SQLite (Python 自带)。在 2020-2021 年 DB-Engines 排行榜前十的见下图,各个数据库有各自的特点和适用场景。具体选用哪一个作为量化投资的数据库,取决于存储的数据特点、性能要求和成本。对于个人来说,硬件水平、技术水平、费用成本和学习时间成本等因素都相当重要。
本系列教程,选用 MySQL 数据库为例,讲解数据仓库的搭建过程。其他数据库相关教程,也将会陆续推出,敬请期待。
MySQL 数据库是当今最流行的开放源码数据库之一,为用户提供了一个相对简单的解决方案,适用于广泛的应用程序部署。MySQL Community Server 是 MySQL 数据库的免费开源版,对个人用户非常友好。
三、数据库安装
1、MySQL Community Server 安装包下载
安装包下载网页为:https://dev.mysql.com/downloads/mysql/,选择对应的操作系统,点击下载,例如下图为下载 64 位 Windows 系统 MySQL Community Server 安装包:
2、软件安装
A、双击安装包,进行安装;
B、Choosing a Setup Type 页面,选择 Developer Default,点击 next 进入下一步;
C、Path Conflicts 页面,确认安装路径与数据存放路径,点击 next 进入下一步;
D、Check Requirements 页面,检查安装条件,直接点击 next 进入下一步;
E、Installation 页面,点击 execute 执行(此处等待时间较久),执行完后点击 next 进入下一步;
F、Product Configuration 页面,点击 next 进入下一步;
G、Type and Networking 页面,点击 next 进入下一步;
H、Authentication Method 页面,点击 next 进入下一步;
I、Accounts and Roles 页面,设置 Root 密码,点击 next 进入下一步;
J、Windows Service 页面,点击 next 进入下一步;
K、Apply Configuration 页面,点击 execute 执行,点击 Finish;
L、Product Configuration 页面,点击 next 进入下一步;
M、MySQL Router Configuration 页面,点击 Finish;
N、Product Configuration 页面,点击 next 进入下一步;
O、Connect To Server 页面,填写并 check 一下 root 密码,点击 next 进入下一步;、
P、Apply Configuration 页面,点击 execute 执行,点击 Finish;
Q、Product Configuration 页面,点击 next 进入下一步;
R、Installation Complete 页面,点击 Finish;
完成上述步骤,即可完成安装。
四、MySQL 基本使用教程
1、创建数据库
在 MySQL Workbench 界面中,建库操作如下图:
2、删除库
3、创建表
以股票列表为例,建表代码如下:
4、删除表
5、修改表名
6、增加字段
7、修改字段
8、删除字段
9、插入数据
10、查询数据
A、查询语句中,可以使用一个或者多个表,表之间使用逗号分割,并使用 WHERE 语句来设定查询条件;
B、SELECT 命令可以读取一条或者多条记录;
C、可以使用星号(*)来代替其他字段,SELECT 语句会返回表的所有字段数据;
D、可以使用 WHERE 语句来包含任何条件;
E、可以使用 LIMIT 属性来设定返回的记录数
11、WHERE 用法
A、使用 AND 或者 OR 指定一个或多个条件;
B、WHERE 子句也可以运用于 SQL 的 DELETE 或者 UPDATE 命令;
C、WHERE 子句类似于程序语言中的 if 条件;
12、UPDATE 用法
A、可以同时更新一个或多个字段;
13、DELETE 用法
A、如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除;
14、排序
A、可以设定多个字段来排序;
B、可以使用 ASC 或 DESC 关键字来设置查询结果是按升序或降序排列。 默认情况下,它是按升序排列;
15、其他
UNION、LIKE、GROUP BY、JOIN、NULL、索引、临时表等等,更多用法可参考专业教程系统学习。
下一节《Python 量化数据仓库搭建系列 2:Python 操作数据库》
版权声明: 本文为 InfoQ 作者【恒生LIGHT云社区】的原创文章。
原文链接:【http://xie.infoq.cn/article/a29b6b51a87d99687c5ce8ad8】。文章转载请联系作者。
评论