Inspiration

The world of algorithmic trading is fast-paced and constantly evolving. We were inspired by the challenge of building a trading bot that could navigate the complexities of financial markets, make informed decisions, and execute trades efficiently while adhering to strict risk management principles. Leveraging modern models like the Avellaneda-Stoikov framework and the opportunity to detect arbitrage in real-time motivated us to create a robust and intelligent solution.

What it does

Our project is an advanced algorithmic trading bot designed to operate in a simulated trading environment. It uses the Stoikov model for market making, detects arbitrage opportunities between ETFs and underlying stocks, and incorporates comprehensive risk management to optimize performance. The bot places smart orders, manages inventory, and ensures compliance with position limits, making it a versatile tool for market participants.

How we built it

We built the bot using Python, integrating the Optibook API for interacting with the simulated trading environment. Key components include:

Stoikov Model: For calculating optimal bid and ask prices based on inventory levels, volatility, and risk appetite. Risk Management: Enforcing position and order limits to ensure adherence to predefined thresholds. Arbitrage Detection: Identifying pricing inefficiencies between ETFs and their underlying stocks to capitalize on trading opportunities.

Challenges we ran into

API Rate Limits: Managing the trade-off between responsiveness and adhering to API restrictions required careful design. Risk Management: Balancing profitability with strict adherence to position and order limits proved to be challenging.

Accomplishments that we're proud of

Successfully implementing the Stoikov model for dynamic market making. Designing a robust risk management system that prevents over-leveraging and manages inventory effectively. Developing an arbitrage detection mechanism that identifies profitable opportunities in real-time.

What we learned

What we learned The importance of combining financial modeling with software engineering to create effective trading algorithms. How to optimize for speed and reliability in a high-frequency trading environment.

What's next for Optiver

Our next steps include:

Improved Hedging: Enhancing hedging strategies to better manage inventory risks. Machine Learning Integration: Incorporating predictive models to forecast price movements and improve decision-making.

Built With

Share this project:

Updates