File size: 3,975 Bytes
ab50b27 087ef0b 9ce7bf5 087ef0b ab50b27 8675d66 087ef0b 8675d66 087ef0b 8675d66 087ef0b 8675d66 087ef0b 8675d66 087ef0b 8675d66 ab50b27 24997e5 ab50b27 24997e5 ab50b27 24997e5 ab50b27 24997e5 ab50b27 24997e5 ab50b27 34c23a9 614192d 34c23a9 d2bafef 34c23a9 ea51e19 34c23a9 614192d 34c23a9 ea51e19 34c23a9 ab50b27 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
import streamlit as st
from thronetrader import StrategicSignals
import requests
from Pandas_Market_Predictor import Pandas_Market_Predictor
import pandas as pd
# Hard-coded API key for demonstration purposes
API_KEY = "QR8F9B7T6R2SWTAT"
def fetch_alpha_vantage_data(api_key, symbol):
url = f'https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol={symbol}&interval=5min&apikey={api_key}'
response = requests.get(url)
alpha_vantage_data = response.json()
return alpha_vantage_data
def main():
st.title("Stock Trend Predictor")
# User input for stock symbol
symbol = st.text_input("Enter Stock Symbol (e.g., IBM):")
if not symbol:
st.warning("Please enter a valid stock symbol.")
st.stop()
# Use the hard-coded API key
api_key = API_KEY
# Fetch Alpha Vantage data
alpha_vantage_data = fetch_alpha_vantage_data(api_key, symbol)
# Extract relevant data from Alpha Vantage response
alpha_vantage_time_series = alpha_vantage_data.get('Time Series (5min)', {})
df = pd.DataFrame(alpha_vantage_time_series).T
df.index = pd.to_datetime(df.index)
df = df.dropna(axis=0)
# Display the raw data
st.subheader("Raw Data:")
st.write(df)
if __name__ == "__main__":
main()
def main():
st.title("Strategic Trading Signals")
# Input for stock symbol
symbol = st.text_input("Enter stock symbol (e.g., AAPL):", "AAPL")
# Display strategic trading signals
strategic_signals = StrategicSignals(symbol=symbol)
st.subheader("Bollinger Bands Signals:")
bollinger_bands_signals = strategic_signals.get_bollinger_bands_signals()
st.write(bollinger_bands_signals)
st.subheader("Breakout Signals:")
breakout_signals = strategic_signals.get_breakout_signals()
st.write(breakout_signals)
st.subheader("Crossover Signals:")
crossover_signals = strategic_signals.get_crossover_signals()
st.write(crossover_signals)
st.subheader("MACD Signals:")
macd_signals = strategic_signals.get_macd_signals()
st.write(macd_signals)
st.subheader("RSI Signals:")
rsi_signals = strategic_signals.get_rsi_signals()
st.write(rsi_signals)
st.title("AI Stock Trend Predictor")
def fetch_alpha_vantage_data(api_key, symbol):
url = f'https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol={symbol}&interval=5min&apikey={api_key}'
response = requests.get(url)
alpha_vantage_data = response.json()
return alpha_vantage_data
def calculate_indicators(data):
# Convert all columns to numeric
data = data.apply(pd.to_numeric, errors='coerce')
# Example: Simple condition for doji and inside
data['Doji'] = abs(data['Close'] - data['Open']) <= 0.01 * (data['High'] - data['Low'])
data['Inside'] = (data['High'] < data['High'].shift(1)) & (data['Low'] > data['Low'].shift(1))
return data
# Use the hard-coded API key
api_key = API_KEY
# Fetch Alpha Vantage data
alpha_vantage_data = fetch_alpha_vantage_data(api_key, symbol)
# Extract relevant data from Alpha Vantage response
alpha_vantage_time_series = alpha_vantage_data.get('Time Series (5min)', {})
df = pd.DataFrame(alpha_vantage_time_series).T
df.index = pd.to_datetime(df.index)
df = df.dropna(axis=0)
# Rename columns
df = df.rename(columns={'1. open': 'Open', '2. high': 'High', '3. low': 'Low', '4. close': 'Close', '5. volume': 'Volume'})
# Calculate indicators
df = calculate_indicators(df)
# Create predictor
my_market_predictor = Pandas_Market_Predictor(df)
# Predict Trend
indicators = ["Doji", "Inside"]
trend = my_market_predictor.Trend_Detection(indicators, 10)
# Display results
st.subheader("Predicted Trend:")
st.write("Buy Trend :", trend['BUY'])
st.write("Sell Trend :", trend['SELL'])
# Delete the DataFrame to release memory
del df
if __name__ == "__main__":
main() |