FE 621 Computational Methods in Finance Assignment

Assignment Help Python Programming
Reference no: EM133133835

FE 621 Computational Methods in Finance - Stevens Institute of Technology

Problem 1. Barrier options.

The purpose of this problem is to compute the price of an up-and-out put option. An up-and-out put option (UOP) with strike K and barrier level H has the same payoff at time T as a vanilla put option, (K ST)+, unless the stock price goes above the barrier level H during the life of the option, in which case the holder receives nothing.

(a) Is such an option cheaper or more expensive than a vanilla put option? Explain.

(b) The price of an UOP option is given by

P = e-rTE[(K - ST)+1{supt≤T St ≤ H}].

The standard Monte Carlo estimator for the price is given by

n,m = e-rT 1/n Σnk=1 (K - Sm(k))+1{supt≤T St ≤ H}

where ti = T/m and (Sˆ1(k), . . . , Sˆm(k)) is the k-th simulated path of GBM at times (ti)1≤i≤m.

Is the estimator Pˆn,m biased? Is it biased low or high? Explain.

(c) Use the parameters in the table below to compute an estimate of the price using (0.1) along with a 95% confidence interval. Use m = 63 and n equal to at least 100, 000.

1421_Computational Methods in Finance9.jpg

 

(d) An UOP with a rebate pays its holder a rebate R when the option is knocked out (i.e. when it hits the barrier). Explain carefully how you would extend the Monte Carlo estimator (0.1) to handle the case with a rebate.

(e) Use your estimator in part (d) to compute an estimate of the price an UOP with a rebate together with a 95% confidence interval. Use the same parameters as in (c) and set the rebate to R = $5.

Problem 2. Reduction of the bias.

For a geometric Brownian motion (St)t≥0 and x, y < H we have the following formula:

p(ti, x, ti+1, y) = P(sup       Su ≥ H|Sti = x,Sti+1 = y) = exp (2/σ2/(ti+1 - ti)ln(H/x)ln(y/H))
                          ti≤u≤ti+1

The above formula gives the probability that the barrier H was crossed between times ti and ti+1, given that the price was x at time ti and y at time ti+1. We can use this result to improve the estimators in Problem 1.

(a) An unbiased estimator for the price that improves (0.1) is given by

P˜ = e-rT 1/n Σnk=1(K - Sˆm (k))+.1 - q(0, S0, T, Smˆ (k)).

Use this estimator to give an estimate of the UOP option price with a 95% confidence interval. Is it different from the interval in Problem 1(c)?

Extra credit: Show formally that the estimator is unbiased. That is, show E[P~n,m] = P.

(b) Use the barrier crossing formula (0.2) to construct an estimator for the price of an UOP option with a rebate that improves the estimator in Problem 1(d). Clearly explain your simulation procedure.

Use your estimator to given an estimate of the rebate option price and a 95% confidence interval. Is it different from the interval in Problem 1(e)?

(c) Let us now suppose that the stock price follows the CEV model,

dSt = rdt + αStβ-1dWt.

For an UOP without rebate, one can use the estimator in Problem 1(a). The only difference is that the stock price paths have to be simulated step by step using the Euler discretization scheme.

Explain clearly how the barrier crossing formula (0.2) can be used to improve this estimator.

In this part you only need to explain your simulation procedure - you do not have to implement your algorithm or provide any numerical estimates.

Problem 3. Asian options.

A continuously sampled Asian option with maturity T has payoff

(AT - K)+ = (1/T∫0TSudu - K)+

Assume that (St)t≥0 follows a GBM and let ti = iT/m = iΔt. The quantity AT cannot be simulated exactly so we consider two different approximations:

(i) First, AT can be approximated by a Riemann sum (r stands for Riemann):

ArT = 1/m ∑m-1i=0 Sti

To simulate ArT one can simulate (Wt1 , . . . , Wtm) and then use those values to compute (St1 , . . . , Stm ).

(ii) Second, AT can be approximated using the following expression (bb stands for Brownian bridge):

2032_Computational Methods in Finance.jpg

 

Using properties of Brownian motion one can show that

1569_Computational Methods in Finance1.jpg

It follows that to simulate ATbb one can first simulate (Wt1 , . . . , Wti) and then, conditionally on those values, simulate the integrals ∫titi+1 (Wu - Wti)du.

Using the approximations ATr and ATbb, give estimates for the price of the Asian option. Use the parameters in the table below. Take m = 10, 50, 100 and n = 50, 000. Give 95% confidence intervals and present your results in a table.

376_Computational Methods in Finance10.jpg

 

Problem 4. Variance reduction using control variates.

Let G = exp (1/T 0T ln(Su)du)2 In this problem we use the option with payoff (GT - K)+ as a control variate to reduce the variance of the estimators in Problem 3.

(a) Show that E[e-rT (GT - K)+] can be computed using the Black-Scholes formula using the following parameters:

1879_Computational Methods in Finance2.jpg

(b) The quantity GT cannot be simulated exactly but it can be approximated in the following ways:

2363_Computational Methods in Finance3.jpg

 

Importantly, the random variables used to simulate ATr or ATbb can also be used to simulate GTr and GTbb.

To use GTr and GTbb as control variates, we need explicit expressions for E[e-rT (GTr -K)+] and E[e-rT (Gtbb -K)+].

However, in this problem we will simply use the formula in part (a) for E[e-rT (GtT - K)+] as an approximation for those values.

Compute Monte Carlo price estimates and 95% confidence intervals for the option in Problem 3 using control variates. Use GTr as a control variate for ATr and GTbb as a control variate for ATbb.

Use same values of m and n as before and present your results in a table. Also report your estimates for the control variate slope b∗.

How to the price estimates and confidence intervals deviate from those in Problem 3?

Does using Abb and Gbb rather than Ar and Gr seem to be worth the additional complexity?

Problem 5. Bond pricing.

In the Vasicek model, the short rate under the risk-neutral measure has dynamics

1683_Computational Methods in Finance4.jpg

 

For this process it can be shown that

690_Computational Methods in Finance5.jpg

 

where the mean and variance are given by

1261_Computational Methods in Finance6.jpg

(a) The price at time 0 of a zero coupon bond with maturity T is

B (T) = E[e-0∫Trtdt

Use (0.3) to give an explicit expression for the price B0(T).

(b) Suppose that a = 0.25, b = 0.04, σ = 0.1, r0 = 0.05, and T = 1. Price the bond in (a) using Monte Carlo with Euler discretization to simulate (rt)t≥0. Provide a 95% confidence interval of width less than 1 cent.

(c) Analyze the bias and variance of your estimator in (b).

Hint: Plot the bias as a function of m for m between 5 and 52 (and a fixed large value of n). Plot the standard deviation as a function of n (for a fixed large value of m). You may also want to consider log-log plots.

(d) Are your results in (c) in line with theoretical results about the order of bias and variance in Monte Carlo simulations?

Problem 6. Portfolio wealth growth.

Consider a portfolio with initial value X(0) = 1. Between times t-1 and t the value of the portfolio is multiplied by a random factor r(t) given by

66_Computational Methods in Finance8.jpg

 

That is, the value X(t) at time t is given by r(t)XQ(t - 1) where X(t - 1) is the value at time t - 1. More generally,

(a) Use Monte Carlo simulation to estimate the expected portfolio value E[X(t)] for t between 1 and 50. Use n = 100, 000 simulations and plot your results.

Based on this, would you consider the portfolio a favorable investment option?

Note: You can also use E[r(i)] = 0.5 0.6 + 0.5 1.5 = 1.05 to obtain E[X(t)] = X(0) 1.05n. Display this closed-form result for E[X(t)] with your Monte Carlo estimates.

(b) Visualize a few wealth trajectories between time 0 and time 50. That is, visualize independent simulations of the wealth sequence X(0), X(1), . . . , X(50).

What do you observe? Based on this, would you consider the portfolio a favorable investment option?

(c) Can you explain the apparent discrepancy between the results in (a) and (b)?

Reference no: EM133133835

Questions Cloud

Find the targeted number of sales in luxury cars : Find the targeted number of sales in luxury cars for Fairly Honest Motors if the variable cost per car is $43,750, the selling price per car is $64,900
What would Ortiz report as total revenues : Ortiz Co. had the following account balances: Depreciation expense 20,000. What would Ortiz report as total revenues in a single-step income statement
Calculate earnings per share for lake industries : Calculate earnings per share (EPS) for Lake Industries for each of the next 5 years (2013-2017), assuming that there is no merger
Journal entries to record current year depreciation : Andy sells this equipment for $12,000 at the end of the current year. Journal entries to record both the current year's depreciation and disposal of equipment
FE 621 Computational Methods in Finance Assignment : FE 621 Computational Methods in Finance Assignment Help and Solution, Stevens Institute of Technology - Assessment Writing Service
Characteristic of the different types of market structure : List and define the characteristics of the various market structures. Then, you should explain each characteristic of the different types of market structure in
Describe a perception intervention : Review the content from online & in the textbook, ensure you've understood all major terms & concepts below.
At what total amount will held-to-maturity investments be : At what total amount will the held-to-maturity investments be reported on the December 31 balance sheet
Compute the present value of the annuities : Compute the present value of the following annuities: (a) $500 per month for 11 years discounted back to the present at 7% compounded monthly

Reviews

Write a Review

Python Programming Questions & Answers

  Write a python program to implement the diff command

Without using the system() function to call any bash commands, write a python program that will implement a simple version of the diff command.

  Write a program for checking a circle

Write a program for checking a circle program must either print "is a circle: YES" or "is a circle: NO", appropriately.

  Prepare a python program

Prepare a Python program which evaluates how many stuck numbers there are in a range of integers. The range will be input as two command-line arguments.

  Python atm program to enter account number

Write a simple Python ATM program. Ask user to enter their account number, and print their initail balance. (Just make one up). Ask them if they wish to make deposit or withdrawal.

  Python function to calculate two roots

Write a Python function main() to calculate two roots. You must input a,b and c from keyboard, and then print two roots. Suppose the discriminant D= b2-4ac is positive.

  Design program that asks user to enter amount in python

IN Python Design a program that asks the user to enter the amount that he or she has budget in a month. A loop should then prompt the user to enter his or her expenses for the month.

  Write python program which imports three dictionaries

Write a Python program called hours.py which imports three dictionaries, and uses the data in them to calculate how many hours each person has spent in the lab.

  Write python program to create factors of numbers

Write down a python program which takes two numbers and creates the factors of both numbers and displays the greatest common factor.

  Email spam filter

Analyze the emails and predict whether the mail is a spam or not a spam - Create a training file and copy the text of several mails and spams in to it And create a test set identical to the training set but with different examples.

  Improve the readability and structural design of the code

Improve the readability and structural design of the code by improving the function names, variables, and loops, as well as whitespace. Move functions close to related functions or blocks of code related to your organised code.

  Create a simple and responsive gui

Please use primarily PHP or Python to solve the exercise and create a simple and responsive GUI, using HTML, CSS and JavaScript.Do not use a database.

  The program is to print the time

The program is to print the time in seconds that the iterative version takes, the time in seconds that the recursive version takes, and the difference between the times.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd