Serving the Quantitative Finance Community

 
User avatar
quantcook
Topic Author
Posts: 0
Joined: June 23rd, 2008, 6:52 pm

why my delta is not 100

April 3rd, 2009, 7:11 pm

i'm using black scholes to calculate my european option price.strange enough, whenever there's a interest rate > 0, my delta never sum up to 100.here is the vba code : d1 = NormSDist((Log(frw / strike) + (0.5 * Vol^ 2) * T) / (Vol* T^ 0.5)) d2 = NormSDist((Log(frw / strike) + (-0.5 * Vol^ 2) * T) / (Vol* T^ 0.5)) If COP = 1 Then Price = frw * Exp(-rate * T ) * d1 - strike * Exp(-rate * T ) * d2 ElseIf COP = 2 Then Price = -frw * Exp(-rate * T ) * (1 - d1) + strike * Exp(-rate * T ) * (1 - d2) end ifcan anyone tell me why? i don't see any bug there.thanks
Last edited by quantcook on April 2nd, 2009, 10:00 pm, edited 1 time in total.
 
User avatar
crmorcom
Posts: 0
Joined: April 9th, 2008, 4:09 pm

why my delta is not 100

April 3rd, 2009, 7:12 pm

delta is exp(-rt)N(d1), isn't it? So for positive r, you never get to 1.
 
User avatar
quantcook
Topic Author
Posts: 0
Joined: June 23rd, 2008, 6:52 pm

why my delta is not 100

April 3rd, 2009, 7:16 pm

QuoteOriginally posted by: crmorcomdelta is exp(-rt)N(d1), isn't it? So for positive r, you never get to 1.it should always sum up to 1,else put call parity is not right.
 
User avatar
crmorcom
Posts: 0
Joined: April 9th, 2008, 4:09 pm

why my delta is not 100

April 3rd, 2009, 7:28 pm

What exactly does put/call parity say?
 
User avatar
quantcook
Topic Author
Posts: 0
Joined: June 23rd, 2008, 6:52 pm

why my delta is not 100

April 3rd, 2009, 7:50 pm

QuoteOriginally posted by: crmorcomWhat exactly does put/call parity say?buddy , i found it out.it need to consider time value of money if using forward price.always discount back to present value.
 
User avatar
arupb
Posts: 0
Joined: January 31st, 2008, 5:41 am

why my delta is not 100

April 15th, 2009, 7:11 am

I think , the normal distribution takes a sum of risk free interest rate and vol^2Henced1 = NormSDist((Log(frw / strike) + (0.5 * Vol^ 2) * T) / (Vol* T^ 0.5))should bed1 = NormSDist((Log(frw / strike) + (rate + 0.5 * Vol^ 2) * T) / (Vol* T^ 0.5))
 
User avatar
Paolos
Posts: 1
Joined: November 12th, 2004, 2:15 pm

why my delta is not 100

April 15th, 2009, 10:07 am

QuoteOriginally posted by: arupbI think , the normal distribution takes a sum of risk free interest rate and vol^2Henced1 = NormSDist((Log(frw / strike) + (0.5 * Vol^ 2) * T) / (Vol* T^ 0.5))should bed1 = NormSDist((Log(frw / strike) + (rate + 0.5 * Vol^ 2) * T) / (Vol* T^ 0.5))The interest rate (and, in case, the dividend yield) are already embodied in the forward price: Fwd=spot*[exp(rate-dividend)*T]
 
User avatar
crmorcom
Posts: 0
Joined: April 9th, 2008, 4:09 pm

why my delta is not 100

April 15th, 2009, 1:15 pm

QuoteOriginally posted by: PaolosQuoteOriginally posted by: arupbI think , the normal distribution takes a sum of risk free interest rate and vol^2Henced1 = NormSDist((Log(frw / strike) + (0.5 * Vol^ 2) * T) / (Vol* T^ 0.5))should bed1 = NormSDist((Log(frw / strike) + (rate + 0.5 * Vol^ 2) * T) / (Vol* T^ 0.5))The interest rate (and, in case, the dividend yield) are already embodied in the forward price: Fwd=spot*[exp(rate-dividend)*T]Quite right. In fact, the forward contains literally all the information about how the dividend yield and interest rate affect the risk-neutral forward price distribution. Since BS is for a European option, this is the only thing you care about (apart from discounting the premium to expiration). This is why it's always easier to write BS in terms of F rather than S: all the "r"s and "q"s go away and all that matters is the quadratic variation (sigma^2 T) and the forward strike-ratio.The only danger in always working with the forward is that you must be careful to compute delta with the spot price rather than the forward if that is the asset you are hedging with (e.g. equities).