Algo_Trade_POC / app.py
Baskar2005's picture
Upload 4 files
86c1b2f verified
import streamlit as st
import datetime
from algo_trade_poc import AlgoTradeCore
st.set_page_config(page_title="Algo Trading Backtest", layout="wide")
st.title("πŸ“ˆ Algo Trading Backtest & Google Sheets Logger")
stock = st.text_input("Enter stock symbol (Yahoo Finance format)", value="RELIANCE.NS")
json_path = "gdrive_api.json"
end_date = datetime.date.today()
start_date = end_date - datetime.timedelta(days=180)
if st.button("Fetch & Process Data"):
try:
core = AlgoTradeCore(json_path)
df, buy_signals, df_trades, df_summary, df_winratio = core.fetch_and_process(stock, start_date, end_date)
tab1, tab2 = st.tabs(["πŸ“Š All Data", "πŸ’Ή Buy Signals"])
with tab1:
st.dataframe(df, use_container_width=True)
csv = df.to_csv(index=False).encode("utf-8")
st.download_button("Download CSV", csv, f"{stock}_data.csv", "text/csv")
with tab2:
st.dataframe(buy_signals, use_container_width=True)
csv2 = buy_signals.to_csv(index=False).encode("utf-8")
st.download_button("Download Buy Signals CSV", csv2, f"{stock}_buy_signals.csv", "text/csv")
# core.log_to_sheets(df_trades, df_summary, df_winratio)
# st.success("βœ… Data sent to Google Sheets successfully!")
except Exception as e:
st.error(f"Error: {e}")