You are required to submit one (1) Word document (in docx format) and one (1) Jupyter Notebook script for this entire TMA. The Word document is regarded as the main submission from which the marker will assess your work. Thus, you should amply explain the steps you have taken to obtained your answers, inserting images from the Jupyter Notebook if necessary. The Jupyter Notebook should contain the actual code that you have written. This will be executed by the marker when he needs to verify your steps.
You are required to submit one (1) Word document (in docx format) and one (1) Jupyter Notebook script for this entire TMA. The Word document is regarded as the main submission from which the marker will assess your work. Thus, you should amply explain the steps you have taken to obtained your answers, inserting images from the Jupyter Notebook if necessary. The Jupyter Notebook should contain the actual code that you have written. This will be executed by the marker when he needs to verify your steps. Question 1 During the last holiday, you worked in a commercial bank as an Intern. In the first week, you were assigned to work with the bond desk. The first task given to you is to price two (2) types of bond, namely: zero coupon bond and fixed rate bond. (a) Develop and implement a function zero_coupon_bond_price() that calculates the price of a zero coupon bond by accepting 3 input parameters: Par_value, market rate r (yield to maturity) and tenor n (in years), (6m) (b) Develop and implement a function bond_price() that calculates the price of a fixed rate bond by accepting 4 input parameters: Par_value, coupon_rate, market rate r (yield to maturity) and tenor n (in years), (10m) (c) Solve for the prices for the following bonds, round-off with two (2) decimal places: Zero Coupon Bond Par value = $1000 Market rate = 3% Tenor = 1 year Fixed Rate Bond Par value = $1000 Coupon rate = 5% Market rate = 4% Tenor = 6 years (4m) Question 2 In the second week of internship, you were asked to help the capital market financial analyst to compute beta and expected return of a stock with the help of the Capital Asset Pricing Model (CAPM). These are the monthly data you have gathered: Stock X’s return Market Index’s return 5.57% 9.30% 3.95% 3.39% 5.26% 2.58% 5.49% 4.63% -1.00% -8.27% 80.00% 71.60% (a) Develop and implement a function beta_computation() that calculates the beta by accepting 2 input return time series, namely: stock’s return time series rstock and market index’s return time series rmarket. Cov refers to Covariance and Var refers to Variance. (10m) (b) Develop and implement a function return_computation() that calculates the expected return of a stock y by accepting 3 inputs, namely: risk free rate rf, expected market return rmkt and Beta of the stock, β. (3m) (c) Solve for the expected return for this stock X in % and round-off with two (2) decimal places: Expected market return = 10% Risk free rate = 3% Beta X, to be calculated, round off with two (2) decimal places. (7m) Question 3 In the third week of internship, you were asked to evaluate three (3) projects. They are of the same tenor. The 10 year treasury bond yield of 10% is used for the cost of capital consideration. You decide to compare the 3 projects by both the Net Present Value (NPV) and Internal Rate of Return (IRR) methods. Projects year 0 year 1 year 2 year 3 year 4 year 5 X -10000 2000 2000 4000 4000 5000 Y -6000 2000 -1000 3000 500 7000 Z -5000 2000 -800 3000 -900 1000 (a) Develop and implement a function npv_irr_calculation() that will generate three (3) outputs: initial_cashflow, npv_calc, irr_calc, by accepting 2 inputs: rate, array, which rate refers to the cost of capital and array refers to each individual project cashflows. (8m) (b) Calculate and publish the Initial Cashflow, NPV and IRR for the three (3) projects. (3m) (c) If IRR is chosen as the criteria, compare which project is the best in returns. If NPV is chosen as the criteria, explain which project is the best in dollar and cents. If only one (1) project is allowed, explain which criteria will the final decision made on. Present your answers with help of Markdown answer for 3(c) (4m) Question 4 As for the last assignment in the bank, you were asked to assist the Quant team. You were tasked to investigate the usefulness and limitations of Curve-fitting technique, also known as Regression. (a) Compute and generate 20 normally distributed random numbers with a random seed of 1, mean of 100 and standard deviation of 10. Arrange them in a 2 by 10 matrix. Name this matrix xy_numbers. Categorise and extract xy_numbers row-wise, that is, first_row = [ .. ] and second_row = [ .. ]. Let x takes the array of first_row and y takes the array of second_row. Display a scatter plot of y against x. (4m) (b) Develop and implement a function to calculate mean square error by accepting 3 numeric list parameters: the regressed y value ycap, x_input and y_input. Calculate linear regression on numbers and display the regressed line with x-values span across 100 intervals evenly, from minimum value to maximum value of x data. Calculate the mean squared error, round off to two (2) decimal places. (8m) (c) Calculate both quadratic and cubic regression on numbers and display the regressed curves, label them clearly for clarity. Calculate their mean squared errors, round off to two (2) decimal places. (8m) (d) Since numbers have 10 columns of data, calculate degree 9th (= 10 - 1) regression on numbers and display the regressed curve alone, label it clearly for clarity. (4m) (e) Criticise the limitation of getting predicted data from a regressed line/curve. List one (1). Explain the application of regression. List one (1). Present your answers with help of the Markdown answer for 4(e) (6m)