全糖冲击股票预测实践:历史数据采集

前言

从前面一篇文章中的理论知识部分知识我们了解到,预测的能力主要来源于对历史数据的分析和挖掘,来学习到数据之间相互影响的潜在模式。所以我们现在需要对目标股票进行分析,并为其准备相关的历史数据来供后续分析。

目标股票

最近 AI 市场爆火,因此我们这里选择了一个 AI 相关行业的股票作为目标股票进行,该股票的纳斯达克代码为:TRAVIS (虚构的,非实际股票)。之所以选择这只股票,是因为之前我就买过他,并且在里面亏了一部分钱,进行多轮交易后我发现这只股票趋势表现很难摸清,因此我决定从这只股票入手来开始预测学习。

历史数据源

网上有挺多可以获取历史数据的提供商平台或开源项目,如果你不需要完备的数据,那么最简单的方式查看历史报价的平台是 Yahoo Finance 平台,通过搜索股票代码,然后点击左侧的 Historical Data 菜单即可根据需求查询指定范围内的历史数据,也提供下载。

可以在此获得基本的股票历史表现数据

需要除了目标股票本身的数据之外,我们还需要与股票相关的其他因子数据,而这些数据通常都需要专业的数据搜集平台,通过这些平台获取可以更加容易获取到清洗过后且直接可以用使用的数据,大多数此类平台都需要付费, 目前这类平台也比较多,经过一番对比后,我最后选择了 TuShare API ,好处是这个项目是非营利性的,换句话说你可以通过极低的成本 (捐助该项目) 来获取到几乎所有股票相关的历史数据。

TuShare 向导

  1. 注册账户

点此注册 TuShare 之后,请先完善你的账户资料,完成后系统会赠送积分到你的账户,该积分表示你可以访问接口的权限。
基本从你完善账户注册后,就可以开始使用数据接口获取数据了。

  1. 平台介绍

建议你在正式开始之前,详细阅读 TuShare 平台介绍,这能让你弄懂此平台的权限规则和能够获取到哪些数据。

  1. 数据接口

现在你已经具备了合格的 TuShare 账户访问权限,你可以查看数据接口来选择和下载你所需的数据。

选择数据源

由于我们选定的目标股票是 AI 行业相关的,因此这里我假设对此股票影响的因素可能有这些数据集:

  • NVDA 股票价格 - 我认为是最能代表当前行业火爆程度的股票;
  • 美元利率数据 - 一定程度上可能会影响股民对于目标股票的投入程度;
  • 社会货币供应 - 一定程度上可能会影响股民对于目标股票的投入程度;
  • 社会融资总量 - 一定程度上可能会影响股民对于目标股票的投入程度;
  • 其他行业数据 - 一定程度上可能会影响股民对于目标股票的投入程度。

这是我认为的潜在有用的数据源,后续我们需要分别或组合对这些数据进行分析,来确定和对比哪些数据对目标股票的走势产生了影响。

下载数据源

如果你使用 Python 编程,那么 TuShare 已经提供了非常好用的 Pip 扩展库,你可以直接安装使用:

1
pip install tushare --upgrade

具体的使用方式,你可以参考每个数据源接口的文档页面,都有提示。

但对于数据库的操作,我更喜欢使用 Laravel 的数据库工具,我通过模型和迁移以及自定义 Command 实现了各个数据源接口的实现,然后将所需数据保存在了内网的 MySQL 数据库中,以便于我之后使用这些数据。为了便于之后会使用到其他的数据,我将尽可能用到的数据都做了下载保存,特别是对于所有股票每日价格表现数据,我基本都下载完了,

本地获取到的数据

一共获得近 10GB 的数据。下一步,我们将通过 Python 来加载这些数据,并构建算法来分析和尝试预测股票的收盘价格。