I have created a VBA program to calculate VaR by using Monte Carlo, I have simulated Brownian Motion. This method might be ok for 100% equity portfolio, but let's say this portfolio may have fixed income/alternative investment/derivative etc and that composition percentage may or may not be known to me. In that case as a generic model can I use Generalized Pareto Distribution(GPD) for Monte Carlo ? Usage will not be for accurate Market Risk valuation purpose but more of a Investment Performance Risk Analytics report. I got a link for GPD in excel at below link. http://www.quantitativeskills.com/sisa/rojo/pareto.xls But in that case what/how will be my stochastic equation for price/return modelling ? Simply randomizing x0 or alpha will not do I believe. My current VBA code is as below for easy reference:
Function ValueAtRiskMC(confidence, horizon, RiskFree, StDv, StockValue)
Dim i As Integer
Dim stockReturn(1 To 10000) As Double
'start of monte carlo loop
For i = 1 To 10000
'According to the Black Scholes model, the price path of stocks is defined by
'the stochastic partial differential equation dS = (r - q -1/2sigma^2)dt + sigma dz
'where dz is a standard Brownian motion, defined by dz = epsilon * sqrt(dt)
'where epsilon is a standard normal random variable; dS is the change in stock price
'r is the risk-free interest rate, q is the dividend of the stock,
'sigma is the volatility of the stock.
'The model implies that dS/S follows a normal distribution with mean
'r - q -1/2sigma^2, and standard deviation sigma * epsilon * sqrt(dt))
'As such the price at time 0 < t <= T is given by
'St = S0 * exp( (r – q - ½ sigma^2) dt + sigma * epsilon * sqrt(dt))
'As we are ignoring dividends etc here so
'below line is for geometric brownian motion
stockReturn(i) = Exp((RiskFree - 0.5 * StDv ^ 2) + StDv * Application.NormInv(Rnd(), 0, 1)) - 1
Next i
'end of monte carlo loop
ValueAtRiskMC = StockValue * (-(horizon) ^ 0.5) * Application.Percentile(stockReturn, 1 - confidence)
End Function