ARMM - Adaptive Regime-Aware Market Maker
Inspiration
Modern markets shift rapidly between calm, trending, high-frequency, and extreme stress conditions. Most trading strategies perform well in only one regime and fail catastrophically outside of it.
We built ARMM to adapt to market conditions in real time, prioritizing robustness and survival across all regimes rather than optimizing for a single scenario. Our goal wasn't just to "make money in simulation" but to design something that behaves sensibly under uncertainty, volatility, and structural stress.
What it does
ARMM is an adaptive trading algorithm that dynamically adjusts its behavior based on detected market regimes:
- Range-bound (mean-reverting) markets
- Trending (directional) markets
- Event-driven and flash-crash conditions
- HFT-dominated microstructure environments
For each regime, the system modifies its target inventory, execution aggressiveness, risk exposure, and exit logic. The result is a strategy that remains active and profitable in stable markets while aggressively reducing risk during market stress.
How we built it
The system was built as a modular pipeline:
Feature Engine - Computes rolling statistics like mid-price changes, volatility proxies, spreads, trend signals, and trading intensity.
State Detector - Classifies the market into regimes (BAND, DRIFT, EVENT) using volatility-scaled thresholds and hysteresis to avoid noisy regime flipping.
Target Inventory Policy - Determines optimal inventory targets per regime using volatility-aware scaling and scenario-specific caps.
Execution Engine - Translates inventory targets into safe, rate-limited orders with strict self-cross prevention and inventory caps.
Scenario-Aware Risk Controls - Automatically adjusts inventory limits, order sizes, and aggressiveness based on detected scenarios.
The entire system was designed to be deterministic, explainable, and resilient to edge cases.
Challenges we ran into
Self-match prevention and cancel uncertainty - The lack of cancel acknowledgements required careful handling to avoid unintended self-crosses and phantom orders.
Overfitting to a single scenario - Aggressive settings that performed well in normal markets caused large losses in flash scenarios, forcing a redesign toward adaptive risk control.
Balancing profitability vs survival - Maximizing PnL in one regime frequently increased drawdowns elsewhere. Finding the right trade-off was the hardest part.
Market microstructure quirks - Latency, fill mechanics, and spread behavior required defensive engineering rather than idealized assumptions.
Accomplishments that we're proud of
- Built a single unified strategy that runs across all market scenarios
- Achieved consistent positive performance in multiple regimes without relying on simulator exploits
- Successfully handled extreme scenarios (flash and mini-flash) without catastrophic blow-ups
- Designed a clean, modular architecture that can be extended or tuned easily
- Prioritized robustness and explainability over fragile leaderboard hacks
What we learned
- Robust strategies outperform brittle ones over multiple regimes
- Inventory management is often more important than signal accuracy
- Risk controls are not optional — they are the strategy
- Small execution details (cancels, order timing, limits) have outsized impact
- Adaptive systems beat static rule-based systems in uncertain environments
Most importantly, we learned how difficult — and rewarding — it is to design trading systems that behave responsibly under stress.
What's next for ARMM
- More granular regime classification using probabilistic models
- Improved adverse-selection detection and dynamic spread control
- Smarter inventory unwind logic during extreme volatility
- Extended testing under longer horizons and unseen market conditions
ARMM is designed as a foundation — not a finished product — and can continue evolving toward greater robustness and realism.


Log in or sign up for Devpost to join the conversation.