"Deep Learning based Python Library for Stock Market Prediction and Modelling."
Clone the git repository:
$ git clone https://github.com/achillesrasquinha/bulbea.git && cd bulbeaInstall necessary dependencies
$ pip install -r requirements.txtGo ahead and install as follows:
$ python setup.py installYou may have to install TensorFlow:
$ pip install tensorflow # CPU $ pip install tensorflow-gpu # GPU - Requires CUDA, CuDNN
Create a share object.
>>> 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 ...
Split your data set into training and testing sets.
>>> from bulbea.learn.evaluation import split >>> Xtrain, Xtest, ytrain, ytest = split(share, 'Close', normalize = True)
>>> 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 ...
>>> 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()
Add your Twitter credentials to your environment variables.
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>"
And then,
>>> bb.sentiment(share) 0.07580128205128206
Detailed documentation is available here.
- quandl
- keras
- tweepy
- textblob
This code has been released under the Apache 2.0 License.