The Complete Australian Market Simulator Suite
Six high-fidelity in-memory peer engines simulating the end-to-end clearing, settlement, cash, and subregister architecture of the Australian financial markets. Run full CHESS Release 2 ISO 20022 and DCS clearing testbeds with zero external dependencies.
Integrated Peer Engines & Port Bindings
All six peers boot concurrently inside a single standalone fat JAR in under 400ms. By default, they bind locally to 127.0.0.1 to guarantee zero cross-talk and complete network security.
| Peer Engine | Standard & Protocol | Port | Key Operations Simulated | Status |
|---|---|---|---|---|
| ASX CHESS Subregister | ISO 20022 XML (HTTP / REST) | :8690 |
Drop 1–4 schema validation, HIN allocation, bilateral matching, netting (clrg_501), settlement (sett_101) | Active |
| ASX CHESS Message Queue | OASIS AMQP 1.0 (TCP Socket) | :8693 |
Direct AMQP link attach, durable message delivery, consumer prefetch, event streaming | Active |
| RBA RTGS / Cash Ledger | ISO 20022 pacs.009 / pacs.008 | :8691 |
Exchange Settlement Account (ESA) balances, DvP net cash sweeps, liquidity failures | Active |
| ASX DCS Derivatives | ASX DCS MCM 1.5.0 Protocol | :8692 |
Trade Allocation (TR/AA), position transfers (AL/UA), give-ups (GU/TU), margin calls | Active |
| CTM Institutional Block | FIX / XML Block Matching | :8694 |
Block trade execution, broker-to-custodian step-outs, block affirmations | Active |
| IRESS Order Execution | IRESS Drop Copy & Execution | :8695 |
Order state machine, trade allocation fills, real-time drop copy stream | Active |
| Visual Cockpit & Chaos API | HTML5 / WebSockets / JSON | :8699 |
Live blotter, real-time message tracing, break injection, deterministic seed reset | Active |
Engineered to Match Real Exchange Behaviors
Explore how each simulated peer processes institutional market messages and enforces real-world clearing invariants.
1. ASX CHESS ISO 20022 Clearing Engine
Replaces the need for costly ASX CDE connectivity. Implements official ISO 20022 XML messages across all four ASX release drops:
- Settlement Instructions:
comm_801(bilateral),comm_802(cancellation),sett_101(transfer). - Batch Clearing & Netting:
clrg_501(settlement confirmation),clrg_503,clrg_504. - Subregister & HIN:
acmt_001(holder registration),hold_201,hold_205,rptg_604.
Strict schema validation rejects non-conforming XML with standard ASX error envelopes.
2. OASIS AMQP 1.0 Streaming Broker
Provides a lightweight, embedded AMQP 1.0 message broker on port 8693. Connect existing Apache Qpid Proton, Spring AMQP, or JMS clients without installing RabbitMQ or ActiveMQ.
- Zero External Broker: Pure Java in-memory frame parsing and disposition management.
- Link Attachment: Emulates ASX CHESS participant push queues and notification topics.
- Flow Control: Handles consumer credit windows, disposition acknowledgments, and reconnections.
3. RBA RTGS / CBDC Cash Ledger
Simulates Reserve Bank of Australia interbank settlement accounts and DvP cash movements.
- ISO 20022 Cash Rails: Ingests and acknowledges
pacs.009andpacs.008credit transfers. - Batch Cash Sweeps: Coordinates multi-million AUD net DvP cash movements with CHESS batch runs.
- Liquidity Shortfall Simulation: Trigger cash rejection responses to verify automated treasury fail handling.
4. ASX DCS Derivatives Clearing System
Implements the ASX DCS MCM 1.5.0 specification for exchange-traded options (ETO) and index futures clearing.
- Trade Allocation: TR message intake, clearing confirmation AA responses.
- Position Maintenance: Adjustments (AL/UA), Give-Ups (GU/TU), and broker take-ups.
- Exercise & Assignment: SC/SM notifications and delivery obligations.
- SPAN Margin Reporting: Generates initial and variation margin liability summaries.
5. Institutional CTM Block Allocation
Simulates middle-office institutional trade matching and custodian affirmation pipelines.
- Block Breakdown: Matches parent block executions against child account allocation legs.
- Custodian Affirmation: Emulates global custodian match/affirm statuses prior to CHESS instruction.
- Step-Out Transfers: Validates executing vs. clearing broker allocation handoffs.
6. Visual Cockpit & Break Injection API
Included out of the box on port 8699. Visualizes the live state of all participant holdings, subregister balances, and pending settlement obligations.
- Live Web Inspector: Zero installation browser UI to monitor message traffic and trace errors.
- REST Chaos Injection: Trigger artificial network latency, dropped packets, or specific rejection codes.
- Deterministic Reset: Call
POST /api/seed/resetto restore initial lab state in 5 milliseconds.
Verify Your Local Australian Suite in 30 Seconds
Once running, execute these standard curl commands to verify peer health and inspect the in-memory books.
curl -s http://127.0.0.1:8699/api/status | jq .
# Expected Output:
# {
# "status": "UP",
# "version": "1.0.0",
# "market": "AUSTRALIA",
# "peers": {
# "chess_iso": "UP (8690)",
# "chess_amqp": "UP (8693)",
# "rba_rtgs": "UP (8691)",
# "dcs_derivatives": "UP (8692)",
# "ctm_block": "UP (8694)",
# "iress_orders": "UP (8695)"
# },
# "uptimeSeconds": 142
# }
curl -X POST http://127.0.0.1:8690/inbound \
-H "Content-Type: application/xml" \
-H "X-Aegis-Participant: 02999" \
-d '<?xml version="1.0" encoding="UTF-8"?><Document xmlns="urn:asx:xsd:comm.801.001.01"><SdlrNtfctn><MsgHdr><MsgId>TEST-001</MsgId></MsgHdr><SttlmDtls><TxId>TX-100</TxId><SctiesMktId>XASX</SctiesMktId><ISIN>AU000000BHP4</ISIN><SttlmQty>1000</SttlmQty><SttlmAmt Ccy="AUD">43000.00</SttlmAmt><DlvgPty><Id><PrtryId>02999</PrtryId></Id></DlvgPty><RcvgPty><Id><PrtryId>01444</PrtryId></Id></RcvgPty></SttlmDtls></SdlrNtfctn></Document>'
# Returns immediate HTTP 200 with ISO 20022 clrg_501 Batch Settlement Confirmation
Ready to Test Your Systems Against the Australian Suite?
Request an evaluation build with a 14-day organizational license. Runs on any Mac, Linux, or Windows machine with JDK 25 or Docker.