Óscar Romero Quincoces

Projects / Products and tools

STATOR

Liquidity engine for illiquid stocks

Paper trading2026Triarii Consulting
Desk view design: quote ladders and risk limits, with anonymised sample data
Figure 1. Desk view design: quote ladders and risk limits, with anonymised sample data

Summary

It quotes buy and sell prices continuously for illiquid BME Growth stocks, with hard risk limits, a kill switch and a hash-chained audit log with a daily timestamp. In the paper-trading session it sent 2,938 orders and none went outside its limits; the kill switch cancels everything in one second. MVP in six weeks, at Triarii.

Python, Interactive Brokers and Claude agents. The screens are design mockups with sample data.

What it does

STATOR is a liquidity engine for illiquid BME Growth stocks: it keeps a buy and a sell price in the book continuously, inside hard risk limits, and leaves a trail anyone can audit. Around it there is a supervision layer: a dashboard, a daily PDF report and three agents (Reporter, Explainer and Tuner) that work outside the trading loop. The Tuner can only propose a change; a person approves it.

So far it has only run in paper trading. It has never sent a real order.

How it's built

The pipeline goes from market data to the quoting engine, then through a risk layer that fails closed, and only then to execution. Every stage writes to an append-only log in which each entry carries the hash of the previous one. At each close, the last hash of every chain is timestamped by two public RFC 3161 authorities; only the hash leaves the machine.

  • It only connects to paper accounts, through paper ports on the same machine. Anything else aborts the process.
  • A watchdog cancels everything if the engine stops responding. The kill switch on the dashboard only writes a stop file, and the dashboard never talks to the broker.

Results

In the acceptance session, on 28 September 2026, the engine started once, ran with no manual intervention and closed by itself. It sent 2,938 orders (new ones and modifications) and none went outside its limits; the audit log showed no breaks. In an earlier test, the dashboard kill switch cancelled every live order and got confirmation in one second. The plan was a six-week MVP; the code went from first commit to v1.0 between 14 and 30 September.

One limit: the paper account has no BME data, so I validated it on stand-in stocks from other European venues. That proves the system works, not the quality of its quotes. The screens shown here are design mockups with sample data.

Figures

On-call panel design: do I need to act, and the status of each security
Figure 2. On-call panel design: do I need to act, and the status of each security
Session timeline design: processes, incidents, quoting state, position and P&L
Figure 3. Session timeline design: processes, incidents, quoting state, position and P&L

Built with

Python 3.13uvInteractive Brokers API (ib_async)ParquetStreamlitWeasyPrint + Jinja2Claude agentsRFC 3161 timestamps