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.
git clone 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版本:
pip install tensorflow # CPU 版本
pip install tensorflow-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 同樣也內置了預處理模塊,讓你能夠輕易地分割訓練集和測試集:
>> > 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 測試
通過調用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提供以下環境變量就能夠進行感情色彩分析:
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 >"
測試一下:
>> > import bulbea as bb
>> > share = bb.Share('YAHOO', 'GOOGL')
>> > bb.sentiment(share)
0.07580128205128206
-
建模
+關注
關注
1文章
304瀏覽量
60765 -
深度學習
+關注
關注
73文章
5500瀏覽量
121113 -
python庫
+關注
關注
0文章
5瀏覽量
2108
發布評論請先 登錄
相關推薦
評論