Crate market_maker_rs

Crate market_maker_rs 

Source
Expand description

Market Making Library

A Rust library implementing quantitative market making strategies, starting with the Avellaneda-Stoikov model. This library provides the mathematical foundations and domain models necessary for building automated market making systems for financial markets.

§Overview

Market making is the practice of simultaneously providing buy (bid) and sell (ask) quotes in a financial market. The market maker profits from the bid-ask spread while providing liquidity to the market.

§Key Challenges

  • Inventory Risk: Holding positions exposes the market maker to price movements
  • Adverse Selection: Informed traders may trade against you when they have better information
  • Optimal Pricing: Balance between execution probability and profitability

§The Avellaneda-Stoikov Model

The Avellaneda-Stoikov model (2008) solves the optimal market making problem using stochastic control theory. It determines optimal bid and ask prices given:

  • Current market price and volatility
  • Current inventory position
  • Risk aversion
  • Time remaining in trading session
  • Order arrival dynamics

§Modules

  • strategy: Pure mathematical calculations for quote generation
  • position: Inventory tracking and PnL management
  • market_state: Market data representation
  • types: Common types and error definitions
  • prelude: Convenient re-exports of commonly used types

§Quick Start

Import commonly used types with the prelude:

use market_maker_rs::prelude::*;

§Examples

Examples will be added once core functionality is implemented.

Modules§

market_state
Market state module containing market data representations. Market state module for representing observable market data.
position
Position tracking module for inventory and PnL management. Position management module for tracking inventory and PnL.
prelude
Prelude module for convenient imports. Prelude module for convenient imports.
strategy
Strategy module containing pure mathematical calculations for market making.
types
Common types and errors. Common types and error definitions for the market making library.

Macros§

dec
Transform a literal number directly to a Decimal at compile time.

Structs§

Decimal
Decimal represents a 128 bit representation of a fixed-precision decimal number. The finite set of values of type Decimal are of the form m / 10e, where m is an integer such that -296 < m < 296, and e is an integer between 0 and 28 inclusive.