MCAsianASEngine - 2024.2 English

Vitis Libraries

Release Date
2024-11-29
Version
2024.2 English

The pricing process of Asian Arithmetic Strike 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. Accumulate the sum of lognormal stock price using the following analytical solution.
\[Price_{Arithmetic} = \frac{1}{M} * \sum_{i=0}^{M-1} (S_0*exp((i+1)*\]
\[(riskFreeRate - dividend - 0.5 * volatility^2)*dt + \sum_{j=0}^{i} volatility*\sqrt{dt}*dw_j))\]

where \(M\) is the total timesteps, \(dt\) is the time interval 4. Calculate the final payoff by taking the strike price \(Strike_t\) as the previous arithmetic average price \(\frac{\sum_{j=0}^i S_j}{M}\).

\[Payoff = \max(0,Strike_t - Price_t) \> for \> call \> options\]
\[Payoff = \max(0,Price_t - Strike_t) \> for \> put \> options\]

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

McAsianASEngine pricing architecture on FPGA