← Charlie Yan

Software and projects

Libraries you install and call, and systems you run. Each is tested against something external: a closed form, a published value, a reference implementation, or a seeded market whose parameters are known.

  • exhibitkit 2026

    Sell-side-style research documents from Markdown — numbered exhibits with mandatory source lines, themed chrome, chart palettes validated in OKLab for colour-deficient vision, a disclosure appendix, and a checker for the house rules.

  • lobcore 2026

    A bounded-array L3 limit order book in Rust with ITCH 5.0 replay, a BTreeMap reference book for differential testing, and PyO3 bindings that hand back numpy arrays with the GIL released.

  • retrievalkit PyPI 2026

    A retrieval stack written from the primitives up — Lucene-style analyzer with a from-scratch Porter stemmer, BM25, HNSW, nDCG/Recall/MRR, reciprocal-rank fusion — with dense, rerank and fine-tune stages measured as one ladder on BEIR FiQA.

  • tickq 2026

    A small SQL tool for market and execution data on DuckDB — a partitioned Parquet lake, market-data macros with a stated NULL contract, and quality checks whose recall and precision are measured on seeded defects.

  • boostkit 2026

    Histogram gradient-boosted trees from scratch in numpy, leaf-wise with the LightGBM recipe, plus exact TreeSHAP — validated against LightGBM and brute-force Shapley.

  • quotesim 2026

    An options quoting simulator with synthetic flow — Avellaneda-Stoikov and GLFT quoters in price and vol space, delta-band hedging, an exact P&L attribution, and comparisons paired by seed only.

  • volsurf 2026

    Implied-volatility surfaces from option chains — parity forwards, a vectorised Black inverter, raw-SVI fits per expiry, static-arbitrage checks that are counted and located, never repaired — and the surface exposed as MCP tools with a derived-golden eval harness.

  • riskkit 2026

    Portfolio risk for a futures-and-options book — VaR and ES by four methods, backtests with computed size and power, stress and reverse stress, and explicit limit-down, empty-book and stale-quote semantics.

  • pricers 2026

    Option pricing methods written out in numpy and validated against closed forms and QuantLib with explicit tolerances — Black-Scholes, trees, finite differences with PSOR and Brennan-Schwartz, Monte Carlo, Longstaff-Schwartz, Heston COS.

  • tcakit 2026

    Transaction cost analysis and market-impact calibration for equities and listed options — implementation shortfall, difficulty-adjusted scorecards, and impact fits that report held-out error.

  • chainmill PyPI 2026

    Parallel ingest of zipped option-chain archives into a queryable SQLite store, with resumable builds and per-archive failure isolation.

  • exitkit PyPI 2026

    Twenty-seven position-exit policies behind one interface, with a drop-in adapter for backtesting.py.

  • runseal PyPI 2026

    Content-addressed provenance for research runs — prove which data, code, config and environment produced a number, and that none of it changed since.

  • opentape 2026

    Twelve backtest bug classes, twelve runtime invariants, thirteen synthetic reproductions — the checks from "Dollar-Correct, Time-Wrong" as a library.

  • claimkeeper 2026

    A ledger for the falsifiable claims a research note makes — resolvers that score each claim from data once its date arrives, a Brier scoreboard, and a bot that reports the verdicts.

  • Causal Market Lab 2026

    A leakage-resistant PyTorch study of self-supervised pretraining for cross-asset time series — the full research loop from audited quote pipeline to after-cost evaluation, reported as a negative result with the locked holdout still sealed.

  • edge-or-memory 2026 — in progress

    A sealed, point-in-time harness for the study "Do LLM research agents find edge or remember it?" — the apparatus, published before any result exists.

  • deskboard 2026

    Real-time options risk and P&L dashboard with deterministic replay — per-leg Greeks, attribution with an exact identity, a limit engine that says why it fired, and a Telegram bot for the alerts.

  • quant-research-agent 2026

    A research agent that reviews quant backtests, and the evals that measure whether it catches known bugs and refuses to overstate results. The eval numbers are the deliverable.