H2H: Algo Trading Dashboard & Next-Day Price Prediction
About the Project
An end-to-end algorithmic trading research/demo platform combining interactive Streamlit dashboards, rule-based trading strategies and a simple ML-based next-day price predictor. Key features:
- Interactive Streamlit apps (streamlit_app.py and main_app.py) with tabs for Price Prediction and Trading Dashboard.
- Prediction: loads a pre-trained logistic regression model and scaler from models/, builds a 50+ feature vector (technical, volatility, momentum, lag and volume features), scales it and predicts next-day up/down with a confidence gauge and model metrics shown in the sidebar.
- Trading Dashboard: SMA/EMA rule-based strategies, configurable parameters (short/long periods, RSI period), risk-management options (transaction cost, stop-loss, take-profit), walk-forward/backtest UI and downloadable CSVs.
- Indicators and features: computes RSI, SMA, EMA, MACD, Bollinger Bands and many engineered features (volatility windows, return lags, volume ratios, price position, etc.).
- Visualizations: comprehensive Plotly charts — price with signals, equity curve vs buy-and-hold, RSI, MACD, Bollinger Bands, drawdown chart, trade timelines and distributions, and performance metrics (Final Value, Total Return, Win Rate, Sharpe, Max Drawdown, Volatility).
- Backtesting: utilities for applying signals and backtesting (utils.backtester), producing per-trade details and summary metrics.
- Indian market focus: predefined list of NSE tickers (.NS) supported throughout the UI.
- Developer convenience: repository includes a PowerShell scaffolding script to create expected project structure (indicators/, models/, strategy/, utils/).
- Usage: run CLI backtests with main.py or launch interactive UIs with `streamlit run streamlit_app.py` (prediction + dashboard) or `streamlit run main_app.py` (dashboard).
Notes: the apps import modules from indicators/, strategy/ and utils/ and expect model files under models/ (e.g. logistic_regression_model.pkl and scaler.pkl).