A Market Demo That Doesn’t Fake Its Backtests

2 minute read

Published:

A Market Demo That Doesn’t Fake Its Backtests

Every quant demo I have ever clicked through does two dishonest things, and they are so common that people stopped noticing. It backtests with zero transaction costs, so every strategy looks profitable. And it evaluates its forecasts in-sample, so the model has secretly already seen the future it claims to predict. The charts look spectacular and mean almost nothing. Finn is the market-analytics app I built to be the opposite of that — and it’s now live.

The bones are what you’d expect: track instruments, build watchlists and portfolios, run forecasts, review a full risk battery, all behind a fast server-rendered UI. The part I actually care about is the two places where most demos quietly lie, and where Finn refuses to.

Finn — architecture and the rigor that separates a demo from a trap

The two honest parts:
Walk-forward cross-validation — train on the past, test on the unseen next window, roll forward. No future leaks into the fit.
Cost-aware backtesting — every strategy is charged transaction costs (cost_bp), so the equity curve you see is net, not the fantasy gross curve. The gap between the two is the cost of trading, and Finn shows it instead of hiding it.

The forecasting side spans the classical and the learned — ARIMA/SARIMA, Holt-Winters, GARCH for volatility, Random Forest and Gradient Boosting, plus HMM regime detection — but the model zoo is not the point. The point is that walk-forward validation reports an error you could actually have achieved trading it. A strategy that only looked good because it traded for free dies the moment cost_bp is non-zero, and that death is a feature: it’s the demo telling you the truth.

News sentiment gets the same treatment. A general-purpose sentiment model fumbles financial text — “missed guidance” and “raised guidance” sit next to each other in ordinary vocabulary space but mean opposite things to a price. Finn scores headlines with FinBERT, fine-tuned on financial language, via the HF Inference API, so the sentiment signal is finance-aware rather than naive.

And it covers the market I actually live in. Mainstream tools default to AAPL and SPY and forget that exchanges exist south of Miami; Finn adds the IPSA universe, Chilean macro series, and a Banco Central de Chile stub as first-class data, alongside US coverage. Risk analytics (Sharpe/Sortino/Calmar, VaR/CVaR, Markowitz / HRP / Black-Litterman / Risk Parity, efficient frontier + Monte Carlo) and Plotly visualizations round it out, with auth-backed watchlists and portfolios that persist per user. Live at finn.fasl-work.com · GitHub. Educational demo — not investment advice.