The pricing process of Asian Arithmetic Strike engine is as follows:
- Generate independent stock paths by using Mersenne Twister Uniform MT19937 Random Number Generator (RNG) followed by Inverse Cumulative Normal Uniform Random Numbers.
- Start at \(t = 0\) and calculate the stock price of each path firstly in order to achieve II = 1.
- 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: