Skip to content

Latest commit

 

History

History
138 lines (94 loc) · 3.41 KB

File metadata and controls

138 lines (94 loc) · 3.41 KB

GoQuant Technical Assignment

Assignment Overview

Deadline: 7 days from March 27, 2025
Submission Email: careers@goquant.io (CC: himanshu.vairagade@goquant.io)


Objective

Create a high-performance order execution and management system to trade on Deribit Test (https://test.deribit.com/) using C++.


Initial Setup

  1. Create a new Deribit Test account
  2. Generate API Keys for authentication

Core Requirements

Order Management Functions

  1. Place order
  2. Cancel order
  3. Modify order
  4. Get orderbook
  5. View current positions
  6. Real-time market data streaming via WebSocket
    • Implement WebSocket server functionality
    • Allow clients to subscribe to symbols
    • Stream continuous orderbook updates for subscribed symbols

Market Coverage

  • Instruments: Spot, Futures, and Options
  • Scope: All supported symbols

Technical Requirements

  1. Implementation must be in C++
  2. System should demonstrate low-latency performance
  3. Include proper error handling and logging
  4. Implement WebSocket server for real-time data distribution
    • Connection management
    • Subscription handling
    • Efficient message broadcasting

Bonus Section (Recommended)

Performance Analysis and Optimization

Latency Benchmarking

Measure and document the following metrics:

  • Order placement latency
  • Market data processing latency
  • WebSocket message propagation delay
  • End-to-end trading loop latency

Optimization Requirements

Implement and justify optimization techniques for:

  • Memory management
  • Network communication
  • Data structure selection
  • Thread management
  • CPU optimization

Documentation Requirements for Bonus Section

  1. Detailed analysis of bottlenecks identified
  2. Benchmarking methodology explanation
  3. Before/after performance metrics
  4. Justification for optimization choices
  5. Discussion of potential further improvements

Deliverables

Required Submissions

  1. Complete source code with documentation
  2. Video recording demonstrating:
    • System functionality
    • Code review
    • Implementation explanation
  3. If completing bonus section:
    • Performance analysis report
    • Benchmarking results
    • Optimization documentation

Submission Instructions (MANDATORY)

  1. ✉️ Submit the assignment via email to: careers@goquant.io
  2. 📧 CC: himanshu.vairagade@goquant.io
  3. 📄 Attach your resume to the email
  4. 🎥 Provide video demonstration explaining your code
  5. 📝 Provide documentation of your code

⚠️ Confidentiality Notice

CRITICAL: The contents of this assignment and any work produced in response to it are strictly confidential.

  • This document and the developed solution are intended solely for the GoQuant recruitment process
  • DO NOT post publicly or share with anyone outside the recruitment team
  • DO NOT publicly post your assignment on GitHub or YouTube
  • Everything must remain private and only accessible to GoQuant's team

Contact Information

GoQuant
150 SE 2nd Avenue, Suite 401
Miami, FL 33131

Submission Emails:


Next Steps

Upon receiving your submission, the GoQuant team will carefully review your work. If your assignment meets expectations, they will move forward with the final steps, which could include extending a formal offer to join the team.

Good luck! 🚀