LABS
A working notebook for experiments built on the DayTraders data spine.
Works end to end. You can use it now — the data flows and the math is real.
Built, scope is real but limited. May surprise you — the wiring is honest, the scope is just narrow.
Described, not built. Could be built — tell us which one matters.
Every lab reads the same caches the production site already uses. We say what we say because the sign we see tells us what we need to tell you.
Three macro readings refreshed by the labs ingestion script — API where one exists, scrape where it does not. Missing is labeled missing.
2/3 live · refreshed 2026-07-20
Bangkok closed up 0.23% — I am pricing Thailand at 1639. Long-run US earnings are priced at 41.5× their decade average (+144% vs the ~17 median).
- SET close: 1,639
- Shiller CAPE: 41.5
THE HONEST BACKTEST
FN/TN not modeled in this single-class version — precision/recall computed on the signal set only.
| SUBJECT | DATE | Z | FAM | 30D | HIT |
|---|
- Z-threshold: 2.5σ · 30-day window · move threshold: 2.0%
- 0 confluence events met the bar across the backtest window
- TN/FN not modeled — single-class precision/recall on the signal set
- Live data sources may yield different results
- If the numbers embarrass the thesis, the numbers stay.
The two ideas any retail investor can use today. Plain tools, real data, no novelty.
Personal Finance Copilot
I have ฿X a month. Help me start — without the spreadsheet.
- WHAT
- A guided single-page companion for someone who has never invested. Takes income, monthly surplus, target retirement age. Returns: a one-paragraph recommendation, a bucket split (cash / feeders / dream-trades), and the next concrete action this week.
- DATA
- Plan wizard logic + savings rate + goal ladder (we already compute it on /plan).
- DIFF
- Not a screener, not a backtest. A 'where do I start' companion. No jargon unless you turn it on.
Graham's Net-Net
Stocks trading below the cash on their books — Graham's most extreme test.
- WHAT
- Graham's 1934 'cigar butt' screen: a stock is interesting when the price is below net current asset value per share (cash + receivables, minus all liabilities). Live filter for SET names currently meeting the bar, with the discount % shown honestly.
- DATA
- ncavPerShare, ncavDiscountPct (already in MOCK_STOCKS, see src/lib/graham.ts).
- DIFF
- Most Graham screens start with P/E or P/B. This one starts deeper: with the working capital itself.
The ideas that go past the basics — signal backtests, magic formula, the sushi conveyor.
Confluence Tracer
What happened the 30 days after the bell rang? Replay the moment 3+ signals aligned.
- WHAT
- Replays every historical moment a SET ticker triggered a 3+ family confluence. Shows the next 30 trading days of price action, side by side with the SET baseline. Honest about the win rate, the average move, and the worst drawdown.
- DATA
- anomaly.confluence + prices.json. We already build this graph for /signals; this lab shows the post-event window.
- DIFF
- Most 'signals' tools show the trigger and stop. This one shows the outcome — even when the outcome is uncomfortable.
Pairs Trade Finder
Two names that always moved together — until they didn't.
- WHAT
- Finds pairs of SET names with high historical correlation that recently decoupled. The 'break' is the moment a relationship snapped — sometimes mean-reverting, sometimes a regime change. Outputs a ranked watchlist with the current correlation vs the 90-day baseline.
- DATA
- rolling correlation on prices.json (we compute it for the signal web).
- DIFF
- Most correlation tools show 'current correlation.' We show the BREAK — the moment a relationship snapped, and which way it went.
The Magic Formula (Thai Edition)
Greenblatt's two ranks on SET50 — earnings yield × return on capital. Not Graham. A complement.
- WHAT
- Ranks SET50 by Joel Greenblatt's 2006 'Magic Formula' — first by earnings yield (cheap), then by return on capital (good business). The top 5-7 names are the candidates. Pure orthogonal to the Graham shelf.
- DATA
- pe, roe, marketCap — already aggregated by magicFormulaRanks() in graham.ts. We just need the UI.
- DIFF
- Not a Graham value screen (we already have that). Greenblatt's complement: cheap AND good, ranked, not picked.
The Sushi Conveyor
Real-time list of names currently meeting all 7 of Graham's defensive tests.
- WHAT
- A live tape of SET names whose defensive score (Graham's 7-criteria binary test) is currently 7/7. As prices move, names enter and leave. The conveyor is the watchlist the defensive investor never has to think about.
- DATA
- defensiveScore (0–7), already in MOCK_STOCKS via defensiveScore() in graham.ts.
- DIFF
- Not a screener snapshot. A LIVE list — names enter and leave as their defensive tests change day to day.
The Confusion Matrix
When the signal system said STRONG BUY, how often was it right? Most tools never tell you.
- WHAT
- Honest backtest of the signal system. For every confluence event in our history, did the next 30 days actually deliver the direction the signal implied? True positives, false positives, win rate, and a confusion matrix. The system stands or falls by the numbers — no marketing.
- DATA
- anomaly.confluence + prices.json — same as the PARLOR but with an outcomes overlay.
- DIFF
- Most signal services never publish their track record. We do. If the numbers are embarrassing, the numbers stay.
The Consensus
Seven signals say seven different things. What does the desk actually think?
- WHAT
- Every forward-looking signal on the desk — Forward View, Kronos, Mr. Market Mood, Market States, and (when on) Polymarket — votes BULL, BEAR, or abstains. Votes are bucketed by horizon (now / 20d / 60d / 90d / event) so a 20-day forecast cannot cancel a 90-day baseline. Each horizon gets a verdict, a confidence, and a roll call of who voted what.
- DATA
- forward-view.json (90d) + kronos-signals.json (20d) + market-mood.json (now) + market-states.json (now) + /api/belief (event). One function, one output, no fetching.
- DIFF
- Most dashboards either show every signal on the same chart (the user has to weight them) or they pick one. This gathers them, weights them, and surfaces the disagreement honestly — the cautionary note names any high-weight dissenter. A unanimous 2-vote verdict and a unanimous 5-vote verdict look the same on a chart; here they don't.
The ideas that use the signal web as more than a chart. Counterfactuals, voices, the diary.
Mr. Market's Diary
A daily first-person voice for the market — built from the actual mood + signal data.
- WHAT
- A deterministic template that turns today's mood score, the active confluence list, and the top signal into a 200-word first-person paragraph from Mr. Market's perspective. Not a chatbot — a voice grounded in real numbers, refreshed at the same cadence as the data.
- DATA
- market-mood.json + signal web state + the top confluence subject. The voice never invents — every claim is grounded in one of those three sources.
- DIFF
- Not a chatbot. A voice that only knows what the data knows — and a click on any sentence shows you which number it's grounded in.
The Counterfactual Engine
What would SET be doing today if [event] hadn't happened?
- WHAT
- The structural breaks in SET's price history are dated. Roll back to the day before a chosen break, replay the model forward, and the chart shows ACTUAL vs COUNTERFACTUAL paths. Honest about the limits: structural breaks are detected, not caused, so the counterfactual is a 'what if no shock' world, not a 'what if no cause' world.
- DATA
- structural breaks timestamps + prices.json + the drift model. We have the breaks; we have the model; we don't have the engine yet.
- DIFF
- Most 'what if' tools are made up. This one would use the real breaks we already detect. The honest version says what it can't do.
The internet keeps a viral list of tools that promise an edge. We studied it. 4 run on this desk today, 10 were refused with reasons, 1 waits on the shelf. Stars measure fame, not skill — the model with 32,000 of them last went 3 for 12 on its Thai exam.
Runs on this desk zero-shot over SET names — and gets graded in public. Its latest exam came back 3 for 12 on direction. We keep running it because the grading is the product, not the forecast.
WHERE IT RUNS → /forecastPowers the Strategy Lab's parameter sweeps — the full EMA/RSI/Bollinger grid, Sharpe heatmaps included. Speed is honest work; any claim it produces still has to face the 26-year ledger.
WHERE IT RUNS → /labsIts fill engine — slippage, volume caps, stop and bracket orders — is what makes our simulator's fills realistic instead of flattering. A paper trade that fills perfectly teaches a lie.
WHERE IT RUNS → /simulateReal-money odds on the Fed and the recession — the price of belief, read every 15 minutes with source and age attached. We display prices; we never trade them.
WHERE IT RUNS → /eventsFive AI personas debating produce confident prose, not a measurable edge. An opinion you cannot grade is not a signal — our web traces measured correlations instead, and our one language surface (Ask Non) answers questions, not markets.
Reinforcement learning on a few thousand noisy bars memorizes the past and calls it policy. Ruled out once in our modeling roadmap; the grade Kronos just earned is a reminder of why the bar is high.
An execution engine for a game this desk teaches you not to play. A live exchange key in a beginner's hands is risk without evidence — the simulator teaches the same lessons with zero blast radius.
Market-making spread is rent collected for carrying inventory risk against faster players. A saver's edge is patience, not latency — this is someone else's business, professionally.
Good engineering with no current job here: we read crypto prices from Yahoo and trade on no exchange. The day this desk needs deeper crypto OHLCV, it is a data dependency — not before.
Sub-millisecond latency solves a problem nobody on this desk has. Institutional plumbing without an institutional edge is cosplay — the costume is expensive and the market does not care.
The sales pitch is the tell: an agent that reliably made money would not need a viral reel promising it. Full-spectrum autonomous execution across five asset classes is five ways to lose money unattended — and the accountability stays yours.
Its one good idea — the great investors' frameworks as lenses on a stock — already lives here as the Theory Atlas and the consensus verdict, with tests. The other 36 agents are decoration, and a desktop terminal is the wrong body for a phone-first desk.
Two contributors, zero human involvement, real execution. "Zero human involvement" is the bug being sold as the feature — a hedge fund is a liability structure and a risk desk, not a prompt.
"Build and sell quantitative strategies without a quant team" — the product is selling unvalidated strategies, not trading them. Twenty-nine debaters converge on confident consensus, and consensus without a graded track record is the exact thing this desk was built to refuse.
A thinner backtesting engine with a live broker attached. We already carry the better half of that sentence — and the desk does not attach brokers to beginners.
triage 2026-08-03 · a tool earns its place by being measurable here, not famous elsewhere