MCAsianGPEngine - 2024.2 English - XD160

Vitis Libraries

Document ID
XD160
Release Date
2024-11-29
Version
2024.2 English

The pricing process of Asian Geometric Pricing engine is as follows:

  1. Generate independent stock paths by using Mersenne Twister Uniform MT19937 Random Number Generator (RNG) followed by Inverse Cumulative Normal Uniform Random Numbers.
  2. Start at \(t = 0\) and calculate the stock price of each path firstly in order to achieve II = 1.
  3. Transfer the geometric average of stock price to sum of lognormal stock price.
  4. Accumulate the sum of lognormal stock price using the following analytical solution.
\[Price_{Geometric} = S_0*exp((riskFreeRate - dividend - 0.5*volatility^2)dt)^\frac{n+1}{2} *\]
\[exp(\sum_{i=0}^{n-1} \frac{n-i}{n}*volatility*\sqrt{dt}*dw_i)\]
  1. Calculate the final payoff by using a fixed strike price.
\[Payoff = \max(0,Strike - Price_t) \> for \> call \> options\]
\[Payoff = \max(0,Price_t - Strike) \> for \> put \> options\]

The pricing architecture on FPGA can be shown as the following figure:

McAsianGPEngine pricing architecture on FPGA

Note

The three figures above shows the pricing part of McAsianAPEngine, McAsianASEngine and McAsianGPEngine respectively. Tthe other parts, for example, PathGenerator, MCSimulation and other modules, are the same as in MCEuropeanEngine.