Spaces:
Sleeping
Sleeping
| 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}") |