Take the 2-minute tour ×
Quantitative Finance Stack Exchange is a question and answer site for finance professionals and academics. It's 100% free, no registration required.

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
share|improve this question

1 Answer 1

the risk neutral drift is needed for pricing of derivatives. For a $100\%$ equity portfolio you can take the real world drift - sometimes a good guess is a drift of zero.

For fixed-income you could do the same and might need more sophistication for the variance term. If you have short-dated bonds then you will need a special model for the pull-to-par.

For derivatives: for options the best is modelling the spot price (and other parameters) and then do full valuation. Or as an approximation you do Delta-Gamma. But again: to cover many asset classes in one application is a big project (that's why there are those vendors of commercial solutions).

Why do you want to use GPD? If you want to use GPD to model fat tails then you could use it for all asset classes.

If you want to model fat tails you can use Levy models (t-distributed returns, normal-inverse Gaussian mixtures).

To find some key-words to search for you can have a look here or you brows through this book.

Edit: if you want to use the GPD anyways then looking at the wikipedia page you find an algorithm for random number generation of this distribution. E.g. in the special case where $\xi=0$ you draw a uniform $U$ and calculate $$ X = \mu - \sigma \log(U) $$ and $X$ has the desired distribution. The above formula comes from the random number generation by inversion of the CDF which is a general approach. Of course you have to fit the parameters of the GPD. Does this help?

share|improve this answer
    
Very good answer, I don't have rights to give up vote. You are right, to cover many asset classes in one application is a big project but as I mentioned Usage will not be for accurate Market Risk valuation purpose but more of a Investment Performance Risk Analytics report so as a shortcut I want to use GPD to model fat tails for all asset classes. I am looking at the book Could you give me any pointer towards GPD Monte Carlo implementation framework ? –  purnendumaity Apr 8 '13 at 18:58
    
I am trying to reading below two paper: –  purnendumaity Apr 8 '13 at 19:34
    
mpra.ub.uni-muenchen.de/17736/1/MPRA_paper_17736.pdf sama.ipsl.jussieu.fr/Documents/articles/2006_08_21_Carreau.pdf the 2nd paper suggests that we don't need to measure threshold which defines where the tail begins. –  purnendumaity Apr 8 '13 at 19:42
    
@purnendumaity What do you mean by "Investment Performance Risk Analytics"? If you mean something like an ex-post risk analysis (what has happened in the past) then I think you don't have to model fat tails per-se. If you look backwards then you describe what has happened. But you do MC so you model risk ex-ante - meaning what will/can happen - right? –  Richard Apr 9 '13 at 9:12
    
Hi, I added a link and the formula taken from wikipedia for the random number generation of GPD. If you have fitted the parameters then you just generated uniforms and apply this formula. But if you model fat tails then you probably want to model dependencies in your model as well. If equities fall/rise then bonds or currencies are usually not unaffected. Modelling dependencies is crucial in the portfolio context. –  Richard Apr 9 '13 at 9:24

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.