Pricing a best of

Now I know my ABC, next time won't you trade with me?
Post Reply
User avatar
PanzerMeyer
Posts: 0
Joined: Thu Jan 01, 2004 12:00 am

Pricing a best of

Post by PanzerMeyer »

Hello, since this end of Dec is cooler, I have some time to learn a few things... I d like to price a best of between 2 indices. Mat 1 year, European Call.



so I guess the idea is to make a MC simulation, but where does the correlation gets into the scene ?
я, конечно, вернусь
User avatar
Johnny
Posts: 0
Joined: Thu Jan 01, 2004 12:00 am

Pricing a best of

Post by Johnny »

A common way of generating correlated share price paths is to use Cholesky. Any good text book will tell you everything you need. Or a Google search. Or that other place.
Stab Art Radiation Capital Structure Demolition LLC
User avatar
Veegan
Posts: 0
Joined: Thu Jan 01, 2004 12:00 am

Pricing a best of

Post by Veegan »

If you are simulating each index as a single variable then the procedure is the following:



1) Draw two independent N(0,1) variables: X1 and X2.



2) Construct two new correlated random variables Y1 and Y2 as:



    Y1 = p*X1          Y2 = p*X1 + X2*(1-p^2)^0.5



    Where p is the correlation.



3) Use Y1 and Y2 in your MC simulation for each index.



This gives Y1 and Y2 correlation p, mean 0 and variance 1. As Johnny says this is Cholesky decomposition (in 2 dimensions).



If you want to simulate your indices as baskets of correlated underlyings the principle is the same - you generate an (nx1) vector X of independent N(0,1) random variables and multiply the vector by the lower-triangular matrix A:



    Y = A * X



The matrix A is produced by the cholesky decomposition of the correlation matrix for your underlyings. It is easily performed in MATLAB using the 'chol()' function, or I think I have some VBA code for it somewhere if you want to go down this route.



V.
"The Stranger within my gates, He may be evil or good, But I cannot tell what powers control-- What reasons sway his mood; Nor when the Gods of his far-off land Shall repossess his blood." ~ Kipling
User avatar
Veegan
Posts: 0
Joined: Thu Jan 01, 2004 12:00 am

Pricing a best of

Post by Veegan »

BTW, some analytical formulae for checking your MC output can be found here.
"The Stranger within my gates, He may be evil or good, But I cannot tell what powers control-- What reasons sway his mood; Nor when the Gods of his far-off land Shall repossess his blood." ~ Kipling
User avatar
dadeto
Posts: 0
Joined: Thu Jan 01, 2004 12:00 am

Pricing a best of

Post by dadeto »

"Y1 = p*X1

Where p is the correlation.

This gives Y1 and Y2 correlation p, mean 0 and variance 1"

ahem ahem...
"You have 24 hours to give us your money. And to show you we're serious, you have 12 hours" Fat Tony
User avatar
Veegan
Posts: 0
Joined: Thu Jan 01, 2004 12:00 am

Pricing a best of

Post by Veegan »

Oops. Typo. It should be:



Y1 = X1.



Thanks Dadeto.
"The Stranger within my gates, He may be evil or good, But I cannot tell what powers control-- What reasons sway his mood; Nor when the Gods of his far-off land Shall repossess his blood." ~ Kipling
User avatar
PanzerMeyer
Posts: 0
Joined: Thu Jan 01, 2004 12:00 am

Pricing a best of

Post by PanzerMeyer »

I was reading the Global Derivatives tutorial on Best of option and I was wondering what was the [b]Bivariate Cumulative normal distribution[/b] ?
я, конечно, вернусь
User avatar
PanzerMeyer
Posts: 0
Joined: Thu Jan 01, 2004 12:00 am

Pricing a best of

Post by PanzerMeyer »

Okay I found out in Hull, in the annex



In fact I don't remember if I can include in VBA a function in a function, or do I have to create one ?



I need to include in the main function (Cumul_biva_Norm) the functon F(X,Y)... any hints ?


---



Function Cumul_biva_Norm(a, b, Rho)

Dim A1, A2, A3, A4, B1, B2, B3, B4, Rho As Single

Dim a, b, a_1, b_1 As Double

Dim i, j As Integer



A1 = 0.325303

A2 = 0.4211071

A3 = 0.1334425

A4 = 0.006374323

B1 = 0.1337764

B2 = 0.6243247

B3 = 1.3425378

B4 = 2.2626645



a_1 = a / ((2 * (1 - Rho ^ 2)) ^ 0.5)

b_1 = b / ((2 * (1 - Rho ^ 2)) ^ 0.5)



F(x,y) = Exp(a_1 * (2 * x - a_1) + b_1 * (2 * y - b_1) + 2 * Rho * (x - a_1) * (y - b_1))



For i = 1 To 4



    For j = 1 To 4



        Cumul_biva_Norm = (((1 - Rho ^ 2) ^ 0.5) / Pi)*f(X,Y)



    Next j



Next i



End Function
я, конечно, вернусь
User avatar
baghead
Posts: 0
Joined: Thu Jan 01, 2004 12:00 am

Pricing a best of

Post by baghead »

when I tested hull, nelken & white's equity vol 2 credit model I used this:

edit: I had to price a compound option I needed the bivariate normal dist for.



http://www.mathfinance.de/FF/vblib.html
they don't ring a bell at the bottom - M. Bloomberg, BBC interview, Oct '08
Post Reply