Bulbea 是一个基于深度学习开发的,用于股票市场预测和建模的Python库。
Bulbea 自带了不少可用于股票深度学习训练及测试的API,并且易于对数据进行扩展和延申,构建属于我们自己的数据及模型。
下面就来介绍一下这个模块。
1.准备
开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,可以访问这篇文章:超详细Python安装指南进行安装。
**(可选1) **如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda,它内置了Python和pip.
**(可选2) **此外,推荐大家用VSCode编辑器,它有许多的优点:Python 编程的最好搭档—VSCode 详细指南。
请选择以下任一种方式输入命令安装依赖:
- Windows 环境 打开 Cmd (开始-运行-CMD)。
- MacOS 环境 打开Terminal (command+空格输入Terminal)。
- 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.
gitclone https://github.com/achillesrasquinha/bulbea.git && cd bulbea pip install -r requirements.txt python setup.py install
如果你无法访问Github,请在二七阿尔量化后台回复 **Bulbea **下载项目镜像(2022-11-28).
此外,你还需要安装Tensorflow的CPU版本或GPU版本:
pipinstalltensorflow# CPU 版本pipinstalltensorflow-gpu# GPU 版本 - 需要 CUDA, CuDNN
2.Bulbea 基本使用方法
Bulbea 和普通的深度学习研究项目一样,在做训练和测试时,分为四步(加载数据,预处理,建模,测试)。
2.1 加载数据
Bulbea内置了数据下载模块,让你很轻易地能够下载雅虎财经的股票数据,比如下面下载雅虎财经源的GOOGL股票数据:
>> > import bulbea as bb>> > share = bb.Share('YAHOO','GOOGL')>> > share.data#Open High Low Close Volume#Date#2004-08-19 99.999999 104.059999 95.959998 100.339998 44659000.0#2004-08-20 101.010005 109.079998 100.500002 108.310002 22834300.0#2004-08-23 110.750003 113.479998 109.049999 109.399998 18256100.0#2004-08-24 111.239999 111.599998 103.570003 104.870002 15247300.0#2004-08-25 104.960000 108.000002 103.880003 106.000005 9188600.0...
2.2 预处理
Bulbea 同样也内置了预处理模块,让你能够轻易地分割训练集和测试集:
>> >frombulbea.learn.evaluationimportsplit >> > Xtrain, Xtest, ytrain, ytest = split(share,'Close', normalize =True)
2.3 建模
Bulbea自带了RNN模型可供使用:
>> > import numpy as np>> > Xtrain = np.reshape(Xtrain, (Xtrain.shape[0], Xtrain.shape[1], 1))>> > Xtest = np.reshape( Xtest, ( Xtest.shape[0], Xtest.shape[1], 1))>> > from bulbea.learn.models import RNN>> > rnn = RNN([1, 100, 100, 1])# number of neurons in each layer>> > rnn.fit(Xtrain, ytrain)#Epoch 1/10#1877/1877 [==============================] - 6s - loss: 0.0039#Epoch 2/10#1877/1877 [==============================] - 6s - loss: 0.0019...
2.4 测试
通过调用sklearn的metrics就能对数据实现测试:
>> > from sklearn.metrics import mean_squared_error>> > p = rnn.predict(Xtest)>> > mean_squared_error(ytest, p)0.00042927869370525931>> > import matplotlib.pyplot as pplt>> > pplt.plot(ytest)>> > pplt.plot(p)>> > pplt.show()
3.情感分析
Bulbea 能自动爬取相关股票在推特上的文字,并对这些文字做一个情感分析。
你只需要给Bulbea提供以下环境变量就能够进行感情色彩分析:
exportBULBEA_TWITTER_API_KEY="< YOUR_TWITTER_API_KEY >"exportBULBEA_TWITTER_API_SECRET="< YOUR_TWITTER_API_SECRET >"exportBULBEA_TWITTER_ACCESS_TOKEN="< YOUR_TWITTER_ACCESS_TOKEN >"exportBULBEA_TWITTER_ACCESS_TOKEN_SECRET="< YOUR_TWITTER_ACCESS_TOKEN_SECRET >"
测试一下:
>> >importbulbeaasbb >> >share= bb.Share('YAHOO','GOOGL') >> > bb.sentiment(share)0.07580128205128206
- 建模
+关注
关注
1文章
291浏览量
60614 - 深度学习
+关注
关注
73文章
5415浏览量
120475 - python库
+关注
关注
0文章
4浏览量
2102
发布评论请先登录
相关推荐
评论