Geek7 commited on
Commit
df39da3
·
verified ·
1 Parent(s): 01598f9

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -4
app.py CHANGED
@@ -18,14 +18,20 @@ def calculate_indicators(data):
18
  data = data.apply(pd.to_numeric, errors='coerce')
19
 
20
  # Example: Simple condition for doji and inside
21
- data['Doji'] = abs(data['Close'] - data['open']) <= 0.01 * (data['high'] - data['low'])
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")
@@ -43,10 +49,10 @@ def main():
43
  df = df.dropna(axis=0)
44
 
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)
 
18
  data = data.apply(pd.to_numeric, errors='coerce')
19
 
20
  # Example: Simple condition for doji and inside
21
+ data['Doji'] = abs(data['close'] - data['open']) <= 0.01 * (data['high'] - data['low'])
22
  data['Inside'] = (data['high'] < data['high'].shift(1)) & (data['low'] > data['low'].shift(1))
23
+
24
+ # Include the necessary columns from the original dataset
25
+ data['open'] = data['open_original']
26
+ data['high'] = data['high_original']
27
+ data['low'] = data['low_original']
28
+
29
  return data
30
 
31
  def apply_pca(data, n_components=5):
32
  pca = PCA(n_components=n_components)
33
  reduced_data = pca.fit_transform(data)
34
+ return pd.DataFrame(reduced_data, index=data.index, columns=[f'component_{i+1}' for i in range(n_components)])
35
 
36
  def main():
37
  st.title("Stock Trend Predictor")
 
49
  df = df.dropna(axis=0)
50
 
51
  # Rename columns
52
+ df = df.rename(columns={'1. open': 'open_original', '2. high': 'high_original', '3. low': 'low_original', '4. close': 'close', '5. volume': 'volume'})
53
 
54
  # Apply PCA for dimensionality reduction
55
+ df_reduced = apply_pca(df[['open_original', 'high_original', 'low_original', 'close', 'volume']])
56
 
57
  # Calculate indicators on reduced data
58
  df_reduced = calculate_indicators(df_reduced)