Skip to content

Add High-Frequency Trading Market-Making Example #150

Description

@mnabi-paxai

Contribution Proposal: High-Frequency Trading Market-Making Example

Hi NVIDIA cuOpt team,

I would like to propose adding a new example to cuopt-examples: a high-frequency trading market-making optimization example that demonstrates how GPU-accelerated optimization can enable real-time decision-making in financial systems.

Proposed Example

High-Frequency Trading Market-Making with Non-Linear Optimization

This example demonstrates real-time quote optimization for 50+ cryptocurrency trading pairs. The goal is to optimize bid/ask spread, inventory skew, and notional size under a strict real-time budget.

The key point of the example is not only that GPU is faster, but that the CPU baseline cannot meet the real-time requirement, while GPU acceleration makes the workflow feasible.

Problem Description

A market-maker continuously posts buy and sell quotes. For a realistic high-frequency trading system, the optimizer needs to:

  • Update quotes roughly 10 times per second
  • Optimize across 50+ trading pairs
  • Account for fill probability, transaction costs, slippage, and inventory risk
  • Solve within a tight optimization budget of approximately 50ms per cycle

The optimization problem includes 150 decision variables:

  • Spread per pair
  • Skew per pair
  • Notional size per pair

The objective includes non-linear terms such as:

  • Fill probability: P(fill) = exp(-k * spread)
  • Slippage cost: cost = alpha * (size / depth)^2
  • Inventory risk: lambda * volatility * abs(position) * abs(skew)

Why This Example Is Useful

This example would show a real-world use case where GPU acceleration is required for the application to be practical.

Current benchmark from the CPU baseline:

  • CPU baseline using scipy.optimize: approximately 200–300ms per solve
  • Real-time target: less than 50ms
  • CPU result: about 5x over budget
  • Expected GPU/cuOpt target: approximately 7ms
  • Expected speedup: about 35x

This makes the example a strong “CPU cannot do this in real time, GPU makes it possible” demonstration.

What Would Be Included

The contribution can include:

  • A complete Python implementation
  • CPU baseline using SciPy/SLSQP
  • cuOpt-based implementation or adapter
  • Sample data generation, so no API keys or proprietary market data are required
  • A README with setup and running instructions
  • Optional Streamlit dashboard for visualizing solve-time performance
  • Benchmarking output comparing CPU timing, budget violations, and expected GPU timing

Educational Value

This example would be useful for:

  • Financial engineers and quantitative developers
  • Operations research practitioners
  • Students learning optimization in finance
  • Developers evaluating cuOpt for real-time decision systems

It demonstrates:

  1. A realistic financial optimization workflow
  2. Non-linear optimization concepts
  3. Performance benchmarking
  4. Real-time decision constraints
  5. Why GPU acceleration matters for latency-sensitive applications

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions