bills commited on
Commit
19a7a50
1 Parent(s): c1d7673
Files changed (6) hide show
  1. .gitattributes +0 -33
  2. Procfile +1 -0
  3. apps.py +83 -0
  4. fang_stock_prediction.h5 +0 -0
  5. requirements.txt +6 -0
  6. runtime.txt +1 -0
.gitattributes DELETED
@@ -1,33 +0,0 @@
1
- *.7z filter=lfs diff=lfs merge=lfs -text
2
- *.arrow filter=lfs diff=lfs merge=lfs -text
3
- *.bin filter=lfs diff=lfs merge=lfs -text
4
- *.bz2 filter=lfs diff=lfs merge=lfs -text
5
- *.ftz filter=lfs diff=lfs merge=lfs -text
6
- *.gz filter=lfs diff=lfs merge=lfs -text
7
- *.h5 filter=lfs diff=lfs merge=lfs -text
8
- *.joblib filter=lfs diff=lfs merge=lfs -text
9
- *.lfs.* filter=lfs diff=lfs merge=lfs -text
10
- *.mlmodel filter=lfs diff=lfs merge=lfs -text
11
- *.model filter=lfs diff=lfs merge=lfs -text
12
- *.msgpack filter=lfs diff=lfs merge=lfs -text
13
- *.npy filter=lfs diff=lfs merge=lfs -text
14
- *.npz filter=lfs diff=lfs merge=lfs -text
15
- *.onnx filter=lfs diff=lfs merge=lfs -text
16
- *.ot filter=lfs diff=lfs merge=lfs -text
17
- *.parquet filter=lfs diff=lfs merge=lfs -text
18
- *.pb filter=lfs diff=lfs merge=lfs -text
19
- *.pickle filter=lfs diff=lfs merge=lfs -text
20
- *.pkl filter=lfs diff=lfs merge=lfs -text
21
- *.pt filter=lfs diff=lfs merge=lfs -text
22
- *.pth filter=lfs diff=lfs merge=lfs -text
23
- *.rar filter=lfs diff=lfs merge=lfs -text
24
- *.safetensors filter=lfs diff=lfs merge=lfs -text
25
- saved_model/**/* filter=lfs diff=lfs merge=lfs -text
26
- *.tar.* filter=lfs diff=lfs merge=lfs -text
27
- *.tflite filter=lfs diff=lfs merge=lfs -text
28
- *.tgz filter=lfs diff=lfs merge=lfs -text
29
- *.wasm filter=lfs diff=lfs merge=lfs -text
30
- *.xz filter=lfs diff=lfs merge=lfs -text
31
- *.zip filter=lfs diff=lfs merge=lfs -text
32
- *.zst filter=lfs diff=lfs merge=lfs -text
33
- *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Procfile ADDED
@@ -0,0 +1 @@
 
 
1
+ web: sh setup.sh && streamlit run apps.py
apps.py ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import warnings
2
+ import numpy as np
3
+ import pandas as pd
4
+ import datetime as dt
5
+ import streamlit as st
6
+ import tensorflow as tf
7
+ import pandas_datareader as pdr
8
+ from tensorflow.keras import load_model
9
+ from sklearn.preprocessing import MinMaxScaler
10
+ from tensorflow.keras.models import Sequential
11
+ from tensorflow.keras.layers import Dense, Dropout, LSTM
12
+
13
+ # warnings.filterwarnings('ignore')
14
+ # plt.style.use('fivethirtyeight')
15
+
16
+ st.set_page_config(
17
+ page_title="FANG Stock Prediction",
18
+ page_icon=":bitcoin:",
19
+ layout="wide"
20
+ )
21
+
22
+ st.write("# Welcome to FANG Stock Prediction Dashboard :bitcoin:")
23
+
24
+ company_ticker = ['FB', 'AAPL', 'TSLA', 'GOOG', 'NVDA']
25
+
26
+ start_date = dt.datetime(2007, 1, 1)
27
+ end_date = dt.datetime(2020, 12, 13)
28
+ data_FB = pdr.DataReader(company_ticker[0], 'yahoo', start_date, end_date)
29
+ # data_AAPL = pdr.DataReader(company_ticker[1], 'yahoo', start_date, end_date)
30
+ # data_TSLA = pdr.DataReader(company_ticker[2], 'yahoo', start_date, end_date)
31
+ data_GOOG = pdr.DataReader(company_ticker[3], 'yahoo', start_date, end_date)
32
+ # data_NVDA = pdr.DataReader(company_ticker[4], 'yahoo', start_date, end_date)
33
+
34
+ scaler = MinMaxScaler()
35
+ scaled_data_FB = scaler.fit_transform(data_FB.filter(['Adj Close']).values.reshape(-1, 1))
36
+ scaled_data_GOOG = scaler.fit_transform(data_GOOG.filter(['Adj Close']).values.reshape(-1, 1))
37
+ prediction_days = 89
38
+
39
+ test_start = dt.datetime(2020, 12, 31)
40
+ test_end = dt.datetime.now()
41
+ test_data_FB = pdr.DataReader(company_ticker[0], 'yahoo', test_start, test_end)
42
+ # test_data_AAPL = pdr.DataReader(company_ticker[1], 'yahoo', test_start, test_end)
43
+ # test_data_TSLA = pdr.DataReader(company_ticker[2], 'yahoo', test_start, test_end)
44
+ test_data_GOOG = pdr.DataReader(company_ticker[3], 'yahoo', test_start, test_end)
45
+ # test_data_NVDA = pdr.DataReader(company_ticker[4], 'yahoo', test_start, test_end)
46
+ actual_prices = test_data_GOOG.filter(['Adj Close']).values
47
+
48
+ total_dataset = pd.concat((data_GOOG['Adj Close'], test_data_GOOG['Adj Close']), axis=0)
49
+
50
+ model_inputs = total_dataset[len(total_dataset) - len(test_data_GOOG) - prediction_days:].values
51
+ model_inputs = model_inputs.reshape(-1, 1)
52
+ model_inputs = scaler.fit_transform(model_inputs)
53
+
54
+ def test_data_predict(lstm_model):
55
+ X_test = []
56
+
57
+ for x in range(prediction_days, len(model_inputs)):
58
+ X_test.append(model_inputs[x-prediction_days:x, 0])
59
+
60
+ X_test = np.array(X_test)
61
+ X_test = np.reshape(X_test, (X_test.shape[0], X_test.shape[1], 1))
62
+
63
+ prediction_prices = lstm_model.predict(X_test)
64
+ prediction_prices = scaler.inverse_transform(prediction_prices)
65
+
66
+ return prediction_prices
67
+
68
+ stock_lstm = load_model("https://github.com/bills1912/stock-predicition/blob/main/fang_stock_prediction.h5")
69
+
70
+ predict_prices = test_data_predict(lstm_model=stock_lstm)
71
+ valid = test_data_GOOG.filter(['Adj Close'])
72
+ valid['Predictions'] = predict_prices
73
+
74
+ st.line_chart(data_GOOG.filter['Adj Close'])
75
+ st.line_chart(valid)
76
+
77
+ real_data = [model_inputs[len(model_inputs)+1 - prediction_days:len(model_inputs)+1, 0]]
78
+ real_data = np.array(real_data)
79
+ real_data = np.reshape(real_data, (real_data.shape[0], real_data.shape[1], 1))
80
+
81
+ real_prediction = stock_lstm.predict(real_data)
82
+ real_prediction = scaler.inverse_transform(real_prediction)
83
+ st.text(f"Real prediction stock prices on Google is {real_prediction[0]}")
fang_stock_prediction.h5 ADDED
Binary file (934 kB). View file
 
requirements.txt ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ numpy>=1.17.3
2
+ pandas==1.3.5
3
+ streamlit==1.10.0
4
+ tensorflow==2.6.0
5
+ pandas-datareader==0.10.0
6
+ sklearn==0.0
runtime.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ python-3.9.14