Public Function CompoundPoisson_process(ByVal lambda, ByVal N, ByVal start, ByVal fin, ByVal r, ByVal sigma) 'Simulate a compound Poisson process with parameter lambda and a Brownian(r,sigma) Dim stock(), vect() As Double Dim i As Long Dim dt As Double ReDim stock(0 To N) dt = (fin - start) / N Poisson_proc = Poisson_process(lambda, N, start, fin) y = Brownian_process(1, Poisson_proc(N), r, sigma) For i = 0 To N stock(i) = 0 For j = 1 To Poisson_proc(i) stock(i) = stock(i) + y(j) Next j Next i CompoundPoisson_process = stock End Function