Python量化数据仓库搭建系列1:数据库安装与操作
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、创建数据库
create database <数据库名>;
在MySQL Workbench界面中,建库操作如下图:
2、删除库
drop database <数据库名>;
3、创建表
create table table_name(column_name column_type);
以股票列表为例,建表代码如下:
/*
参数名 类型 长度 说明 备注
secu_code String 20 证券代码
hs_code String 20 HS代码
secu_abbr String 20 证券简称
chi_name String 20 中文名称
secu_market String 20 证券市场
listed_state String 20 上市状态
listed_sector String 20 上市板块
*/
CREATE TABLE udata.TB_Stock_List (secu_code CHAR(20),hs_code CHAR(20),secu_abbr CHAR(20),chi_name CHAR(40),secu_market CHAR(20), listed_state CHAR(20),listed_sector CHAR(20),updatetime CHAR(20));
4、删除表
drop table table_name;
5、修改表名
alter table old_name rename to new_name或rename table old_name to new_name;
6、增加字段
alter table table_name add column_name column_type;
7、修改字段
alter table table_name change column_name new_column_name new_column_name_type;
8、删除字段
alter table table_name drop column_name;
9、插入数据
INSERT INTO table_name ( field1, field2,...fieldN )VALUES( value1, value2,...valueN );
10、查询数据
SELECT column_name1,column_name2
FROM table_name
[WHERE Clause]
[LIMIT N]
A、查询语句中,可以使用一个或者多个表,表之间使用逗号分割,并使用WHERE语句来设定查询条件;
B、SELECT 命令可以读取一条或者多条记录;
C、可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据;
D、可以使用 WHERE 语句来包含任何条件;
E、可以使用 LIMIT 属性来设定返回的记录数
11、WHERE用法
SELECT field1, field2,...fieldN FROM table_name1, table_name2
WHERE condition1 AND condition2
A、使用 AND 或者 OR 指定一个或多个条件;
B、WHERE 子句也可以运用于 SQL 的 DELETE 或者 UPDATE 命令;
C、WHERE 子句类似于程序语言中的 if 条件;
12、UPDATE用法
UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]
A、可以同时更新一个或多个字段;
13、DELETE用法
DELETE FROM table_name [WHERE Clause]
A、如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除;
14、排序
SELECT field1, field2,...fieldN FROM table_name1, table_name2...
ORDER BY field1 [ASC [DESC][默认 ASC]], [field2...] [ASC [DESC][默认 ASC]]
A、可以设定多个字段来排序;
B、可以使用 ASC 或 DESC 关键字来设置查询结果是按升序或降序排列。 默认情况下,它是按升序排列;
15、其他
UNION、LIKE、GROUP BY、JOIN、NULL、索引、临时表等等,更多用法可参考专业教程系统学习。
下一节《Python量化数据仓库搭建系列2:Python操作数据库》
Python量化数据仓库搭建系列1:数据库安装与操作相关推荐
- python蜡烛图预测_【Python量化投资】系列之SVR预测第二天开盘趋势和股价的正负统计分析(附代码)...
原标题:[Python量化投资]系列之SVR预测第二天开盘趋势和股价的正负统计分析(附代码) 本期导读 ⊙ML.SVM介绍 ⊙股价的正负统计分析 ⊙预测第二天开盘趋势 机器学习方法是计算机科学的一个分 ...
- 数据库 用Python把数据写入到MySQL数据库/如何使用Python将数据写入到阿里云的RDS-MYSQL
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/weixin_42555401 需要解决的问题: 1.用Python把数据写入到MySQL数据库? 2 ...
- Python量化交易实战-40easytrader开发环境安装
B站配套视频教程观看 初始化easytrader开发环境 一.安装对象 1.1客户端安装 股票的客户端,可以是券商,比如说华泰.海通.也可以是第三方平台,东方财富.同花顺.但是由于easytrader ...
- 金融数据api(tgw)与talib结合,量化因子的高性能计算——量化数据中台系列(7)
tgw 的github https://github.com/tgw2023/tgw 量化数据中台系列(六)--复权算法详解与代码实现细节解析(tgw)已经详细介绍了复权因子计算. 本文结合tgw与t ...
- Oracle数据库安装图文操作步骤
Oracle数据库安装图文操作步骤 一.Oracle 下载 注意Oracle分成两个文件,下载完后,将两个文件解压到同一目录下即可. 路径名称中,最好不要出现中文,也不要出现空格等不规则字符. 官方下 ...
- python增删改查mysql_python对数据库mysql的操作(增删改查)
#coding=utf-8 import pymysql # #查询 # def connMySQL(): # try: # conn=pymysql.connect('localhost','roo ...
- tgw介绍和股票历史日线数据程序化下载——量化数据中台系列(四)
github 1. tgw https://github.com/tgw2023/tgw 2. AmazingQuant https://github.com/zhanggao2013/Amazing ...
- python输出数据到excel-Python从数据库导出数据到Excel
#coding=utf-8 import pymysql import xlwt import importlib,sys importlib.reload(sys) # __author__ = ' ...
- 利用tgw本地存储K线行情数据——量化数据中台系列(五)
github 1. tgw https://github.com/tgw2023/tgw 2. AmazingQuant https://github.com/zhanggao2013/Amazing ...
最新文章
- MS_SQL_获取字符串最后出现的字符串及位置
- IsWow64的真实用途
- Microsoft Visual SourceSafe 使用指南
- linux下实用小脚本,十个增加 Linux Shell 脚本趣味的小工具
- 网站系统安全防护体系建设方案
- 【Linux】一步一步学Linux——pmap命令(145)
- 从web编辑器 UEditor 中单独提取图片上传,包含多图片单图片上传以及在线涂鸦功能...
- c/c++ 继承与多态 文本查询的小例子(非智能指针版本)
- Spark Run本地设计模式
- leetcode题解153-寻找旋转排序数组的最小值
- 高通平台环境搭建,编译,系统引导流程分析
- hijson,64位百度云永久免费,这是一个爱分享的世界
- 计算机网上邻居的网络密码是什么,网上邻居打开时需访问密码是怎么回事
- 服务器系统安装net,.Net Framework的安装教程
- SpringCloud Day05---服务网关(Gateway)
- 企业信息化有哪些好处?
- 那位仁兄或者仁姐能给小弟一个菊花论坛的邀请码
- steam同乐无法连接远程计算机,Steam远程同乐功能怎么用 Steam远程同乐功能使用教程...
- 台式计算机idc数据排名,2019年电脑销量排行_IDC:2019年中国PC市场预测销量持续走低...
- java 有五个学生_《Java程序设计》 创建5个学生对象,给一个学生数组赋值,每个学生属性有:学号,姓名,年龄。...
热门文章
- 清华大学(软件学院)-中冶赛迪信息技术(重庆)有限公司流程造业大数据联合研究中心成立仪式暨2023年度管委会成功举行...
- 看现在的影视电视剧植入广告和软件模式
- C# 多线程四:互斥量Mutex的简单理解与运用
- Chrome出现“浏览器由所属组织管理”如何解决
- 一位CSDN牛人的详尽触摸屏校正方法
- 从CreateFile(APP)到NtCreateFile(Kernel Mode)
- Intent的七大属性, ComponentName、 Action 、 Category 、 Data 、Type、 Extra 、Flags。
- 当SRS遇到K8S,快速高效运营直播流媒体集群
- 4 年前端狗,面试被虐,如何翻身(速来!!!)
- 张小龙谈移动互联网产品[转]