class xf::fintech::LMM

#include "xf_fintech_lmm.hpp"

Overview

This class implements the LIBOR Market Model framework.


Methods

runCap

int runCap (
    unsigned noTenors,
    unsigned noPaths,
    float* presentRate,
    float rhoBeta,
    float* capletVolas,
    float notional,
    float caprate,
    unsigned* seeds,
    float* outPrice
    )

Calculates the price of a cap option using the LIBOR Market Model (BGM) framework.

Parameters:

noTenors Number of tenors in the model.
noPaths Number of MonteCarlo paths to generate.
presentRate Array with current LIBOR rates.
rhoBeta Beta parameter for correlation generation. Must be between 0 and 1.
capletVolas Implied caplet volatilities for the tenor structure, extracted with the Black76 model.
notional Notional value of the cap.
caprate Fixed caprate (K) for the cap.
seeds Array with seeds for the RNGs. Must contain UN seeds.
outPrice Calculated output price.

runRatchetFloater

int runRatchetFloater (
    unsigned noTenors,
    unsigned noPaths,
    float* presentRate,
    float rhoBeta,
    float* capletVolas,
    float notional,
    float rfX,
    float rfY,
    float rfAlpha,
    unsigned* seeds,
    float* outPrice
    )

Calculates the price of a ratchet floater option using the LIBOR Market Model (BGM) framework.

Parameters:

noTenors Number of tenors in the model.
noPaths Number of MonteCarlo paths to generate.
presentRate Array with current LIBOR rates.
rhoBeta Beta parameter for correlation generation. Must be between 0 and 1.
capletVolas Implied caplet volatilities for the tenor structure, extracted with the Black76 model.
notional Notional value of the ratchet floater.
rfX X parameter for the ratchet floater.
rfY Y parameter for the ratchet floater.
rfAlpha alpha parameter for the ratchet floater.
seeds Array with seeds for the RNGs. Must contain UN seeds.
outPrice Calculated output price.

runRatchetCap

int runRatchetCap (
    unsigned noTenors,
    unsigned noPaths,
    float* presentRate,
    float rhoBeta,
    float* capletVolas,
    float notional,
    float spread,
    float kappa0,
    unsigned* seeds,
    float* outPrice
    )

Calculates the price of a ratchet cap option using the LIBOR Market Model (BGM) framework.

Parameters:

noTenors Number of tenors in the model.
noPaths Number of MonteCarlo paths to generate.
presentRate Array with current LIBOR rates.
rhoBeta Beta parameter for correlation generation. Must be between 0 and 1.
capletVolas Implied caplet volatilities for the tenor structure, extracted with the Black76 model.
notional Notional value of the ratchet cap.
spread Spread parameter (s) of the ratchet cap pricing.
kappa0 Initial spread parameter (k0) of the ratchet cap pricing.
seeds Array with seeds for the RNGs. Must contain UN seeds.
outPrice Calculated output price.

claimDeviceCap

int claimDeviceCap (Device* device)

Claims the device for running Cap pricing.

claimDeviceRatchetFloater

int claimDeviceRatchetFloater (Device* device)

Claims the device for running Ratchet Floater pricing.

claimDeviceRatchetCap

int claimDeviceRatchetCap (Device* device)

Claims the device for running Ratchet Cap pricing.