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:
- A realistic financial optimization workflow
- Non-linear optimization concepts
- Performance benchmarking
- Real-time decision constraints
- Why GPU acceleration matters for latency-sensitive applications
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:
The optimization problem includes 150 decision variables:
The objective includes non-linear terms such as:
P(fill) = exp(-k * spread)cost = alpha * (size / depth)^2lambda * 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:
scipy.optimize: approximately 200–300ms per solveThis 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:
Educational Value
This example would be useful for:
It demonstrates: