Geek7 commited on
Commit
d7fdf9f
·
verified ·
1 Parent(s): 6296cba

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -3
app.py CHANGED
@@ -2,6 +2,7 @@ import streamlit as st
2
  import requests
3
  from Pandas_Market_Predictor import Pandas_Market_Predictor
4
  import pandas as pd
 
5
 
6
  # Hard-coded API key for demonstration purposes
7
  API_KEY = "QR8F9B7T6R2SWTAT"
@@ -21,6 +22,11 @@ def calculate_indicators(data):
21
  data['Inside'] = (data['high'] < data['high'].shift(1)) & (data['low'] > data['low'].shift(1))
22
  return data
23
 
 
 
 
 
 
24
  def main():
25
  st.title("Stock Trend Predictor")
26
 
@@ -39,11 +45,14 @@ def main():
39
  # Rename columns
40
  df = df.rename(columns={'1. open': 'open', '2. high': 'high', '3. low': 'low', '4. close': 'Close', '5. volume': 'volume'})
41
 
42
- # Calculate indicators
43
- df = calculate_indicators(df)
 
 
 
44
 
45
  # Create predictor
46
- my_market_predictor = Pandas_Market_Predictor(df)
47
 
48
  # Predict Trend
49
  indicators = ["Doji", "Inside"]
 
2
  import requests
3
  from Pandas_Market_Predictor import Pandas_Market_Predictor
4
  import pandas as pd
5
+ from sklearn.decomposition import PCA
6
 
7
  # Hard-coded API key for demonstration purposes
8
  API_KEY = "QR8F9B7T6R2SWTAT"
 
22
  data['Inside'] = (data['high'] < data['high'].shift(1)) & (data['low'] > data['low'].shift(1))
23
  return data
24
 
25
+ def apply_pca(data, n_components=5):
26
+ pca = PCA(n_components=n_components)
27
+ reduced_data = pca.fit_transform(data)
28
+ return pd.DataFrame(reduced_data, index=data.index)
29
+
30
  def main():
31
  st.title("Stock Trend Predictor")
32
 
 
45
  # Rename columns
46
  df = df.rename(columns={'1. open': 'open', '2. high': 'high', '3. low': 'low', '4. close': 'Close', '5. volume': 'volume'})
47
 
48
+ # Apply PCA for dimensionality reduction
49
+ df_reduced = apply_pca(df)
50
+
51
+ # Calculate indicators on reduced data
52
+ df_reduced = calculate_indicators(df_reduced)
53
 
54
  # Create predictor
55
+ my_market_predictor = Pandas_Market_Predictor(df_reduced)
56
 
57
  # Predict Trend
58
  indicators = ["Doji", "Inside"]