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}")