前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >专题研究|量化交易怎么少得了数据库管理!来看一款Python内置的数据库

专题研究|量化交易怎么少得了数据库管理!来看一款Python内置的数据库

作者头像
数据科学实战
发布2020-05-07 17:03:47
2K0
发布2020-05-07 17:03:47
举报
文章被收录于专栏:数据科学实战数据科学实战

开场

Python 进行数据分析和价值挖掘是当前炙手可热的技术领域,如何高效地管理大量数据是其中非常关键的环节。数据库是最佳的解决方案之一,目前流行的数据库有Oracle、MySQL、MongoDB、Redis、SQLite……关于数据库的选型通常取决于性能、数据完整性以及应用方面的需求。

当然,适合自己的才是最好的!

  • 假如有朋友是在第三方平台上做回测、模拟交易的,那么完全不用考虑数据库的问题,平台都替大家管理好了。
  • 假如有朋友不习惯这些平台的风格和使用习惯,想自己搭建一套属于自己的量化框架,那么数据管理是非常重要的,毫不犹豫的要上数据库了。

如何选择数据库呢?

想必大家耳熟能详的几款一定是Oracle、MySQL、MongoDB、Redis……这些数据库的确非常优秀,无论是功能还是性能都非常强大,是企业级别应用的最佳选择。但是也会带来一个问题——上手难度大,学习成本太高,对于个体的量化交易者来说,有点杀鸡用牛刀了,好不容易上手了,发现只是用到了冰山一角的功能,白忙活一阵!

于是诞生了今天的主题!

本场Chat推荐一款Python内置的轻型数据库——SQLite3,它本身是用C写的,不但体积小巧,而且处理速度快,非常适合用于Python金融量化分析爱好者在本地实现数据管理。

推荐理由

DB-Engines发布的全球数据库流行度排名,如下图所示。

排名前五的一如既往还是Oracle、MySQL、Microsoft SQL Server、PostgreSQL、MongoDB。

不过每个数据库都有它的特点和最适合的应用场合,这里我们推荐一款轻型的关系型数据库SQLite,目前已经发布SQLite 3 版本,尽管SQLite几乎每个月都保持在10名左右,但我们还是强力推荐。

此处推荐理由如下

  • SQLite本身是C写,所以体积小巧,占用资源低
  • SQLite本身是C写,所以处理速度非常快
  • SQLite3支持Windows/Linux/Unix等主流操作系统
  • Python 2.5.x 以上版本默认内置SQLite3,无需单独安装和配置,直接使用!!!

当我们仅仅是用于本地的数据管理,无需多用户访问,数据容量小于2T,无需海量数据处理,关键是要求移植方便、使用简单、处理迅速的话,SQLite确实是个很不错的选择。

专题简介

本场Chat以股票交易数据为例具体介绍如下内容:

  • 概述SQLite的发展和特点
  • Python操作SQLite的API介绍
  • Pandas操作SQLite的API介绍
  • 建立SQLite股票行情数据库
  • 基于SQLite股票行情数据分析

本场Chat 适用于具备Python 基础能力的同学,从中可以掌握在Python下通过SQLite实现大数据分析的技巧。

于是基于SQLite股票行情数据分析可以这样做。

比如查询'20190128'这天交易日收盘价在9到10元,涨幅超过5%的股票。

df = pd.read_sql_query("select *from 'STOCK000002' where close > 9 and close < 10 and pct_chg > 5 and trade_date == '20190128'", conn)

比如查询股价日涨幅超过5%的个股在19年1月至2月的分布,可以结合groupby()按关键字分组来实现功能。

df = pd.read_sql_query("select *from 'STOCK000002' where pct_chg > 5", conn) count_=df.groupby('trade_date')['ts_code'].count()

我们将分布情况用条形图展现。

同样的方法我们绘制出在19年1月至2月的期间,股价跌幅超过5%的分布图。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据科学实战 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档