github.com/Smitty777777
About (2025/01/03)
I am a senior year (yr13) high school student from New zealand. I write high frequency trading software because that is what I am interested in. This is a bookshelf of sorts for that software, excluding the freelance projects I have done for other people and my own trading logic.
I have also included some of my academic papers.
I was introduced to programming when I was 11 via robotC, Nowadays I write c++ and c# for my front end and research. I work on very short term trading logic, ideally sub second round trips for some of my strategies as well as continuous quoting/market making, else I would get bored.
In the past I largely traded calendar and intermarket energy spreads on the CME and before that, ages 14-15 (1337 skiddie) was involved in CFD's, particularly the ECN-STP latency arb. I now trade illiquid, low notional futures during the New Zealand day time on the CME and Eurex and punch eminis.
I do not see myself as a software developer, I am more interested in trading, math and research; I build what is needed to employ trade ideas.
Why do I do this?
Because it’s comp. I am content, I do not care about money. I want to Win Win Win Win number go up you lose I win. As a team of course.
Why am I so young?
"Oh dear! Oh dear! I shall be too late!"
All is my own.
Update (2026)
I will not be updating this page for the foreseeable future due to the nature of work.
201C 53 6F 20 44 61 76 69 64 20 70 72 65 76 61 69 6C 65 64 20 6F 76 65 72 20 74 68 65 20 50 68 69 6C 69 73 74 69 6E 65 20 77 69 74 68 20 61 20 73 6C 69 6E 67 20 61 6E 64 20 77 69 74 68 20 61 20 73 74 6F 6E 65 2E 201D
Osmi Liquidator (2025-Present)
Liquidator serves as a node based algo builder and quoter similar to Trading Technologies Algo Design Lab (ADL). It’s a fallback for an deprecation that may prevent me from using OsmiTrader which relies on an ISV for DMA routing. Liquidator uses the Microsoft COM interop library to communicate with softwares that support it, usually for the purpose of trading through excel RTD. For example, Liquidator works with Trading Technologies to provide theo prices and offsets to TT autoTraders and MM algos. It can also be used for fully automated trading when used with other platforms such as rithmic trader and CQG. The strategies are saved to .strategy and can then be run in the executor windows with the ability to adjust public parameters. Thanks to Komorra for providing the node control library as OSS (https://github.com/komorra).
Liquidator has average latency due to the nature of its design but is great for overnight trading and prototyping.


OsmiTrader/Genesis (2022-Present)
OsmiTrader/Genesis is my complete trading stack consisting of the OsmiTrader daemon and the Genesis GUI instance. OsmiTrader is the core strategy engine, featuring strategyManager, a quoting engine for market making, hedging and hitting. OsmiTrader has been proximity colocated with the CME at CyrusOne CH1 and uses FIX binary over TCP to receive market data and route orders to Cunningham Trading System.
I started building genesis when I was 15. It started as a tool to rip orderbook data out of the ninjatrader retail futures platform to create an improved depth ladder display for click trading.
OsmiTrader is written in C++ and implements features such as an internal book impact model, multi-feed book construction, lock free ring buffer along with many other latency tricks. Genesis is the front end stack, built on the .net framework. Genesis consists of the StrategyManager UI which allows the creation of multiple algo instances simultaneously, the selection of hedging and basis markets and the user defined or algo theo price. The user can open an order book ladder which highlights the theo price on the price column, View the audit trail, fills, working orders etc.
The price ladders can also load autospreader markets between any 2 contracts on any exchange. I use the CME’s method of constructing the implied spread book.
The front end also has the ability to forward market data to a different computer, for which I have both an acceptor application written in c++ and a QT gui.
Latest version of OsmiTrader quoter/hedger manager, genesis ladders/autospreaders and risk screens:



Old light theme:

Market data streamer received BBO data:

Timecop++ (2025)
Timecop++ is my back testing engine which ingests CME MDP BBO’s, simulates queue positions and fills with curve fitting for beyond best bid/offer fills, FPGA and software latency etc. It was originally written in c# and the recent refactor has made it far more performant, Timecop returns a fill report and allows searching historical add/del/trade to see the market state at the time of a fill.

Genesis Trader Classic (2022)
The legacy version of genesis. Built to target legacy windows NT operating systems such as windows XP, 2000, 7 and vista. The visual layout and functionality is derived from older versions of Trading Technologies now discontinued X_Trader platform (V7, V6.9).
Genesis trader classic features the following:
Market depth ladder with customizable order hotkeys, Colors, trading limits and defaults - ability to trade across multiple accounts + iceberg and OCO function
Positions and fills window
- Autospreaders
- Working orders with modification, cancel/replace and held order functionality
- Audit trail recording and displaying all important events on the client/exchange


Genesis Research (2024)
Genesis Research is an economic data and news platform. GR features high speed news wires and economic event data from a number of sources as well as global commodity, equity/index and foreign exchange quotes. I no longer maintain it.

Genesis Ticker (2025)
A market depth/trades visualizer I built for my high school
senior (NCEA L3) Compsci project

FIXDapter (2024)
The FIXDapter API is an easy to use FIX API that maintains a TCP session and parses inbound and outbound FIX messages. FIXDapter is available in both a C++ and C# .NET version, the C# version utilizing event handlers. FIXDapter parses data into a map making it easy to define fix tags and values as a KVP for acceptor and initiator.

Research