Stock-Market-Prediction · time series · finance

Financial time series
evaluated honestly.

Directional price movement prediction in a non-stationary, low signal-to-noise domain, where the stated goal is not profitability but facing overfitting and data leakage rigorously. Temporal validation, out-of-sample backtest with costs, conformal prediction and drift monitoring.

01
problem What it solves
Predict whether an asset rises more than 2% in 5 days using Random Forest over multi-ticker data plus sentiment features. The honest framing is explicit: most published results in this domain fail out-of-sample, and this project treats that as the problem to solve: not a model to squeeze.
Task
Binary classification, multi-ticker + VADER sentiment
Rigour
~160 tests · anti-leakage enforced in code · Optuna tuning
Ops
FastAPI · PSI drift monitoring · conformal prediction
02
decisions Engineering decisions
Temporal validation is non-negotiable: walk-forward splits, no random k-fold on time series.
Scaler fitted on train only: the test set never touches the scaler.
Target built with shift(-5): the future only labels, never leaks into features.
Out-of-sample backtest with costs: 0.1% commission + 0.05% slippage, threshold calibrated on validation only.
Leakage tests in CI: tests verify no feature correlates ≥0.95 with the target.
Baseline-first discipline: results that don't beat a naïve baseline are not results.
03
results The honest outcome
Backtest OOS Portfolio 77.50% vs buy & hold 281.70%: the strategy does not beat buy & hold after costs, and the report says so explicitly.
Per-ticker AUC ≈0.50–0.57 with train/test accuracy gaps documented, an honest and reproducible picture of a domain where most practitioners overfit silently.
The value is the evaluation rigour, not the model performance: knowing when a model does not work is precisely what protects real capital. This is the foundation for the portfolio manager system in development.