generate_gbm_process

Summary: Generates a time series using Geometric Brownian Motion (GBM), commonly used to model asset prices. Ensures prices are always positive.

Formula: Pt = P[t-1] * exp((mu - 0.5 * sigma^2) * dt + sigma * sqrt(dt) * N(0, 1))

double[]
generate_gbm_process
(
double S0
,
double mu
,
double sigma
,
double dt
,
int n
)

Parameters

S0 double

Initial price (e.g., 100.0)

mu double

Expected return (drift), e.g., 0.05 for 5% annualized

sigma double

Volatility (e.g., 0.2 for 20%)

dt double

Time increment (e.g., 1.0 for daily, or 1/252.0 for trading year)

n int

Number of time steps

Return Value

Type: double[]

double[]: Simulated price series with strictly positive values.