关于算法:MATH40082选进算法

45次阅读

共计 9416 个字符,预计需要花费 24 分钟才能阅读完成。

MATH40082 (Computational Finance)
Assignment No. 2: Advanced Methods
Version 10545349
1 Background Theory
1.1 Convertible Bonds
You are asked to price a bond contract in which the holder has the option to choose between receiving
the principle F or alternatively receiving R underlying stocks with price S at time t = T . The contract
can therefore be expressed as a function of the underlying stock price S and time t, assuming that risk free
interest rates are constant and the default risk of the bond is negligible. The terminal condition of such a
contract is therefore given by
V (S, T) = max(F,RS) (1)
The issuer of the bond has also decided to pay out a continuous coupon at the rate of
K(t) = Ce?αt (2)
for constants C and α of their choosing. This means that the holder of the bond contract will receive
Ce?αtdt (3)
at each instant in time from the issuer.
Assume now that the risk-neutral process followed by underlying stock price is given by
dS = κ (θ(t)? S) dt+ σSβdW. (4)
Here κ is the mean reversion rate, β is the elasticity of variance in the market, and the function θ is given
by
θ(t) = (1 + μ)Xeμt
where X and μ are constant model parameters that can be determined from the market, reflecting the
dividend payout policy of the firm.
It is relatively straightforward to show that the market value V (S, t) of this contract satisfies the following
for some functions A and B to be derived.
1
1.2 Options embedded in the contract
In this section we consider the case where the firm issuing the bond contract looks to embed further American
style options into the contract. The first addition they make to the contract is to enable the holder to exercise
the decision to convert the bond in stock at any time before the maturity of the contract. This results in
an American style condition which gives the inequality
V ≥ RS (8)
for all t < T .
From this condition we can assume that for large enough S the bond holder will always choose to convert
so that
V (S, t)→ RS as S →∞ (9)
is the boundary condition for large S.
Call Option
If the bond has written in the contract that the issuer may buy back the bond at the price Cp over some
time period t < t0 then the value of the bond must satisfy the following condition
V (S, t) ≤ max(CP , RS) if t ≤ t0. (10)
For this condition to work we are assumming that the holder is allowed to choose to convert rather than be
bought out.
Put Option
Another option often written in a bond contract is that the holder may have the option to sell the bond
back to the issuer at the price Pp over some time period t < t0. Then in this case the value of the bond must
satisfy the following condition
V (S, t) ≥ Pp if t ≤ t0. (11)
Default Barrier
Sometimes the bond holders are given an option to force the company to buy back the bond if the value of
equity goes below some pre-specified level and the firm is at risk of bankruptcy. We assume here that they
only have the option to force the sale at the price Kp during some fixed time period t < t0, and that the
barrier B below which S must not go is written in the contract. In this case we find the value of the bond
must satisfy the following condition
V (S, t) = Kp if S ≤ B and t ≤ t0. (12)
2 Tasks
2.1 European Options
Include in your report a brief derivation of the boundary condition (7) for large S. You will need to
find the functions A(t) and B(t) by solving the approximate problem
assuming that the solution to this equation is of the form
V (S, t) = SA(t) +B(t).
(understanding 5 marks)
2
Write code to calculate the value of the option V . You must use the finite-difference method with
a Crank-Nicolson scheme, along with an appropriate method to solve the algebraic system. You can
derive an analytical result when β = 1 and κ = 0 to check that your code is working (this is left up to
you to check), but do not include these results in your report. Write out the correct numerical scheme
(i.e. aj =, bj =, cj = and dj =), including at j = 0 and j = jMax, in your report. Be careful to
make your notation clear and understandable.
(coding 3 marks, understanding 5 marks)
Unless otherwise instructed, you should assume that the following standard values for the parameters
apply: T = 2, F = 170, R = 4, r = 0.0229, κ = 0.125, μ = 0.0146, X = 46.47, C = 1.95, α = 0.01,
β = 0.197 and σ = 7.11.
Plot out the value of the option V (S, t) as a function of the underlying asset price S (at t = 0) for the
following two cases:

  1. β = 1, σ = 0.35, all other parameters as standard.
  2. β = 0.197, σ = 7.11, all other parameters as standard.
    Comment on the results in each case, can you explain how the change in parameters affects the results
    and why? You may wish to present one more graph exploring different values of β and σ.
    (understanding 5 marks)
    Assume now that S0 = 46.47, include in your report an accurate estimate for the option value V (S0, t =
    0) using the parameters outlined above with β = 0.197 and σ = 7.11. Explain how you obtained your
    result, how efficient it is, and also how accurate it is, by exploring the effect each of the different
    numerical parameters (iMax, jMax, Smax) have on your solution. You may entend the method with
    higher order interpolations and Richardson extrapolation but the scheme should be Crank-Nicolson
    Finite Difference.
    (originality 7 marks)
    2.2 American Options – embedded options
    You may value this option with any technique you like, but it will effect your answer to the final question.
    Very briefly describe the numerical method that you have used (i.e. state if you use explicit FD, Crank-
    Nicolson with PSOR, policy iteration or penalty method).
    (Coding 2 marks)
    Unless otherwise instructed, you should assume that the following standard values for the parameters
    apply: T = 2, F = 170, R = 4, r = 0.0229, κ = 0.125, μ = 0.0146, X = 46.47, C = 1.95, α = 0.01, β = 0.197
    and σ = 7.11. The bond contract you must value is an American style convertible bond with an embedded
    call option, which means that the issuer can buy the bond back from the holder at the price Cp = 200 if
    t < 0.9516.
    Plot out the value of your American style bond contract as a function of asset price S, at t = 0 between
    S = 0 and S = 2X, and mark on the graph any optimal decision points.
    (understanding 5 marks)
    Using finite difference approximations and by solving the American style option with different values
    of κ, plot out the value of partial differential
    as a function of the underlying asset price S (at t = 0) between S = 0 and S = 2X. Does your result
    look reasonable, for instance, did you expect the value to be zero, positive, negative, large, small,
    continuous or discontinuous? (understanding 5 marks)
    3
    You are tasked with providing the most accurate value possible of American style version of the
    option using the parameters given above. Assume that you are only given 1 second of computation
    time to return a value of the option at S0 = 46.47. State the most accurate value you can get in that
    time limit, how you verified it and any techniques used. Be careful to work around any discontinuities
    in the domain and explain how you did so.
    (originality 8 marks)
  3. Instructions
    This assignment is the last assignment, and it will account for 50% of your final assessment for this module.
    Marks will be awarded as follows:
    (i) 5% for working codes;
    Grade Description
    0-50% Little or no attempt, codes not working
    50%-70% One or two bugs in the code are affecting the results
    70%-100% Results in 2.1 and 2.2 from the codes appear correct
    (ii) 5% for the presentation of your written report;
    Grade Description
    0-50% Poorly presented work. Significant amount of text unreferenced.
    Graphs and tables poorly labelled making it difficult to interpret
    them.
    50%-70% Good presentation. Text is readable. Graphs are ok, maybe miss-
    ing labels and not always referenced correctly. Report is overly
    long and unnecessarily repeats the same (or similar) results.
    70%-100% Excellent presentation, well written and well referenced. Graphs
    are clear, tables used when appropriate. Report keeps within the
    page limit.
    (iii) 25% for the understanding of the problems involved;
    Grade Description
    0-50% Results are poorly presented or they are without supporting text.
    The methods are described but are not shown to be implemented
    through results. The student is unable to demonstrate they can
    correctly interpret results.
    50%-70% Demonstrates a good understanding of the standard methods. Is
    able to generate standard results and discuss them. Results are
    well presented.
    70%-100% Student is able to correctly interpret standard results and evaluate
    the efficiency of the standard methods.
    (iv) 15% for originality/initiative.
    4
    Grade Description
    0-50% Little or no attempt at adapting the methods for this particular
    problem. Those adaptations that have been implemented have
    poorly presented results or the student is unable to demonstrate
    they can correctly interpret results.
    50%-70% Is able to efficiently adapt the method for this problem, or make
    improvements to the standard implementation. Is able to present
    results and discuss them. Results are well presented.
    70%-100% Is able to implement new or combine existing algorithms together
    to produce a highly efficient numerical method. Presentation of
    the results is excellent. Student is able to correctly interpret re-
    sults and compare methods in a coherent way.
    Please see bullet points for a more detailed breakdown of marks.
    Reports should be prepared electronically using either MS Word, LaTeX, or similar, and must be submit-
    ted without your name, but with your university ID number online through the TurnItIn system.
    Please include the program files used to generate results for the report in an appendix as plain text with the
    document. Your report should be written in continuous prose in the form of a technical report and should
    be at most 10 pages long (excluding appendices). Any programming language may be used. The deadline
    for this assignment is 11am on Monday 16th May.
    THIS DEADLINE MUST BE STRICTLY ADHERED TO – Reports handed in AFTER
    11am Monday 16th 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 11am Wednesday 25th May will be
    awarded a mark of zero and will not be marked, unless the student is eligible for extra time
    via DASS.
    In order that your report conforms to the standards for a technical report, you should use the following
    structure:
    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 cross over 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.
    References
正文完
 0