当前位置: 首页 > news >正文

1.量化第一步,搭建属于自己的金融数据库!

数据是一切量化研究的前提。 做量化没有数据,就相当于做饭时没有食材。

很多时候,我们需要从大量的数据中寻找规律,并从中开发出策略。如果我们每次使用的时候,都从网上去找数据,一方面效率低下,另一方面短时间大量的数据请求也很有可能招致封禁。

因此,搭建属于自己的金融数据库,势在必行!

很多人没有经验,会不自觉地产生畏难情绪,其实这个事情远没有大家想象的那么复杂。在这一系列文章中,我会一步一步地教会大家如何搭建好属于自己的金融数据库

这个过程中可能有些技能你从来没有接触过,比如编程。但是没关系,我之后会将过程中所有需要的代码打包提供出来,也可以提供一些咨询服务。我也在准备录制一系列视频教程,方便零基础的朋友更直观地学习每一个步骤。

接下来我先简单帮大家串一下,搭建自用金融数据库的核心步骤有哪些。

一、部署数据库服务

在这里插入图片描述

我们的数据需要有一个载体,就像储存水的时候需要一个容器一样。

根据老Q的经验,上手成本最低的方法主要有两类,一是用本地文件的形式来存储数据,二是使用关系型数据库来存储数据。

通过本地文件来进行大数据研究是一种效率非常低下的形式,数据的更新维护成本也相对较高,因此我比较推荐第二种。

那么部署一个关系型数据库需要什么条件呢?首先,我们需要有一台设备, 这个设备可以是你的个人电脑,可以是一台服务器,也可以是一台支持Docker服务的NAS。

这些方案都有什么优劣呢?

方案优势劣势
个人电脑成本较低,可以直接使用平时做量化研究的电脑来部署数据库。存储空间可能受限,且因为个人电脑一般不会随时随地开机并联网,因此数据并不是随时随地可用的。
服务器理论上云服务商的服务器甚至是数据库服务是最稳健的选择,平台稳定、工具完善。成本较高,访问速度受限于自己开通的服务器带宽以及家中网络的带宽。
NAS空间大、成本低。24小时运行,只要家中不断电断网,数据随时随地可用。性能一般较差,但大部分情况下也够用了。云服务商提供的数据库服务性能也就那样。
组合使用狡兔三窟,稳健,随时可用。成本高。

我自己的方案是组合使用,我在阿里云服务器、家中的个人服务器和NAS上都部署了数据库,并且配置了主从同步。这样的一个好处是我把同一份数据在三个地方存储了,一般来说总有一个地方可以用,同时都出问题的概率比较低。

我平时在家做投研时,主要使用家中的个人服务器,毕竟性能强劲且内网带宽基本不存在什么瓶颈问题。但是如果你是一个零基础的研究者,我建议选择个人电脑或者NAS(强烈推荐) ,两千左右就能买到一台性能还不错的支持Docker的NAS。

在选择了硬件之后,软件方面我建议大家直接选择开源免费的MySQL,群众基础好,文档资源丰富,搭建过程比较简单。

之后的章节里,我会手把手教大家如何在不同的设备上部署数据库服务。

二、找到可用的数据源

我罗列了一些常用的数据源,大家可以根据自己的实际情况来进行选择。我自己是以tushare和爬虫抓取为主、理杏仁为辅。在之后的章节里我会详细演示如何从这些平台获取数据。

数据源获取方式费用难度维护成本
券商网站爬虫免费
财经网站爬虫免费
tushare接口调用较低较低较低
理杏仁接口调用适中较低较低
量化平台
掘金/聚宽/米筐/优矿……
接口调用一般平台内使用免费,本地获取收费(昂贵)。
(掘金量化可以本地免费使用,但支持的数据有限。)
较低较低
财经数据库
Wind/iFind/iChoice
接口调用
金融终端下载
昂贵较低较低
量化交易工具
QMT/Ptrade
接口调用
终端内使用
券商开户免费,有门槛较低较低
官方统计网站爬虫/下载免费较低

三、创建数据库和数据表

对于初学者来说,想要数据库好用,最核心的地方就是设计好表结构和索引。

比如我们可能会有多个数据库分别存放股票、指数、外汇等资产相关的数据,同时在一个数据库下,我们还会在不同表里存储行情、财务、基本资料、技术指标等数据。

一般来说,我们为了提高数据的使用效率,会把常常一起使用且主键一致的数据放到一张表里,不常一起使用的数据则分开存放,避免冗余的存储和扫描。

这些技术细节还是等后续我们讲到的时候再展开聊,大家看不懂也没关系,我会直接提供好这些常用数据表的创建语句。

四、写入数据并定期更新

在这里插入图片描述

比较理想的情况是在最开始一次性灌入历史所有数据,然后再每天定时更新最新的数据。这种情况需要你有一台电脑能部署一些脚本。

不会编程的朋友也不必发愁,这些我都会逐一讲到,也会将全部脚本打包提供,到时候大家就按照老Q的教程配置好就行。


做完上述这些步骤以后,你就有了属于自己的好用的金融数据库了,接下来就可以愉快地玩耍了!关注后续更新,老Q手把手带你完成量化研究的准备工作!

http://www.lryc.cn/news/446971.html

相关文章:

  • git-repo系列教程(6) 在自己服务器上搭建git-repo仓库
  • 微服务——服务保护(Sentinel)(一)
  • jenkins声明式流水线语法详解
  • mini-lsm通关笔记Week2Overview
  • 基于SpringBoot的在线点餐系统【附源码】
  • 生成式语言模型底层技术面试
  • HTML开发指南
  • 共筑数据安全防线!YashanDB与SPU完成兼容性互认证
  • 【FastAPI】使用FastAPI和Redis实现实时通知(SSE)
  • Keyence_PL_MC_HslCommunication import MelsecMcNet
  • 软件架构的演变与趋势(软件架构演变的阶段、综合案例分析:在线电商平台架构演变、开发补充)
  • Shopify独立站运营必知必会:选品与防封技巧
  • Unity开发绘画板——03.简单的实现绘制功能
  • R语言的基础知识R语言函数总结
  • 龙年国庆专属姓氏头像
  • 基于Es和智普AI实现的语义检索
  • URI和URL的区别
  • Java 入门指南:获取对象的内存地址
  • 【Linux】项目自动化构建工具-make/Makefile 详解
  • 嵌入式开发中学习C++的用处?
  • 基于SAM大模型的遥感影像分割工具,用于创建交互式标注、识别地物的能力,可利用Flask进行封装作为Web后台服务
  • Selenium入门
  • USB 3.1 Micro-A 与 Micro-B 插头,Micro-AB 与 Micro-B 插座,及其引脚定义
  • MySQL多版本并发控制MVCC实现原理
  • 【并查集】[ABC372E] K-th Largest Connected Components 题解
  • HarmonyOS面试题(持续更新中)
  • QT中QWidget和QObject的区别与联系是什么
  • 解决macOS安装redis以后不支持远程链接的问题
  • 2024年研究生数学建模“华为杯”E题——肘部法则、k-means聚类、目标检测(python)、ARIMA、逻辑回归、混淆矩阵(附:目标检测代码)
  • 绝了,自从用了它,我每天能多摸鱼2小时!