Giter Site home page Giter Site logo

exoticmontecarloengine's Introduction

EMCE - Exotic Monte Carlo Engine

Monte Carlo pricers for exotic derivatives in both Python / C++. The reason to code it up in two languages:

  • Both are languages commonly used in quantitative finance - implementing a solution in both languages provides a holistic way to learn the intracicies of both languages from bottom-up through comparison.
  • The languages themselves boast different benefits - Python allows for a quicker development cycle where C++ provides the raw speed where there is demand for performance.

Contributions are more than welcome!

C++

Actions Status Actions Status

  • The library can be found here.
  • Example tests can be found here
  • Project to-dos are here.

Features

  • Interface fully interporable between CUDA/C++, switching via enum.

Requirements

  • CUDA toolkit (tested on 11.7.0) with nvcc compiler.
  • CMake (version >= 3.18, as we need CUDA with C++17 standard).
  • C++17 compliant compiler.

Install

Build:

cmake -S ./cpp/emce -B build
cmake --build

Run tests:

ctest --test-dir ./build

Python

Actions Status

Exotic Monte Carlo Pricer: An equity/FX exotic Monte Carlo pricer.

  • To do: see this link for a list of issues and project info.
  • Examples: see unit tests here.

Features (goals)

  • advanced smile modelling (LV, SV, LSV)
  • coherent multi-asset simulation (hybrid exotic engine)
  • support wide range of path-dependent exotics
  • advanced variance reduction techniques (control variant, Quasi random numbers)
  • risk engine (FDM, AAD)

Python notebooks (analytics):

  • Vanilla put/call pricing with flat vol
  • Path dependent option pricing with flat vol (tbd)
  • Barrier option risk profiles with flat vol (tbd)
  • Simle dynamics under BS model with local vol (tbd)
  • Smile dynamics under BS model with SV - Heston model (tbd)
  • Convergence speed under different RNGs (tbd)
  • Rainbow option pricing (tbd)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.