Bulbea 是一個(gè)基于深度學(xué)習(xí)開(kāi)發(fā)的,用于股票市場(chǎng)預(yù)測(cè)和建模的Python庫(kù)。
Bulbea 自帶了不少可用于股票深度學(xué)習(xí)訓(xùn)練及測(cè)試的API,并且易于對(duì)數(shù)據(jù)進(jìn)行擴(kuò)展和延申,構(gòu)建屬于我們自己的數(shù)據(jù)及模型。
下面就來(lái)介紹一下這個(gè)模塊。
1.準(zhǔn)備
開(kāi)始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上,如果沒(méi)有,可以訪問(wèn)這篇文章:超詳細(xì)Python安裝指南 進(jìn)行安裝。
**(可選1) **如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda:Python數(shù)據(jù)分析與挖掘好幫手—Anaconda,它內(nèi)置了Python和pip.
**(可選2) **此外,推薦大家用VSCode編輯器,它有許多的優(yōu)點(diǎn):Python 編程的最好搭檔—VSCode 詳細(xì)指南。
請(qǐng)選擇以下任一種方式輸入命令安裝依賴(lài) :
- Windows 環(huán)境 打開(kāi) Cmd (開(kāi)始-運(yùn)行-CMD)。
- MacOS 環(huán)境 打開(kāi) Terminal (command+空格輸入Terminal)。
- 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.
git clone https://github.com/achillesrasquinha/bulbea.git && cd bulbea
pip install -r requirements.txt
python setup.py install
如果你無(wú)法訪問(wèn)Github,請(qǐng)?jiān)诙甙柫炕笈_(tái)回復(fù) **Bulbea **下載項(xiàng)目鏡像(2022-11-28).
此外,你還需要安裝 Tensorflow 的CPU版本或GPU版本:
pip install tensorflow # CPU 版本
pip install tensorflow-gpu # GPU 版本 - 需要 CUDA, CuDNN
2.Bulbea 基本使用方法
Bulbea 和普通的深度學(xué)習(xí)研究項(xiàng)目一樣,在做訓(xùn)練和測(cè)試時(shí),分為四步(加載數(shù)據(jù),預(yù)處理,建模,測(cè)試)。
2.1 加載數(shù)據(jù)
Bulbea內(nèi)置了數(shù)據(jù)下載模塊,讓你很輕易地能夠下載雅虎財(cái)經(jīng)的股票數(shù)據(jù),比如下面下載雅虎財(cái)經(jīng)源的GOOGL股票數(shù)據(jù):
>> > 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 預(yù)處理
Bulbea 同樣也內(nèi)置了預(yù)處理模塊,讓你能夠輕易地分割訓(xùn)練集和測(cè)試集:
>> > from bulbea.learn.evaluation import split
>> > 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 測(cè)試
通過(guò)調(diào)用sklearn的metrics就能對(duì)數(shù)據(jù)實(shí)現(xiàn)測(cè)試:
>> > 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 能自動(dòng)爬取相關(guān)股票在推特上的文字,并對(duì)這些文字做一個(gè)情感分析。
你只需要給Bulbea提供以下環(huán)境變量就能夠進(jìn)行感情色彩分析:
export BULBEA_TWITTER_API_KEY="< YOUR_TWITTER_API_KEY >"
export BULBEA_TWITTER_API_SECRET="< YOUR_TWITTER_API_SECRET >"
export BULBEA_TWITTER_ACCESS_TOKEN="< YOUR_TWITTER_ACCESS_TOKEN >"
export BULBEA_TWITTER_ACCESS_TOKEN_SECRET="< YOUR_TWITTER_ACCESS_TOKEN_SECRET >"
測(cè)試一下:
>> > import bulbea as bb
>> > share = bb.Share('YAHOO', 'GOOGL')
>> > bb.sentiment(share)
0.07580128205128206
-
建模
+關(guān)注
關(guān)注
1文章
321瀏覽量
63285 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5599瀏覽量
124398 -
python庫(kù)
+關(guān)注
關(guān)注
0文章
5瀏覽量
2233
發(fā)布評(píng)論請(qǐng)先 登錄
Bulbea:用于股票市場(chǎng)預(yù)測(cè)和建模的Python庫(kù)
評(píng)論