/circus

An exchange simulator.

Primary LanguageC#MIT LicenseMIT

Circus

A financial exchange simulator.

Dependencies

.NET 5 is required. There are no other dependencies.

To Do

Priority

  • Sessions
  • Simulator
  • Stop orders

Features

Order types

  • Limit orders
  • Market orders
  • Market limit orders
  • Stop market orders
  • Stop limit orders
  • OCO orders

Order properties

  • Min quantity
  • Max visible quantity

Time in force/order validity

  • Day orders
  • GTC orders
  • GTD orders
  • FAK/FOK orders

Sessions

  • Time provider
  • Sessions
  • Market statistics

Market data

  • Trades
  • Price/qty/count for x levels
  • All order updates
  • Indicative open

Safety features

  • Banding
  • Limits
  • Circuit breakers
  • Stop & velocity logic
  • Self-match prevention

Matching algorithms

  • FIFO
  • Open auction
  • Allocation
  • Pro-rata

Contract types

  • Futures (expiry)
  • Calendar/spread contracts (implied pricing)

Examples