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.

qualitycoveragedownloadsissuespull requestsbranchesreleaseslatestlast commit
cvxgrp/cvxcla100%downloadsopen issuesopen pull requests339latest releaselast commit
cvxgrp/cvxmarkowitz100%open issuesopen pull requests52latest releaselast commit
cvxgrp/cvxrisk100%downloadsopen issuesopen pull requests135latest releaselast commit
cvxgrp/simulator100%downloadsopen issuesopen pull requests8116latest releaselast commit
jebel-quant/basanoscode quality100%downloadsopen issuesopen pull requests521latest releaselast commit
jebel-quant/jquantstatscode quality100%downloadsopen issuesopen pull requests268latest releaselast commit
jebel-quant/linalgcode quality100%downloadsopen issuesopen pull requests119latest releaselast commit
jebel-quant/nncgcode quality100%open issuesopen pull requests210latest releaselast commit
jebel-quant/quadprogcode quality100%downloadsopen issuesopen pull requests55latest releaselast commit
jebel-quant/rhizacode qualityopen issuesopen pull requests2110latest releaselast commit
jebel-quant/rhiza-claudecode quality100%open issuesopen pull requests113latest releaselast commit
jebel-quant/rhiza-educationcode quality100%open issuesopen pull requests21latest releaselast commit
jebel-quant/rhiza-hookscode quality100%open issuesopen pull requests123latest releaselast commit
tschm/cscode quality100%open issuesopen pull requests213latest releaselast commit
tschm/pyhrpcode quality100%downloadsopen issuesopen pull requests1140latest releaselast commit
tschm/TinyCTAcode quality100%downloadsopen issuesopen pull requests277latest releaselast 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/rhizaJebel-Quant/rhizaPublic template

    A collection of reusable configuration templates for modern Python projects

    Python 14 5

  2. Jebel-Quant/rhiza-claudeJebel-Quant/rhiza-claudePublic template

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

    Python 4

  3. Jebel-Quant/rhiza-educationJebel-Quant/rhiza-educationPublic

    Training for and with rhiza

    HTML 2

  4. Jebel-Quant/jquantstatsJebel-Quant/jquantstatsPublic

    Time series and portfolio analytics for quantitative finance.

    Python 42 9

  5. pyhrppyhrpPublic

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

    Python 55 23

  6. cscsPublic

    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