samarthv commited on
Commit
238ed09
·
1 Parent(s): b56a9d4

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +42 -1
app.py CHANGED
@@ -15,7 +15,7 @@ data2 = pd.read_csv('tesla.csv')
15
  datasets = {'Google': data1, 'Tesla': data2}
16
 
17
  # Get the user's dataset selection
18
- selected_dataset = st.selectbox('Select Stock', list(datasets.keys()))
19
 
20
  # Retrieve the selected dataset
21
  selected_data = datasets[selected_dataset]
@@ -55,5 +55,46 @@ axes[2].set_xlabel('Date')
55
  axes[2].set_ylabel('Percentage Change')
56
  axes[2].set_title(f'{selected_dataset} Daily Percentage Change in Stock Prices')
57
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
  # Display the graphs in Streamlit
59
  st.pyplot(fig)
 
15
  datasets = {'Google': data1, 'Tesla': data2}
16
 
17
  # Get the user's dataset selection
18
+ selected_dataset = st.selectbox('Select Dataset', list(datasets.keys()))
19
 
20
  # Retrieve the selected dataset
21
  selected_data = datasets[selected_dataset]
 
55
  axes[2].set_ylabel('Percentage Change')
56
  axes[2].set_title(f'{selected_dataset} Daily Percentage Change in Stock Prices')
57
 
58
+ # Add a submit button
59
+ if st.button('Submit'):
60
+ # Get the updated dataset selection
61
+ selected_dataset = st.selectbox('Select Dataset', list(datasets.keys()))
62
+
63
+ # Retrieve the updated dataset
64
+ selected_data = datasets[selected_dataset]
65
+
66
+ # Prepare the data for prediction
67
+ X = np.arange(len(selected_data)).reshape(-1, 1)
68
+ y = selected_data['Close']
69
+
70
+ # Train the linear regression model
71
+ model.fit(X, y)
72
+
73
+ # Predict the stock prices
74
+ predictions = model.predict(X)
75
+
76
+ # Clear the existing plots
77
+ for ax in axes:
78
+ ax.clear()
79
+
80
+ # Update the plots with the new dataset
81
+ axes[0].plot(selected_data['Date'], y, label='Actual')
82
+ axes[0].plot(selected_data['Date'], predictions, label='Predicted')
83
+ axes[0].set_xlabel('Date')
84
+ axes[0].set_ylabel('Stock Price')
85
+ axes[0].set_title(f'{selected_dataset} Stock Price Prediction')
86
+ axes[0].legend()
87
+
88
+ axes[1].plot(selected_data['Date'], selected_data['Volume'])
89
+ axes[1].set_xlabel('Date')
90
+ axes[1].set_ylabel('Volume')
91
+ axes[1].set_title(f'{selected_dataset} Volume of Trades')
92
+
93
+ daily_returns = selected_data['Close'].pct_change() * 100
94
+ axes[2].plot(selected_data['Date'], daily_returns)
95
+ axes[2].set_xlabel('Date')
96
+ axes[2].set_ylabel('Percentage Change')
97
+ axes[2].set_title(f'{selected_dataset} Daily Percentage Change in Stock Prices')
98
+
99
  # Display the graphs in Streamlit
100
  st.pyplot(fig)