Skip to content
View tschm's full-sized avatar
🦧
Be sure to wear some flowers in your hair
🦧
Be sure to wear some flowers in your hair

Highlights

  • Pro

Organizations

@cvxgrp @Jebel-Quant

Block or report tschm

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
tschm/README.md

Thomas Schmelzer

I build optimization algorithms and research tooling for quantitative finance, from Palo Alto and Abu Dhabi.

Rhodes Scholar at Balliol College, Oxford, from 2004. DPhil on fast matrix functions, supervised by Nick Trefethen. Shadows of that past

  • nncg — non-negative conjugate gradients, the reference implementation for Schmelzer & Stoll
  • mean_variance_solvers — matrix-free and direct solvers for long-only mean-variance portfolios

Quantitative hedge funds from 2007, and higher-dimensional convex problems

  • linalg — the linear algebra underneath portfolio optimization
  • cvxcla — the critical line algorithm: exact efficient frontiers rather than sampled ones
  • pyhrp — hierarchical risk parity, Schur complement risk parity, 1/N
  • jquantstats — time series and portfolio analytics
  • basanos — a first hurdle for expected returns
  • cs — the 10-line CTA, and what convex programming reveals about its Sharpe ratio, kurtosis and trading costs. The engine underneath it is TinyCTA

Visiting scholar at Stanford in 2023, working with Stephen Boyd. Hence the cvxgrp work: cvxcla above, plus simulator for backtests small enough to read, cvxrisk for risk models you can compose, and cvxball for the smallest enclosing sphere.

In 2025 I launched Jebel Quant Research together with HE Omar Saif Ghobash — help with data, strategies and trading, and open source

  • rhiza — one template repository that owns the boring parts of a Python project: CI, Makefile, linting, typing, test and coverage gates, docs build. A repo pins a template release and syncs, rather than drifting into its own configuration.
  • rhiza-claude — the same workflow as slash commands for Claude Code: /init, /update, /quality, /release
  • rhiza-education — training for and with rhiza, alongside a paper on what the plugin is for

The point is leverage: configuration written once, reviewed once, then inherited — so the time goes into the research and not the plumbing.

A Technology Vision for Quantitative Trading — fourteen pages, out of my exposure to ADIA's Team Q, arguing that the industry's problems are organisational rather than technical. The handover model, research in Python reimplemented in C++, buys diffuse accountability, reinvented wheels and reconciliation as an organising principle. What replaces it is one environment for research and production, a checkerboard team, and quality at every stage instead of inspection at the end. I trained as a mechanic at AUDI first, so the factory analogies come from the shop floor: Ford's assembly line is what the industry adopted, Toyota's is better, and a professional kitchen — calm, every station visible to every other — is better still.

Nearly 400 merged pull requests outside my own projects. The ones I keep returning to

  • chebpy — a Python implementation of Chebfun, the most direct continuation of the DPhil I could have hoped for
  • loman — computation graphs for quantitative research and trading
  • investment-funnel — an open platform for backtesting investment strategies
  • pycharting — high-performance charting for financial data

Smaller fixes, usually filed where a tool got in my way: scipy, cvxpy, marimo, PyPortfolioOpt, Clarabel, Kaleido, finmarketpy, connector-x, ISLP labs.

committers.top badge

That badge measures volume, and volume was never the point. A more useful measure is what is still open. The table below is regenerated nightly, so a new project joins it on its first release without anyone editing this file.

quality coverage downloads issues pull requests branches releases latest last commit
cvxgrp/cvxcla 100% downloads open issues open pull requests 3 39 latest release last commit
cvxgrp/cvxmarkowitz 100% open issues open pull requests 5 2 latest release last commit
cvxgrp/cvxrisk 100% downloads open issues open pull requests 1 35 latest release last commit
cvxgrp/simulator 100% downloads open issues open pull requests 8 116 latest release last commit
jebel-quant/basanos code quality 100% downloads open issues open pull requests 3 21 latest release last commit
jebel-quant/jquantstats code quality 100% downloads open issues open pull requests 2 68 latest release last commit
jebel-quant/linalg code quality 100% downloads open issues open pull requests 1 19 latest release last commit
jebel-quant/nncg code quality 100% open issues open pull requests 1 10 latest release last commit
jebel-quant/rhiza code quality open issues open pull requests 3 106 latest release last commit
jebel-quant/rhiza-claude code quality 100% open issues open pull requests 1 8 latest release last commit
jebel-quant/rhiza-education code quality 100% open issues open pull requests 1 1 latest release last commit
jebel-quant/rhiza-hooks code quality 100% open issues open pull requests 2 18 latest release last commit
tschm/cs code quality 100% open issues open pull requests 4 13 latest release last commit
tschm/pyhrp code quality 100% downloads open issues open pull requests 1 140 latest release last commit
tschm/TinyCTA code quality 100% downloads open issues open pull requests 2 77 latest release last commit

An issue that has been open for a year is not a backlog item, it is a decision that was never made.

Pinned Loading

  1. Jebel-Quant/rhiza Jebel-Quant/rhiza Public template

    A collection of reusable configuration templates for modern Python projects

    Python 14 5

  2. Jebel-Quant/rhiza-claude Jebel-Quant/rhiza-claude Public template

    Claude Code plugin marketplace for the rhiza plugin — slash commands for working in rhiza-managed repos.

    Python 3

  3. Jebel-Quant/rhiza-education Jebel-Quant/rhiza-education Public

    Training for and with rhiza

    HTML 2

  4. Jebel-Quant/jquantstats Jebel-Quant/jquantstats Public

    Time series and portfolio analytics for quantitative finance.

    Python 42 9

  5. pyhrp pyhrp Public

    Cluster-based portfolio allocation: HRP, Schur risk parity, and 1/N

    Python 55 23

  6. cs cs Public

    The 10-line CTA — a trend-following strategy in ten lines of code, and what convex programming reveals about its Sharpe ratio, kurtosis and trading costs

    Python 45 23