The money
One WHERE decision revives 94 discarded factors: Sharpe 0.85 → 1.30. Pure venue spread alpha +2.3%/yr (t = 5.4); GRS rejects spanning F(2,417) = 51.
load-bearing · survives FF6 + BABI build an AI agent factory that proposes return factors by the thousand— then prove that unconditional screens have a structural blind spot for factors that only pay inside a market state.
A significance hurdle in one market venue is a fixed-aperture instrument — like Abbe's microscope, it has a diffraction limit. I give the resolution law of factor discovery, q²(τ)=τ/(1+τ), matched to Monte Carlo to three decimals. 94 anomalies a |t|<1.96 screen rejects earn out-of-sample Sharpe 0.85 where tested, 1.30 reallocated as a pool (+0.45, FF6 α 3.8%/yr, t=8.3, GRS F=51); a China A-share panel of 5,441 stocks reproduces it out of sample (+0.95, p=0). The per-factor ceiling is a winner's curse — in a zero-advantage null the oracle manufactures 5.9× the real gain. The replication crisis is a measurement problem. Working paper, Oct 2026.
One WHERE decision revives 94 discarded factors: Sharpe 0.85 → 1.30. Pure venue spread alpha +2.3%/yr (t = 5.4); GRS rejects spanning F(2,417) = 51.
load-bearing · survives FF6 + BABThe fine-routing ceiling is a winner's curse — 5.9× of the gap is selection over noise. Risk-parity super-Sharpes turn negative vs BAB (t = −2 to −4).
falsified, not leaned onGeometrically multi-rank (γ 0.38–0.78), tradable-rank one. The only direction that survives out of sample is the common small-cap tilt. m* ≈ 1.3.
impossibility theorem · 10 falsificationsInteractive sketch — hard gates discard legs; continuous tilt keeps breadth. Move mouse to perturb states.
00a · Why HAA · the case in sixty seconds
No adjectives. Every number below is either printed elsewhere on this page or computed in this tab — and the agent in §00b will re-run any of it on request. If a claim looks too good, ask it to prove the claim; it is built to say no.
Twenty-two months on one system, not one prompt-weekend. A personal A-share book at 172 bp/yr · IR 1.99; 64k lines shipped; 6,881 machine-mined factors; 56 strategy modules; a screen that covers 75% of the gross→oracle gap; evidence surplus 6.4× the median claim.
Most portfolios show a demo. This one shows the audit trail — longer, and considerably less flattering, which is rather the point.
Router first, model second. Twenty-seven instruments compute before any language model is allowed to speak; a seven-persona council adjudicates what the numbers mean; the paper's four propositions are callable instruments. Every figure is computed in this tab under one seed, with zero network calls — the provenance line under each answer says so.
A chatbot with a calculator is a toy; a calculator with a chatbot is a colleague. This is the second thing, mostly because the numbers refuse to move when asked nicely.
I wrote the grammar, the declared tape, the nine gates, the council's thresholds and the paper the whole thing serves. The agent's instruments are my research method, compiled — which is why it can be pushed hard without breaking: there is nothing in it I did not build and cannot explain line by line.
I did not fine-tune a model to sound like me. I wrote the instruments it is not allowed to lie about.
P1 dilution t_g = t·√π · P2 the wall t ≥ √(2 ln N) · P3 the ceiling q²(τ) = τ/(1+τ) · P4 pooling mean(t)·√n. Ask the agent “论文的四个命题” and it prints where each one runs on this page; ask “the ceiling at tau 0.3” and it computes the bound live.
The paper's most useful sentence is the one admitting what it cannot do. Investors call that “risk disclosure”; I call it the only honest slide in the deck.
agent
the rest is arithmetic
00 · BOAT Terminal
Nearly one year of nights shipping a usable terminal: Rust for the compute core, Python for strategies and AI, Flutter for the desk UI. Walkthrough lens is 600519.SH (Moutai). Posted to learn in public — backtests labeled as backtests, personal A-share book labeled separately from the JF paper track.
Strokes, pivots, B1/S1/B2/S3 labels with pairing lines — structure as audit trail, not decoration.
Temperature / force-field, bubble probability, Betti persistence — microstructure read in statistical physics language.
CSI-300 book: equity + underwater, factor matrix, SHAP, Monte Carlo permutation, Walk-Forward folds.
boat-1 judges factors, evaluates them on a declared market, trains real models on them and permutation-tests the result — every number computed in this tab. Try it below.
Quant is lonely. I want critique from people who have built Chanlun tools, factor stacks, physics reads, or real multi-agent systems — not applause for screenshots.
Still rough. Backtest ≠ live book ≠ JF claim. Each surface is labeled. This terminal is the builder desk; the paper is the scientific claim.
Ask boat-1 hard questions below. It answers only from instruments that run in this tab — and says so when it can't.
Two ways to give this page a real language model. Either way the model cannot compute anything itself: the ten instruments stay its tools, and the system prompt forbids stating a number that did not come back from one.
Local endpoints (Ollama, LM Studio) work only when this page is opened over http — over https, Chrome's private-network policy refuses the loopback call, and no header can lift it. On the live https site, use a public endpoint.
Your own machine as the server (16 GB card): install LM Studio, pull Qwen3.5-9B GGUF from ModelScope — pip install modelscope then modelscope download --model Qwen/Qwen3.5-9B-Instruct-GGUF --local_dir ./qwen35-9b — load the Q4/Q6 file in LM Studio, start its local server (port 1234), open this page over http, and put http://localhost:1234/v1 below with model qwen3.5-9b. Native tool calling, all 24 instruments, no download from huggingface at all.
The model file itself (~1.1–2 GB) downloads from huggingface.co the first time — if that host is unreachable on your network, use your own key instead.
The key is written to this browser's localStorage and is sent to nobody except the provider you chose. The tape stays declared-synthetic either way: admission at the gate never means a program earns.
00b · research agent
It judges factor expressions, evaluates them on a declared market, trains real models on the eight signals and permutation-tests the answer — all computed in this tab. No model call, no network, no API key. Attach a brain (top right) and a real language model answers instead — with the same instruments as its tools, and still no invented numbers.
Paste a library — one “name, t” per line, or “name :: formula”, or bare expressions, or sharpe= for your own strategy — or load a .txt/.csv file. It is measured here, then run through both ways: the universal screen against home-venue routing plus pooling.
Click any panel to expand. Same tape boat-1 reasons over.
Candles with strokes, pivots, labeled B1/S1/B2/S3 and pairing lines; RSI below. Bottom panes: Ising force-field (long/short spins) and thermometer (T≈2.075 · High) — microstructure as statistical physics.
CSI-300 constituents. This run: Sharpe ≈ 2.60 · ann. ≈ 54% · max DD ≈ 11.6%. Correlation matrix, importance ranks, Monte Carlo permutation, Walk-Forward — overfitting detectors on purpose.
Captain · Chanlun · Physics · Factor · Risk · Execution. Lane reports first; Captain tallies. DeepSeek on the real desk. Collaboration depth is still open — challenge it.
01 · The thesis
Core claim: unconditional factor screens have a structural blind spot for state-dependent premia. Machines make the supply cheap; the filter still asks the wrong question. This is not a weekend demo — it is a multi-year research program I am on leave to pursue full-time.
LLMs + search propose predictors faster than humans can vet. Screens become the bottleneck.
Keep if average premium clears multiple-testing. State-confined premia look like zeros.
Global t dilutes with √π. Locally strong factors are discarded as globally weak.
Per-factor states + hierarchical pooling. Continuous tilt—no hard gate that kills breadth.
Block-shuffle nulls, placebos, cross-fit. Then show deployable bps on public panels.
Load-bearing vs identification vs suggestive—said upfront. Science over storytelling.
Regime overlay adds deployable, net-of-cost alpha to every implementable baseline.
Discarded & machine factors carry genuine state-dependent structure.
Reported, not leaned on—honest science.
01a · Interactive argument tour
Step through the paper the way an editor skims: claim → mechanism → machine pool → economics → gates. Use the buttons or keyboard ← →.
01b · Submission track
Not “published.” Not vapor. A multi-venue academic pipeline with honest status labels— the Academy cares about motion; journals care about priority and process.
Research arc: Global Weakness, Local Strength is the phenomenon and the deployable economics (at the Journal of Finance, external review). Discarded but Alive is the law that explains and bounds it — a working paper (Oct 2026 draft) with a fully public repro, companion to the JF submission. Acceptance is not claimed for either.
Receipts — click to enlarge:
All tracks are submissions. Acceptance is not claimed. The proof of work is the paper + repro pack + systems letter—not the journal logo.
01c · Interactive paper map
Click a claim tier. The right pane opens the mechanism, the number that carries weight, and what a third party can recompute from the public pack.
01d · Paper atlas
Click a node to open the load-bearing sentence from Global Weakness, Local Strength.
02 · Mechanism lab
A premium confined to a paying state of frequency π is diluted in the unconditional mean. Drag the controls — watch the screen discard a factor whose conditional edge never changed.
State-frequency-weighted average. Local strength is averaged away by construction.
Proposition 2: global t vanishes as the paying state grows rare—even when conditional t stays large.
Hard gates raise per-bet skill but destroy effective breadth. Continuous tilt keeps legs and scales weights.
Illustrative first-order lab for Proposition 2. Not a trading simulator — a screen-discard visualizer.
CUT
Binary: keep if |tg| ≥ threshold, else discard the entire leg.
WEIGHTED
Keep the leg; scale exposure by state-dispersion / local strength. Rare states shrink weight — they do not delete breadth.
Curve: tg ≈ tstate√π. Same conditional edge — only π / threshold change. Move mouse on the hero canvas for the same intuition in particle form.
02b · Resolution limit
In 1873 Ernst Abbe showed a microscope's sharpest detail is fixed by its aperture, not the grinding of the lens. A universal significance hurdle is the same kind of instrument, and factor discovery has the same kind of limit. How much of a unit's true home-tilt the data recovers obeys one clean attenuation law, q²(τ)=τ/(1+τ) with τ=m/m*, m*≈1.3 factors — negligible for a single factor, nearly complete for a pool. Move the whole discard pool to its home venue once (coarse) and out-of-sample Sharpe goes 0.85 → 1.30, three-quarters of the way to the 1.45 hindsight ceiling. The converse is what makes it a law: no router closes the rest.
A global component β_i plus a venue-local component a_iv. Factor-to-venue assignment is a self-selection problem: the screen keeps the global part and discards the local part as noise. On 94 discarded factors the coarse move earns FF6 alpha +3.8%/yr (t=8.3), HXZ q5 +3.4%/yr (t=7.5), increment alpha +2.3%/yr (t=5.1), GRS F(8,594)=5.7 (p<1e-6).
The squared overlap between the estimated home-tilt and the truth converges to q²(τ)=τ/(1+τ): negligible as τ→0, exactly one-half at the half-recovery scale m*≈1.3 (τ=1), rising smoothly to one. There is no hard wall — but on the log scale of m the crossover is sharp. The pooled coarse move (m=94, τ≈72) lands at q²≈0.99; per-factor routing (m=1, τ≈0.77) lands at q²≈0.43, below half. Matched to Monte Carlo to three decimals (Appendix IA.2).
Coarse leaves only 0.14 to the ceiling. Five routers — per-factor argmax, economic-family prior, trailing-performance timing, an ML characteristic map, empirical-Bayes shrinkage — each tuned out of sample and frozen, recover at most 0.05 of it. Routing every factor (fine) loses 0.18. The empirical-Bayes rule, free to shrink, moves zero factors.
The claim is +0.45 Sharpe over current practice (discard = zero), not beating the oracle. Coarse captures 3/4 of the grave→oracle gap, and no method beats it by more than noise. Same wall holds internationally: JKP 47 countries, single-factor venue persistence median 0.23.
Curve: q²=τ/(1+τ) vs. pooled size m (log axis), half-recovery marked at m* ≈ 1.3. The coarse pool (m=94) sits far right at q²≈0.99; per-factor routing (m=1) sits left of m* at q²≈0.43. Illustrative, not a trading simulator.
Resolution law q²(τ)=τ/(1+τ), τ=m/1.3: a single factor (m=1) recovers q²≈0.43 of its home tilt; the pooled discard set (m=94) recovers ≈0.99. Half-recovery at m*≈1.3 factors.
Scale law: the discovery hurdle grows like √(2 log N); the allocation threshold like √(2 log log N). The gap diverges — stricter policing of the zoo discards MORE recoverable local strength as N grows.
03 · Deployable economics
Overlay on Chen–Zimmermann OSAP panels. Against seven allocators × four panels, 24/24 same-base active increments stay positive. Click a panel row — the chart locks onto that book.
Two levels of one program: the 172 bps/yr value-weight overlay below is the deployable payoff; a single coarse reallocation moves Sharpe 0.85 → 1.30 (three-quarters of the way to the 1.45 ceiling), and the converse proves no router closes the rest. Same idea — route strength to its venue — read once as economics, once as a resolution limit.
Out-of-sample Sharpe. One coarse reallocation earns +0.45 over discard (95% CI excludes zero, p(>0)=1.000). The in-sample oracle (1.45, hollow) is a winner's curse: held out of sample it collapses to 1.12, and ~5.9× of its apparent edge is selection over noise. The China A-share panel (5,441 stocks) reproduces the gain out of sample (+0.95, bootstrap p=0). Hover a bar for t-stat, CI and p.
OOS Sharpe: discarded 0.85 → coarse pool 1.30 (+0.45, 95% CI excludes 0). The in-sample oracle 1.45 collapses to 1.12 out of sample; no router beats coarse by more than noise. China A-share: +0.95, bootstrap p=0.
| Panel | MinVar SR | Overlay SR | Active bps/yr | IR | Deployable t | OOS bps | OOS IR |
|---|---|---|---|---|---|---|---|
| Equal-weight | 2.79 | 3.01 | 128 | 1.73 | 1.49 | 101 | 1.72 |
| Value-weight ★ | 1.37 | 1.91 | 172 | 1.99 | 6.81 | 134 | 2.05 |
| NYSE breakpoint | 1.73 | 2.15 | 134 | 1.68 | 4.11 | 116 | 1.52 |
| Large-cap (ME20) | 1.77 | 2.05 | 109 | 1.66 | 2.79 | 75 | 1.60 |
EW: ~115 factors significant unconditionally → ~268 factor–state cells (~2× independent bets from the same raw material).
Cross-fit (labels ⊥ alpha), own-regime beats placebo 3–5×, states persist ~8.6 months, Romano–Wolf / e-BH / Lo (2002), deflated Sharpe ≈ 1.
Local strength steepens when funding capital is scarce (HKM & Baa–Aaa). Volatility placebos fail—limits to arbitrage, not vol timing.
04 · Machine population
6,881 genuinely machine-generated factors. None clears the global screen. Click each funnel step — see the standard tighten and what survives.
13.8%
regime-local rate · human expert library11.6%
regime-local rate · human expert librarySame order of magnitude as the machine pool → structural property of unconditional screening, not one generator’s artifact.
N=6,960 candidate factors; effective dimension d_eff=17. The discovery hurdle grows like √(2 log N) and the allocation threshold like √(2 log d_eff) — the gap diverges as the zoo grows. Judged in one venue by the universal hurdle, ~94% of factors that are genuinely profitable in their home venue are wrongly discarded. Hover a point for both t-stats.
N=6,960 factors, d_eff=17. Universal hurdle √(2 log N)≈4.21 vs allocation hurdle √(2 log d_eff)≈2.38. Judged in one venue, ~94% of genuinely home-profitable factors are wrongly discarded.
05 · AI agent factory
Agents emit typed ASTs over nine microstructure signals.
Select a machine-emitted factor →
06 · Industry proof
Quantitative System Development Intern (from Aug 2025) at Zheshang Securities Co., Ltd. (Hangzhou). Letter by Liao Jingchi, Managing Director — highest recommendation for graduate study and research/engineering practice.
Quote
06b · Proof of work · different shape
The Founding Class includes apps, hardware, nonprofits, ARR. Official language also counts original research as built. My instrument is inspectable judgment under AI-scale factor supply.
06e · AI × quant
The Academy asks for agency when something captures attention.
AI expands the proposal set. Quant discipline decides what enters science.
Long game: keep tightening identification.
Toggle AI vs Quant emphasis.
06c · Engineering discipline
I use agents every day. That is normal.
intent → agent draft → human gate → verify → CI → ship.
Machine-readable rules live in AGENTS.md…
Static site/ on purpose — fast for reviewers on phones.
No invented metrics. No JF PDF in public git.
LLM propose → type-check → sandbox → constitution → admit.
Local scripts/verify.* · Actions repro-smoke + pages.
06d · Engineering mass
Competitors dump folders. I show partition.
Public GitHub is deliberately small.
07 · Proof of work
Headline arithmetic regenerates from shipped tilt output—no router source required.
09 · Field presence
Invited as a VIP guest to Wiki Finance Expo Hong Kong 2026 — Hopewell Hotel, 15 Kennedy Road, Wan Chai · 23–24 July 2026.
Not a photo dump — a structured record.
Morning VIP badge…
Returned to the floor…
Three frictions…
Proposition 2 bridge…
VIP was not a sticker for LinkedIn.
Walked the branded floor.
The expo’s public language maps onto my research tension.
09b · Exchange visit
Invited to Hong Kong Exchanges and Clearing for learning and exchange — not a tourist photo. Visitor badge on, standing at the HKEX brand wall (香港交易所). A separate track from Wiki Finance Expo VIP: here the object is market infrastructure and how a major exchange presents itself to learners.
To see exchange infrastructure and institutional language up close — clearing, listing, market structure talk — and pressure-test whether my screening-science agenda still sounds real next to the institutions that define “the market.”
Entered on invitation with a visitor pass. Walked the branded lobby, listened, asked. Kept the receipt photo on purpose: body on site at 香港交易所, not a remote claim.
Separate from Wiki Finance Expo VIP (industry expo rooms) and from the Zheshang summer camp (where I was an instructor). HKEX = invited learning & exchange at the exchange itself.
09c · Instruction
Instructor (指导员) for 浙商证券研究所「后浪计划」投研精英班第七期暨暑期考察营 — the 7th Investment Research Elite Class & Summer Inspection Camp. Not a spectator seat: I guided participants through research / quant-engineering practice while the program ran under Zheshang Research Institute branding.
Structured record of role, rooms, and what “指导员” meant in practice.
浙商证券研究所 · 后浪计划 · 投研精英班第七期暨暑期考察营. Corporate talent track — research elite class plus summer inspection camp — not a casual meetup.
指导员 / instructor: stay with the cohort, unblock research and engineering questions, keep sessions moving from talk to runnable work. Distinct from being a trainee in the seats.
Signed red backdrop (cohort presence). Full classroom under the program LED. Laptop in the hall debugging quant / data issues during the camp window (timestamp visible July 2025) — instruction that includes code, not only slides.
Same Zheshang orbit as the MD recommendation letter (production systems internship). Camp = teaching / guiding face; letter = shipping face. Two proofs, one firm.
Agency is not only building alone. Guiding a research cohort under a securities-institute brand is proof I can hold a room, translate quant ideas, and stay accountable when others’ work depends on clarity.
Wiki VIP = industry expo guest. HKEX = invited learning at the exchange. This camp = instructor inside Zheshang’s Houlang talent program. Three receipts, three roles.
Already in motion across venues: research paper track, production systems, field VIP, exchange visit, and formal instruction. Different instruments, same bar — show up and leave a checkable trace.
10 · Private boatfx stack
Public GitHub is curated on purpose. The private monorepo is a multi-crate trading / research system.
Public surface stays thin: boatfx-repro = site · repro · showcase · CI.
08 · The Horowitz Andreessen Academy
We’re looking for people who are already in motion…
I am on an academic leave of absence from my university to pursue this research full-time. I remain within Academy eligibility: I have not completed more than one year of full-time college after high school (through August 2027). International applicant. Willing to live in San Francisco full-time.
Essay and video are mine. AI helps me code and edit — not invent the story.
Artifacts