Geek7 commited on
Commit
1330f63
·
verified ·
1 Parent(s): 7d078de

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +39 -1
app.py CHANGED
@@ -1,5 +1,7 @@
1
  import streamlit as st
2
  from thronetrader import StrategicSignals
 
 
3
 
4
  def main():
5
  st.title("Strategic Trading Signals")
@@ -7,8 +9,23 @@ def main():
7
  # Input for stock symbol
8
  symbol = st.text_input("Enter stock symbol (e.g., AAPL):", "AAPL")
9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  # Display strategic trading signals
11
- strategic_signals = StrategicSignals(symbol=symbol)
12
 
13
  st.subheader("Bollinger Bands Signals:")
14
  bollinger_bands_signals = strategic_signals.get_bollinger_bands_signals()
@@ -30,6 +47,27 @@ def main():
30
  rsi_signals = strategic_signals.get_rsi_signals()
31
  display_signals(rsi_signals)
32
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  def display_signals(signals):
34
  for signal in signals:
35
  if isinstance(signal, dict):
 
1
  import streamlit as st
2
  from thronetrader import StrategicSignals
3
+ from thronetrader.helper.squire import classify # Import your classification method
4
+ import pandas as pd
5
 
6
  def main():
7
  st.title("Strategic Trading Signals")
 
9
  # Input for stock symbol
10
  symbol = st.text_input("Enter stock symbol (e.g., AAPL):", "AAPL")
11
 
12
+ # Fetch Alpha Vantage data
13
+ alpha_vantage_data = fetch_alpha_vantage_data(symbol)
14
+
15
+ # Extract relevant data from Alpha Vantage response
16
+ alpha_vantage_time_series = alpha_vantage_data.get('Time Series (5min)', {})
17
+ df = pd.DataFrame(alpha_vantage_time_series).T
18
+ df.index = pd.to_datetime(df.index)
19
+ df = df.dropna(axis=0)
20
+
21
+ # Rename columns
22
+ df = df.rename(columns={'1. open': 'open', '2. high': 'high', '3. low': 'low', '4. close': 'Close', '5. volume': 'volume'})
23
+
24
+ # Calculate indicators
25
+ df = calculate_indicators(df)
26
+
27
  # Display strategic trading signals
28
+ strategic_signals = StrategicSignals(df)
29
 
30
  st.subheader("Bollinger Bands Signals:")
31
  bollinger_bands_signals = strategic_signals.get_bollinger_bands_signals()
 
47
  rsi_signals = strategic_signals.get_rsi_signals()
48
  display_signals(rsi_signals)
49
 
50
+ # Example of using your classify method
51
+ classification_result = classify(df, logger) # Pass your DataFrame and logger
52
+ st.subheader("Classification Result:")
53
+ st.write(classification_result)
54
+
55
+ def fetch_alpha_vantage_data(symbol):
56
+ api_key = "QR8F9B7T6R2SWTAT"
57
+ url = f'https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol={symbol}&interval=5min&apikey={api_key}'
58
+ response = requests.get(url)
59
+ alpha_vantage_data = response.json()
60
+ return alpha_vantage_data
61
+
62
+ def calculate_indicators(data):
63
+ # Convert all columns to numeric
64
+ data = data.apply(pd.to_numeric, errors='coerce')
65
+
66
+ # Example: Simple condition for doji and inside
67
+ data['Doji'] = abs(data['Close'] - data['open']) <= 0.01 * (data['high'] - data['low'])
68
+ data['Inside'] = (data['high'] < data['high'].shift(1)) & (data['low'] > data['low'].shift(1))
69
+ return data
70
+
71
  def display_signals(signals):
72
  for signal in signals:
73
  if isinstance(signal, dict):