Monte-Carlo European Dow Jones Engine (DJE)¶
The MC European DJE is a modified Monte Carlo European Option Pricer that is designed specifically to calculate the Dow Jones Industrial Average (DJIA)
Normal MC¶
In normal Monte Carlo operation, the following operations are done:
- Calculate the option price at a future date for each asset
- Calculate Payoff of each asset
- Derate payoff for each asset
MC DJE¶
The operation of the Dow Jones Engine is subtly different:
- Calculate the stock price for each stock
- Calculate the average of ALL the assets using a supplied Dow Divisor
Typically the DJIA is calculated using 30 specific stocks. The MCEuropeanDJE class can take data arrays for any number of assets.
class xf::fintech::MCEuropeanDJE¶
#include "xf_fintech_mc_european_dje.hpp"
Overview¶
The MCEuropeanDJE (Dow Jones Engine) class takes in an array of asset data and calculates a single Dow Jones Industrial Average (DJIA) value.
class MCEuropeanDJE: public xf::fintech::OCLController // fields static const int NUM_KERNELS
Inherited Members¶
Fields¶
static const int NUM_KERNELS
The following constant defines the number of KERNELS that have been built in the HW…
Methods¶
run¶
run overload (1)¶
int run ( OptionType* optionType, double* stockPrice, double* strikePrice, double* riskFreeRate, double* dividendYield, double* volatility, double* timeToMaturity, double* requiredTolerance, unsigned int numAssets, double dowDivisor, double* DJIAOutput )
Process arrays of asset data, until required TOLERANCE is met…
Parameters:
optionType | either American/European Call or Put |
stockPrice | the stock price |
strikePrice | the strike price |
riskFreeRate | the risk free interest rate |
dividendYield | the dividend yield |
volatility | the volatility |
timeToMaturity | the time to maturity |
requiredTolerance | the required tolerance |
numAssets | the number of assets |
dowDivisor | the Dow Divisor |
DJIAOutput | the returned Dow Jones Industrial Average |
run overload (2)¶
int run ( OptionType* optionType, double* stockPrice, double* strikePrice, double* riskFreeRate, double* dividendYield, double* volatility, double* timeToMaturity, unsigned int* requiredSamples, unsigned int numAssets, double dowDivisor, double* DJIAOutput )
Process arrays of asset data, for REQUIRED NUMBER OF SAMPLES…
Parameters:
optionType | either American/European Call or Put |
stockPrice | the stock price |
strikePrice | the strike price |
riskFreeRate | the risk free interest rate |
dividendYield | the dividend yield |
volatility | the volatility |
timeToMaturity | the time to maturity |
requiredSamples | the required samples |
numAssets | the number of assets |
dowDivisor | the Dow Divisor |
DJIAOutput | the returned Dow Jones Industrial Average |