SPY back to 1993 · 11 sectors + Dow 30 · walk-forward backtests
Finance Market-Research Platform: Backtesting and a Daily Market Dashboard
A finance market-research platform with two surfaces: a no-look-ahead backtesting workspace for strategy signals, and a daily technical dashboard covering breadth, volatility, fundamentals and key levels.
- IngestSPY, QQQ, sectors, Dow 30
- SignalTrend · momentum · breadth · regime
- BacktestNo-look-ahead walk-forward
- DashboardBreadth · volatility · fundamentals
The problem
Analysts were stitching market data, strategy tests and daily reads across spreadsheets and separate tools. Backtests could look ahead, the daily dashboard had no single source of truth, and the team could not compare strategies side by side.
What we built
One engine, two surfaces: a Django/DRF API with tenant-scoped Postgres, a React/Vite dashboard, and a shared finance package for signals, a no-look-ahead walk-forward backtester and metrics. The backtesting workspace ingests market data, runs trend, momentum, breadth, regime and scriptable-DSL strategies, and returns comparison reports. The daily dashboard gives per-security scorecards with split-adjusted key levels, index breadth regimes, a crash score with VIX term structure, earnings and revenue beat breadth, and a valuation-vs-fundamentals quadrant, plus a one-zip export and a data-freshness line.
Before
- Market data and tests across spreadsheets
- Backtests could look ahead
- No single daily market read
How it works
One engine, two surfaces. The backtesting workspace and the daily dashboard share the same data layer, strategy library and metrics.
Tenant-scoped data. SQLAlchemy 2.0 and Alembic on Postgres, with every repository scoped to the tenant.
No-look-ahead backtests. Walk-forward runs use only the data available at each point, so a strategy cannot see the future.
A strategy library plus a DSL. Trend, momentum, breadth and regime strategies ship with a scriptable DSL for custom rules.
A daily market read. Panels, breadth, volatility and fundamentals on one screen, with a data-freshness line on every page.
Ship to the client’s screen. The gate includes a real-browser smoke pass; a green backend test is not a shipped feature.
After
SPY back to 1993 · 11 sectors + Dow 30 · walk-forward backtests
Stack
FinanceMarket DataBacktestingAnalyticsDjangoReactPostgresDashboardWhy it holds up
The hard part is trust: no-look-ahead backtests, tenant-scoped data, and a dashboard the client reads every day. The build also carries a lesson: four asks were once closed with their engines and tests green but no UI, and stayed invisible for five days. The gate now includes a browser smoke pass, so a feature is not done until the client can see it.
Team adoption
- Who uses it now
- The client’s research and analyst team, using the backtesting workspace and the daily dashboard.
- What we handed over
- The platform, the strategy library, the dashboard, the one-zip export and the runbook; the full stack runs with one command.
- What changed
- From spreadsheets and disconnected tools to one engine for backtests and a daily market read.
Related service: AI adoption, delivered by embedded engineers
More case studies
Big 4 client · fully on-premise
Enterprise RAG Chatbot for a Big 4 Accounting Firm
Multimodal retrieval over a Big 4 firm’s full compliance library, tuned for citation instead of summary — every answer arrives with its source paragraph attached.
- Juniors reading thousands of pages per question
- Seniors acting as search engines
200k calls/month · 67% booking rate vs 77% human
24/7 AI Agent Call Center: 200k Calls a Month Across 60 US HVAC Brands
Voice agents orchestrating 200,000 calls a month across 60 US HVAC brands for a 5,000-person enterprise, booking 67% of calls against 77% for human agents — within 10 points of a trained team, around the clock. Built as a product, an AI front desk that answers, books and routes, not a pilot.
- Night and weekend calls unanswered
- Staffing every shift hard to justify
US$1M collected in the first 3 months
AI Payment Collection and Reminders
The companion product to the AI front desk: it chases unpaid invoices with polite, timed reminders and a payment link, and stops the moment the customer pays or replies. It collected over US$1 million for the client in its first three months.
- Chasing payment is awkward and late
- Billable time lost to collections
First-Sprint Data Scientist
A vetted engineer embedded in your team, a shipped deliverable by end of sprint 1.
Pick a time below and you will speak with me directly. Bring the use case, the data and the constraints, and I will give you a straight view on feasibility, effort and the first thing to ship.
Book a callCat Yung
Hong Kong & London time zones

Book a call · 30 min with Cat Yung