runs in your browser · no server · no tracking · every experiment says where its data comes from
The Lab
~/lab/ai-quant-research/work-graph.plan
A gated build
The centrepiece build's rule: a task is done when its gate passes, not when an agent says so. Run the gates in order, plant a bug in task 4 and watch its gate send it back with evidence while the review waits.
SYNTHETIC five-task chain; a simplified illustration of the work graph, not its code.the projectcode
loading experiment…
~/lab/ai-quant-research/guard.sh
Command guard
Type a shell command. The guard parses it like a shell would and blocks the destructive shapes; anything it cannot parse is blocked too, because it fails closed.
Your input only, judged by the unmodified guard.py from agent-harness, running in your browser as Python compiled to WebAssembly.the projectcode
loading experiment…
~/lab/ai-quant-research/retrieval.bm25
Search this site
The lexical half of a retrieval stack: BM25 ranks passages by how rare each query word is and how often it appears, with repeats saturating and long passages normalised. Ask this website a question and read why each hit ranks where it does.
This website's own write-ups, indexed in your browser. The idea of the vault's full-text search, not its code; its vector half is not shown.the projectcode
loading experiment…
~/lab/ai-quant-research/lookahead.bt
Look-ahead bias
One trend rule, two backtests. Decide from yesterday's return and it is a coin-flip business. Let it peek at today's return and it never has a losing day.
Four signals scored by rank IC on train and validation. The test window stays sealed until one has been chosen, then opens for that one only.
SYNTHETIC panel of assets with a little momentum.the projectcode
loading experiment…
~/lab/ai-quant-research/quotes.sim
Market making
Quote a bid and an ask around a drifting fair value. Widen the spread to earn more per fill; skew the quotes against your inventory to stop it running away. Same lesson as IMC Prosperity's market-making rounds.
A 5-minute candle's close is only known when the candle ends. Stamp candles at their open instead and a rule that reads the latest candle reads the future. The availability audit checks every read against when its data was really known.
SYNTHETIC candles; the idea of the earlier experiment's audit, not its code or data.the projectcode
loading experiment…
~/lab/qts-platform/point-in-time.read
Point-in-time reads
Read the same history two ways: only what was known then, or the latest corrected values. Move the cutoff and see exactly when a late correction would leak future information into a study.
Writers each read a record, work, then write it back plus one. With last-write-wins, a write that lands in between is silently overwritten. With compare-and-swap, a stale writer re-reads and retries, so every update survives. The same reason the platform's race test counts commits kept.
SYNTHETIC writers and a seeded scheduler; an illustration of the idea, not the platform's code.the projectcode
loading experiment…
~/lab/qts-platform/revision.workbench
Research data workbench
Bring your own version records. Edit or import a CSV, run an as-of query, explore the publication timeline and export a result with its source lines. See exactly which corrections a historical read must withhold.
REAL computation in your browser over editable synthetic examples or your local input. No upload; an independent teaching tool, not private platform code.the projectcode
loading experiment…
~/lab/fatqat/warm-call.recorded
What does the GPU return?
A small observable or the entire state: what you ask the simulator to return changes the transfer cost. Explore the archived warm-call measurements, then inspect the baseline and method behind each comparison.
RECORDED historical measurements from the public repository. Selection and ratios run here; no GPU benchmark runs in your browser.the projectcode
loading experiment…
~/lab/fatqat/complex-product.kahan
Compensated products
FatQat's default GPU arithmetic, computed for real: a·b − c·d rounded plainly and with Kahan's algorithm, each measured against the exact value. Try nearly cancelling inputs, then typical ones.
Computed exactly in your browser: a BigInt reference, no recorded results.the projectcode
loading experiment…
~/lab/fatqat/statevector.sim
Qubit sandbox
A state vector holds one amplitude per basis state and every gate updates all of them. Apply gates and watch the amplitudes; colour shows phase. The real backend does this for thousands of times more amplitudes, on a GPU.
Computed exactly in your browser (2 to 4 qubits).the projectcode
loading experiment…
~/lab/competitions/drift-gate.kf
Kalman drift gate
In the final two Prosperity rounds, which I coded, a Kalman filter replaced a fixed-window drift gate, so a drift signal is used only when its slope is clearly away from zero. Turn up the noise: the fixed window starts calling drift everywhere, the Kalman gate stays quiet until the drift is real.
SYNTHETIC market with one real drift; a simplified illustration of the idea, not the team's competition code.the projectcode
loading experiment…
~/lab/competitions/legal-moves.policy
Legal-move masking
The policy scores every option; illegal ones are masked before the softmax so probability only lands on moves the engine allows. Toggle legality and temperature.
An agent proposes actions; the gate abstains on the risky ones. Set how many rule breaks you will tolerate and the threshold is calibrated to meet it.
SYNTHETIC actions; a simplified illustration of the idea, not the project's model.the projectcode
loading experiment…
~/lab/ai-quant-research/quant-system.blueprint
Quant-system blueprint
Nine typed stages for a quantitative research and trading system, each with a contract to pass. Crypto is the worked example here; explore three recorded experiments behind the rules, each against a control.
SYNTHETIC and public Binance data from the crypto worked example's recorded results. Other asset classes are not demonstrated here.the projectcode
Search more random formulas and the best one looks better on the data you searched, and no better on data you did not. Why a search needs a sealed test and a random control.
SYNTHETIC panel; every candidate is noise by construction.the projectcode
loading experiment…
~/lab/coursework/dna.channel
DNA channel
Write a UTF-8 message as DNA, two bits per base, then let a noisy channel substitute, insert and delete bases and read it back with no correction. A substitution can damage the text; one deletion shifts the later byte boundaries.
SYNTHETIC seeded channel over your own text; the idea behind the simulator, not its code.the projectcode
loading experiment…
~/lab/maths/intervals.check
Interval clash checker
Explore interval overlap with a synthetic weekly schedule. Add or remove sections: an overlapping interval is refused and the exact clash is named. This is an independent algorithm exercise.
SYNTHETIC sections (invented codes and times).code
loading experiment…
~/lab/maths/option-surface.3d
Option surface in 3D
Black–Scholes as a landscape: call price, delta, gamma, vega or theta over stock price and time to expiry, or an implied-volatility surface with its smile and skew. Drag to turn it; move the sliders and watch it reshape.
Exact formulas computed in your browser: Black–Scholes for a European option, SSVI for implied volatility.code
loading experiment…
~/lab/site/fourier.portrait
Fourier portrait
Rotating circles redraw a line portrait. Draw your own shape or trace your own photo, in your browser.
My photo as one closed path; yours never leaves the page.code