Project Ideas

As close to production as it gets

Try implementing some of the following project ideas –
programming is best learned through practice

Module 1: Python for Finance

The lingua franca of data science, machine learning, and finance
  • Implement the Kalman, extended Kalman, unscented Kalman, and particle filters in Python and compare their performance on generated data
  • Implement a European vanilla option pricer with AAD using the JAX library
  • Implement an optimal time series forecaster in Python using existing libraries such as xgBoost

Module 2: Databases in finance – Kdb+/q

An unrivaled tool for big data and high-frequency data
  • Implement real-time Expected Shortfall in kdb+/q and visualise it for a fictional portfolio using KX Dashboards
  • Build a monitoring and visualisation system for kdb+tick triplets
  • Extend the quantQ kdb+/q library to support transformers
  • Compare the performance of linear algebra in native kdb+/q and when interfacing with C++ implementations
  • Write a generic time series visualisation suite using jQuery on top of kdb+/q

Module 3: C++ fundamentals with use cases from finance

Performance, production stability, and portability
  • Implement an exotics pricing engine in C++ (you may extend the one developed by Mark Joshi in his “Design Patterns” book)
  • Implement a value at risk (VaR) calculator in C++
  • Implement an xVA calculation system for linear and nonlinear products in C++

Module 4: Data Structures and Algorithms in C++

The core of computing
  • Achieve the best possible time complexity for multiplication of large matrices in C++
  • Build a benchmarking suite to compare the performance of linear algebra routines in Eigen and XTensor
  • Implement a library of lock-free data structures and algorithms in C++ along the lines of STL

Module 5: Designing algorithmic trading applications

State-of-the-art content
  • Built a trading strategy backtesting environment on top of PyFolio
  • Build low latency middleware for high frequency trading utilising both UDP and TCP
  • Port the LMAX disruptor to C++

Start Your QDC Journey!

Become the highly paid quantitative software developer