SET1,577+0.12%VIX18.4-7.20%F&G50NEUTRALFED5.25%TARGETICT17:19
2026-09-10 ICT
EXPERIMENTAL · NOT INVESTMENT ADVICE

LABS

A working notebook for experiments built on the DayTraders data spine.

SHIPPED

Works end to end. You can use it now — the data flows and the math is real.

PROTOTYPE

Built, scope is real but limited. May surprise you — the wiring is honest, the scope is just narrow.

IDEA

Described, not built. Could be built — tell us which one matters.

THE DATA SPINE

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.

prices.json
granger.json
forward-view.json
kronos.json
ledger.json
cohort.json
macro.json
fundamentals
NonFi·SHIPPED
NetNet·SHIPPED
Trace·PROTO
Split·PROTO
Greenblatt·PROTO
Belt·PROTO
Honest·SHIPPED
Voice·PROTO
WhatIf·IDEA
LIVE DATA FEED

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

US SHILLER CAPE
41.5 x
+144% vs ~17 median
LIVE · Jul 17, 2026
multpl.com/shiller-pe (scraped table)
SET INDEX
1,639 pts+0.23%
LIVE · 2026-07-17
yfinance ^SET.BK
CNN FEAR & GREED
— MISSING
MISSING
feargreedchart.com → CNN dataviz — HTTPSConnectionPool(host='api.feargreedchart.com', port=443): Max retries exceeded with url: /v1/fgi (Caused by NameResolutionError("HTTPSConnection(host='api.feargreedchart.com', port=443): Failed to resolve 'api.feargreedchart.com' ([Errno 8] nodename nor servname provided, or not known)")); CNN: 418 Client Error: Unknown Error for url: https://production.dataviz.cnn.io/index/fearandgreed/graphdata
MR. MARKET'S DIARY · PROTOTYPE

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
SHIPPED · HONEST

THE HONEST BACKTEST

0 events · Z ≥ 2.5σ · 30D
WIN RATE0.0%
PRECISION0.0%
RECALL0.0%
CONFUSION MATRIX
ACTUAL · UP
ACTUAL · DOWN
SIGNAL
0
TP
0
FP
0
FN
0
TN

FN/TN not modeled in this single-class version — precision/recall computed on the signal set only.

30-DAY RETURN DISTRIBUTION
0
<-20%
0
-20%..-10%
0
-10%..0%
0
0..+10%
0
+10%..+20%
0
>+20%
EVERY EVENT · THE OUTCOME
SUBJECTDATEZFAM30DHIT
WHAT THESE NUMBERS SAY — AND DON'T
  • 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.
NORMAL · USEFUL

The two ideas any retail investor can use today. Plain tools, real data, no novelty.

PROTOTYPE

Personal Finance Copilot

NonFi

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.
PROTOTYPE

Graham's Net-Net

NetNet

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.
MEDIUM · INTERESTING

The ideas that go past the basics — signal backtests, magic formula, the sushi conveyor.

PROTOTYPE

Confluence Tracer

Trace

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.
PROTOTYPE

Pairs Trade Finder

Split

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.
PROTOTYPE

The Magic Formula (Thai Edition)

Greenblatt

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.
PROTOTYPE

The Sushi Conveyor

Belt

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.
SHIPPED

The Confusion Matrix

Honest

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.
SHIPPED

The Consensus

ONE VERDICT

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.
WILD · EXPERIMENTAL

The ideas that use the signal web as more than a chart. Counterfactuals, voices, the diary.

PROTOTYPE

Mr. Market's Diary

Voice

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.
READ THE BRIEF →
IDEA

The Counterfactual Engine

WhatIf

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.
READ THE BRIEF →
THE ARMORY · THE FAMOUS REPOS, TRIAGED

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.

KronosON THIS DESK
shiyu-coder/Kronos · Foundation model for candlesticks — 45 exchanges, AAAI 2026

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 → /forecast
vectorbtON THIS DESK
polakowo/vectorbt · Vectorized backtesting — thousands of variants in seconds

Powers 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 → /labs
BacktraderON THIS DESK
mementum/backtrader · Event-driven backtesting with realistic order mechanics

Its 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 → /simulate
Polymarket APION THIS DESK
Polymarket/gamma-api · Read-only odds from the largest real-money prediction market

Real-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 → /events
TradingAgentsREFUSED
TauricResearch/TradingAgents · Multi-agent LLM framework — AI personas debate trades

Five 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.

FinRLREFUSED
AI4Finance-Foundation/FinRL · Deep reinforcement learning for trading

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.

FreqtradeREFUSED
freqtrade/freqtrade · Crypto trading bot — build, backtest, deploy

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.

HummingbotREFUSED
hummingbot/hummingbot · Automated market making and arbitrage

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.

CCXTSHELVED
ccxt/ccxt · One API for 100+ crypto exchanges

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.

NautilusTraderREFUSED
nautechsystems/nautilus_trader · Institutional-grade algorithmic trading platform

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.

OpenAliceREFUSED
openalice (AGPL) · "Your one-person Wall Street" — an AI agent that trades for you

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.

FinceptTerminalREFUSED
Fincept-Corporation/FinceptTerminal · Open-source Bloomberg — 100+ sources, 37 investor-framework agents

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.

AutoHedgeREFUSED
The-Swarm-Corporation/AutoHedge · "Build your autonomous hedge fund in minutes" — agent swarm on Solana

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.

Vibe TradingREFUSED
vibe-trading · 29 AI agent teams debate a plain-English strategy, export to TradingView

"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.

LumibotREFUSED
Lumiwealth/lumibot · Build, backtest and deploy strategies to brokers

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

WHY THIS PAGE EXISTS

Ideas die in spec docs. The ones worth building are the ones you can show in 30 seconds. Labs is the directory of experiments built on the same data the production site already reads. Some are shipped. Some are prototypes. Some are still just ideas — described honestly, with the data they would need and the reason we haven't built them yet.

None of this is financial advice. The data is real; the math is honest; the recommendations are not. Tell us which lab matters and we'll build it next.

DAY2