The discrete form of process for \(\ln S\) is as:
\[\ln S(t+\Delta t) - \ln S(t) = (\mu - \frac{\sigma^2}{2})\Delta t + \sigma \epsilon \sqrt{\Delta t}\]
Its equivalent form is:
\[S(t+\Delta t) = S(t)\exp [(\mu - \frac{\sigma^2}{2})\Delta t + \sigma \epsilon \sqrt{\Delta t}]\]
The formula above is used to generate the path for \(S\). In order to optimize the multiplication of \(S\) with adder operator in path pricer, in our implementation, the B-S path generator will fetch the normal random number \(\epsilon\) from RNG sequence and output the \(\ln S\) to path pricer.
Because there is accumulation of \(\ln S\), the initiation interval (II) cannot achieve 1. Here, change order between paths and steps. Because the input random number are totally independent, the change of order will not affect the accurate of the result. The pseudo-code is shown as follows.