Spaces:
Sleeping
Sleeping
File size: 1,379 Bytes
86c1b2f |
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 |
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}") |