$
MatthewBrulhardt
I work where machine learning meets markets and language. Reinforcement-learning trading agents on TensorTrade, aspect-based sentiment from raw reviews, and lately a probabilistic programming language written in Rust.
// featured
schemepplRust
A probabilistic programming language built on a Scheme-like DSL, where inference is a language problem rather than a library call. Written in Rust, and the project I keep coming back to, with active commits through 2025.
$ ls ~/repos
Things I've shipped.
All public on GitHub, from RL trading agents to a probabilistic language in Rust. Tap any card to read the source.
simple-sine-curve
PublicA tutorial for training a reinforcement-learning agent to trade on a simple sine curve, the clean signal you learn on before the noise of a real market. My most-starred repo.
penv
PublicAn example for making highly customized environments in TensorTrade. Bend the trading environment to your strategy instead of fighting the framework.
yelp-absa
PublicAspect-based sentiment analysis on the Yelp dataset. Not just whether a review is good or bad, but what the place is actually good at.
canapi
PublicA universal client API generator. Describe the endpoints once and let the boring glue code write itself.
finance
PublicAnalysis and prediction code on financial data. The notebook playground behind the trading work that followed.
feed
PublicA streamable version of pandas for online computation. Process data as it arrives instead of loading the whole frame at once.
// stack
What I build with
No vanity skill bars. Just the tools the repos are actually written in, grouped by where they live.
ML & Quant
Systems
Data & NLP
$ gh api users/mwbrulhardt
The real numbers.
github.com/mwbrulhardt ↗commit cadence · illustrative overview
languages · public repos
- Python64%
- Rust18%
- Jupyter Notebook14%
- Other4%
// about
I build the agent,then the language it reasons in.
Most of my open source lives at the seam between machine learning and decision-making. I wrote the simple-sine-curve tutorial to show how a reinforcement-learning agent actually learns to trade on a clean signal, before the noise of a real market. Then came penv, for building TensorTrade environments you bend to a strategy instead of fighting the framework.
The other half is language. yelp-absa pulls aspect-based sentiment out of raw review text. Not just whether a review is good or bad, but what the place is good at. feed is a streamable take on pandas for online computation, and canapi generates API clients so the boring glue writes itself.
Right now I'm building schemeppl, a probabilistic programming language with a Scheme-like DSL written in Rust. It's the project I keep coming back to, where inference becomes a language problem instead of a library call.
An agent is only as good as the environment you let it learn in.
$ git log --oneline --reverse
Commit history.
2025 to now
schemeppl @ Rust · probabilistic programming
Building a probabilistic programming language on a Scheme-like DSL, treating inference as a language problem rather than a library call. The project I keep returning to.
RustScheme DSL2021
TensorTrade RL agents @ simple-sine-curve · penv
Wrote the tutorial that teaches an RL agent to trade a clean sine signal (34 stars), plus penv for building highly customized TensorTrade environments (25 stars).
PythonReinforcement LearningTensorTrade2021
NLP & streaming data @ yelp-absa · feed
Aspect-based sentiment analysis on the Yelp dataset, plus feed, a streamable version of pandas for online computation.
PythonNLPpandas2019 to 2020
Tooling & financial analysis @ canapi · finance
A universal client-API generator, plus a collection of analysis and prediction code on financial data that laid the groundwork for the trading work that followed.
PythonJupyterFinancial Data
// contact
Working on somethingin ML or markets?
Reinforcement learning, probabilistic inference, NLP, trading systems. If it lives near any of those, I'd like to hear about it. Everything I do is on GitHub.
Open to interesting problems · Long Island, NY