MCAsianAPEngine - 2024.2 English

Vitis Libraries

Release Date
2024-11-29
Version
2024.2 English

The pricing process of Asian Arithmetic 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 initiation interval (II) = 1.
  3. Calculate arithmetic average and geometric average value of each path.
\[Price_{Arithmetic} = \frac{1}{M+1} * \sum_{i=0}^{M} (S(i\Delta t))\]
\[Price_{Geometric} = exp{( \frac{1}{M+1} * \sum_{i=0}^{M} (\log{S(i\Delta t)}) )}\]
  1. Calculate the payoff difference of arithmetic average price and geometric average price.
\[Payoff_{gap} = \max(0,Strike - Price_{Arithmetic}) - \max(0,Price_{Geometric} - Strike)\> for \> put \> options\]
\[Payoff_{gap} = \max(Strike - Price_{Arithmetic}, 0) - \max(Price_{Geometric} - Strike, 0)\> for \> call \> options\]
  1. Calculate the payoff off of geometric average price \(Payoff_{ref}\) based on analytical method.
  2. Payoff of average pricing is \(Payoff = Payoff_{ref} + Payoff_{gap}\)

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

McAsianAPEngine pricing architecture on FPGA