A production-inspired financial risk management system that continuously monitors leveraged trading accounts, calculates real-time margin requirements, evaluates account risk, and performs automated liquidations to protect broker capital during volatile market conditions.
The Real-Time Margin & Liquidation Engine simulates the core risk infrastructure used by modern brokers, cryptocurrency exchanges, futures platforms, and derivatives trading systems.
The system continuously:
- Consumes market price updates
- Marks positions to market (MTM)
- Recalculates account equity
- Computes margin requirements
- Detects risk threshold breaches
- Restricts risky trading activity
- Executes automated liquidations
- Maintains a complete audit trail
Prevent client losses from becoming broker losses.
Market Data Feed
│
▼
Apache Kafka
│
▼
MTM Engine
│
▼
Margin Engine
│
▼
Risk Threshold Engine
│
┌──────────────────┼──────────────────┐
│ │ │
▼ ▼ ▼
SAFE MARGIN CALL LIQUIDATION
│
▼
Liquidation Engine
│
▼
Audit Engine
- Position creation
- Position updates
- Partial close
- Full close
- Cross-margin support
- Realized and unrealized PnL tracking
- Kafka-based market data ingestion
- Continuous price updates
- Redis-backed mark price cache
- High precision BigDecimal calculations
- Deterministic valuation logic
Calculates:
- Initial Margin
- Maintenance Margin
- Available Margin
- Account Equity
- Liquidation Price
Supports:
- Volatility adjustments
- Concentration risk penalties
- Cross-margin accounts
- Dynamic risk calculations
- Full trading allowed
- Warning state
- Risk-reducing orders only
- Automated partial liquidation
- Full liquidation execution
Features:
- Portfolio optimized liquidation
- Dynamic liquidation prioritization
- Partial liquidation execution
- Emergency liquidation handling
- Dynamic slippage modelling
- Liquidation penalties
- Negative balance protection
- Iterative risk reduction
- Pessimistic locking
- Transactional safety
- Race condition protection
- Double execution prevention
- Idempotent liquidation execution
Tracks:
- Margin snapshots
- Risk state changes
- Liquidation events
- Trigger rules
- Execution decisions
- Timestamps
Supports:
- Regulatory audits
- Client dispute investigation
- Event replay
- Java 21
- Spring Boot 3
- Spring Security
- Spring Data JPA
- MySQL
- MongoDB
- Redis
- Apache Kafka
- JWT Authentication
- JUnit 5
- Mockito
- Embedded Kafka
Position Value = Quantity × Mark Price
LONG:
PnL = Quantity × (Mark Price − Entry Price)
SHORT:
PnL = Quantity × (Entry Price − Mark Price)
Equity = Balance + Unrealized PnL
Available Margin = Equity − Initial Margin
Equity ≤ Maintenance Margin
| State | Condition | Action |
|---|---|---|
| SAFE | Equity >= 120% Maintenance Margin | Normal Trading |
| MARGIN_CALL | Equity between 100% and 120% MM | Restrict Risk Increasing Orders |
| LIQUIDATION | Equity <= 100% MM | Partial Liquidation |
| EMERGENCY | Equity <= 80% MM | Full Liquidation |
Stores:
- Users
- Positions
- Instrument Configurations
- Liquidation Events
- Audit Logs
- Idempotency Records
Stores:
- User Profiles
- Dynamic User Metadata
Stores:
- Market Prices
- Instrument Configurations
- Dynamic Volatility
- User Security Cache
- Notification State Cache
- User Registration
- Login
- Deposit Funds
- Margin Status
- Place Orders
- Close Positions
- View Positions
- Update Mark Prices
- Trigger Revaluation
- Create Instrument Config
- Fetch Instrument Config
- Get Market Stress Level
- Update Market Stress Level
- Create Profile
- Update Profile
- View Profile
If Redis becomes unavailable:
- Application remains operational
- Data is fetched directly from databases
If Kafka becomes unavailable:
- Audit logs are written directly to MySQL
- No audit information is lost
If liquidation causes negative account balance:
User Balance = 0
Broker absorbs remaining loss
The test suite validates:
- Sudden market crashes
- Extreme volatility spikes
- Low liquidity conditions
- Simultaneous liquidations
- Concurrent user actions
- Partial fills
- Negative balance scenarios
git clone https://github.com/your-username/real-time-margin-liquidation-engine.gitmvn clean installmvn spring-boot:runmvn test- Order book depth modelling
- Advanced market impact simulation
- Email notification engine
- Push notification support
- Multi-exchange integration
- Event sourcing architecture
- CCP Clearing & Default Management Engine
- Systemic risk modelling
Backend Developer | Distributed Systems & Financial Infrastructure Enthusiast
Software Developer | Backend Engineering & System Design
This project is built for educational and portfolio purposes and is inspired by real-world risk management systems used by brokers, exchanges, and derivatives trading platforms. It is not intended for production trading without extensive validation, regulatory review, and operational hardening.