首页 > > 详细

辅导 MATH40082 (Computational Finance) 讲解 留学生Python程序

MATH40082 (Computational Finance)

Finite Difference Methods Assignment

1    Background Theory

1.1    Coupon Bonds with Stochastic Interest Rate

Consider a set of coupon bonds B are trading on the financial markets, and the term structure of interest rates is stochastic.  Let us denote B(r, t;T) as the value of a bond at time t that matures at time T, given the current stochatic interest rate is r.  Later on in this project, you will be asked to price the option to buy (or sell) a coupon bond at some time T1  before the bond matures T1  < T.  To price this contract, we need to first calculate the value of the bond B(r, t;T) at all time t < T.

The risk-neutral process followed by interest rate is given by

dr =  (✓eμt r,dt + σrβ dW.                                (1) Here  , ✓ , µ , σ and β are all constant model parameters that can be determined from market prices of zero coupon bonds.

It is relatively straightforward to show that the market value of the coupon bond B(r, t;T) satisfies the following PDE

 + σ2 r2β  +  (✓eμt r,   rB + Ce↵t = 0,                    (2)

if the bond pays out a continuous coupon at the rate of

Ce↵t                                                                (3)

for constants C and ↵ defined in the bond contract.

B(r, t = T;T) = F;                                                                    (4)

 + ✓eμt  + Ce↵t = 0,    atr = 0;                                                (5)

and

B(r, t;T) ! 0       as       r ! 1.                               (6)

1.2    Options on a Bond

Now consider an option V to buy the bond at time T1 .  Let V(r, t;T1 , T) be the value of a call (or put) option to buy (or sell) at time T1  the coupon bond B(r, t;T) maturing at time T.  On the domain r 2 [0, 1), t < T1 , it can be shown that function V satisfies the following PDE:

 + σ2 r2β  +  (✓eμt r,   rV = 0.                       (7)

American Call Option

For an American call option, at expiry time t = T1  we have:

V(r, t = T1 ;T1 , T) = max(B(r, T1 ;T)  X,0).                          (8)

If the option to buy the bond is exercised early,

V(r, t;T1 , T) = B(r, t;T)  X

so according to no arbitrage and early exercise, the option must satisfy

V(r, t;T1 , T) ≥ max(B(r, t;T) − X,0) fort  T1 ;                                            (9) Finally the boundary conditions are:

V(r, t;T1 , T) = B(r, t;T) X     atr = 0;                                              (10)

and

V(r, t;T1 , T) ! 0       as       r ! 1.                             (11)

American Put Option

For an American put option, at expiry time t = T1  we have:

V(r, t = T1 ;T1 , T) = max(X B(r, T1 ;T), 0).                       (12)

If the option to buy the bond is exercised early,

V(r, t;T1 , T) = X  B(r, t;T)

so according to no arbitrage and early exercise, the option must satisfy

V(r, t;T1 , T) max(X B(r, t;T), 0) fort  T1 .                      (13)

Finally the boundary conditions are:

 + ✓eμt  = 0,    atr = 0;                                                   (14)

and

V(r, t;T1 , T) ! X  B(r, t;T)       as       r ! 1.                    (15)

2    Tasks

2.1    Bonds

. Write out the correct numerical scheme (i.e.  aj =, bj =, cj = and dj =) matching the PDE for a bond (2), including the boundary conditions (5) and (6) at j = 0 and j = jMax.  Be careful to make your notation clear and understandable.

(understanding 5 marks)

Unless otherwise instructed, you should assume that the following standard values for the parameters

 0.0187, C = 6.18, = 0.01,

. Write code to calculate the value of the bond B(r, 0;T) using rmax  = 1, iMax = 100 and jMax = 100 . You must use the finite-di↵erence method with a  Crank-Nicolson scheme,  along with an appropriate method to solve the algebraic system.  State the value of the bond B(r0 , 0;T) using these parameters.

.  An alternative boundary condition is

 ! 0 as r ! 1.

Plot out the value of the option B(r, 0;T) against the interest rate r for r 2 [0 ,rmax] and compare the results with di↵erent boundary conditions.

Comment on the results in each case, can you explain which boundary condition works best and why? (understanding 5 marks)

. Include  in your  report  an  accurate  estimate  for the  bond  price  B(r0 , t = 0;T)  using the  parameters outlined above.  Explain  how you obtained your result, how efficient it is, and also how accurate it is, by exploring the e↵ect that each of the di↵erent numerical parameters  (iMax, jMax, rmax ) have on your solution.

(understanding 3 marks,  originality  5 marks  )

2.2    Options on Bonds

You are tasked to solve an American call option.

Unless  otherwise  instructed,  you  should  assume  that  the  following  standard  values  for  the  parameters

apply:   T =  5,  T1   =   1 .5022,  X =  231,  F =  230,   =  0 .0253,  r0   =  0 .0374,    =  0 .04592,  µ =   0.0187,

. Write out the correct numerical scheme  (i.e.   aj =,  bj =,  cj =  and  dj =) matching the PDE for the American call option  (7), how you solved for early exercise, and also appropriate boundary conditions such as  (10),  (11) at j = 0 and j = jMax.  Describe  how you setup your grid to match the problem.

(understanding 5 marks  )

. Write code to calculate the value of both the option V(r, t;T1 , T)  (fort  T1 ) and the bond B(r, t;T) (for t  T).  Plot out the value of the American option  V against the interest rate r at time t = T1 and time t = 0.  What is the maximum value of r at time t = T1  at which the option  is exercised?

(coding 2 marks,  understanding 5 marks)

.  State an accurate value for the American option V(r0 , 0;T1 , T) using the parameters as given above. Explain how you obtained your result, how efficient it is, and also how accurate it is, by exploring for example the e↵ect that each of the di↵erent numerical parameters  (iMax, jMax, rmax ) and di↵erent boundary conditions have on your solution.

(understanding 2 marks,  originality  10 marks)

3    Instructions

The deadline for this assignment is 11am on Tuesday  7th May, and as part of a 15 credit course unit you should expect this may take up to 25 hours to complete. Unless you have an agreed extension on coursework deadlines with DASS reports handed in AFTER 11am Tuesday 7th May will be docked 5 marks plus an additional 5 marks each day thereafter until a mark of zero is reached. Reports handed in after 5pm Friday 17th May will be awarded a mark of zero and will not be marked.

You must use LATEX to create the document you hand in.  Please write your own code and report, you may work together but do not transfer your codes or report files to another student for them to use, via email or by sharing them on cloud hosting websites.  To do so would be considered plagiarism and it would carry severe penalties. Please see the university guidance and associated documents on plagiarism:

https://documents.manchester.ac.uk/display.aspx?DocID=2870

In order that your report conforms to the standards for a technical report, you should use the following structure:

.  Typeset using LaTeX, so the only allowed submission letype is pdf, and it must be submitted without your name, but with your university ID number online through the TurnItIn system.

.  approximately 8 - 10 pages long (excluding appendices)

. be written in continuous prose

. give a brief introduction stating the problem you are solving and the parameters you are using (from the model or method),

. present your results in the form of figures and tables, using the order of items in the bullet points as a guide as to the order of your document

.  absolutely NO screenshots of running code need to be included,

.  do not include overly long tables – a table should never crossover a page,

. present the results for any methods you have implemented, there is no credit for a discussion of a method that has not been shown to be implemented by you (through results) for your problem

. refer to and discuss each of your results in the text, part of the marks available in each bullet point are for interpreting the results

. try to keep to the page limit, removing any unnecessary results from the main text

.  number and caption your figures and tables and refer to them by their number (not their position in the text),

.  number any equations to which you refer,

.  use consistent internal (and external) referencing.


联系我们
  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp
热点标签

联系我们 - QQ: 99515681 微信:codinghelp
程序辅导网!