File size: 4,158 Bytes
ab50b27 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 26ed247 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 130 131 132 133 134 135 136 137 138 |
import streamlit as st
from thronetrader import StrategicSignals
import requests
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)
if __name__ == "__main__":
main()
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
def main():
st.title("AI Stock Trend Predictor")
# User input for stock symbol
symbol = st.text_input2("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)
# 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() |