代做MTH116 Foundations of Financial Computing 2st SEMESTER 2020/21 RESIT EXAMINATION代写Matlab编程
- 首页 >> Algorithm 算法MTH116
2st SEMESTER 2020/21 RESIT EXAMINATION
BACHELOR DEGREE – Year 2
Foundations of Financial Computing
TIME ALLOWED: 2 hours
INSTRUCTIONS
1. Total marks available are 100. There are in total 4 projects with 22 online test questions in this exam. You must attempt all these projects and their corresponding online test questions. Your marks are to be obtained by answering the online test questions only. However, you are required to submit the code you have developed for verification purpose via the submission link given on the LMO. You are allowed to submit up to 4 different M files containing MATLAB code only (no results or outputs of variables.)
2. The exam is an ‘open-book’ assessment. All the learning materials on the LMO can be referenced during the exam including lecture notes, tutorial questions and solutions, lecture videos etc. However, you must complete the exam independently.
3. The length of the exam is in total 2 hours including the time for attempting the given problems, and the time for completing the online test questions on the LMO. 15 minutes crash time is arranged for uploading your work.
4. You need to use the software package MATLAB to do the questions through the exam.
Attempt all projects
Project 1
In this project, we provide 218 days historical data of a stock SHDQ. Please download the data and read the data in your Matlab interface. Then use Matlab to complete the following questions.
1) Let a denote the average price of the stock and sigma the standard deviation of the stock, then floor(a)=_______; ceil(sigma)=_______.
2) Determine the number of days that stock price was above ¥8 and less than ¥10 in the period.
3) Determine the number of days that the stock price was either below ¥7 or above ¥11 in the period.
4) Suppose you owned 1000 shares of the stock at the start of the period, and you bought 100 shares every day when the price was below ¥9.5 and sold all shares when the price reach ¥11. Determine how many shares you have at the end of the period.
5) Suppose you owned 1000 shares of the stock at the start of the period, and you bought 100 shares every day when the price was below ¥8 and sold 200 shares every day when the price was above ¥11 and your holding shares are greater than 200. Determine how many shares you have at the end of the period.
After you have understood/attempted the above problems, go to LMO to attempt the online questions (Questions 1-6).
25
Project 2
Please generate a row vector containing 150 random values from the uniform. distribution on the interval [-1, 1], and a column vector containing 80 random values from the same distribution. A 150-by-80 matrix could be thus obtained by the matrix multiplication product of the column and row vectors. Use the for loop and if structure to write a user-defined function PlotPost that plots the histogram of all positive values in the matrix with 100 bins.
After you have understood/attempted the above problems, go to LMO to attempt the online questions (Questions 7-11).
25
Project 3
Let random variable X has the standard normal distribution. Then the expectation of X3 (often called the third moment of X) is
Use numerical integration and Monte Carlo method to estimate this expectation.
After you have understood/attempted the above problems, go to LMO to attempt the online questions (Questions 12-16).
25
Project 4
The following ordinary differential equation (ODE) describes the movement of a market variable on the financial market during the time period [0, 5].
We would like to use the following MATLAB code to find both the exact solution and numerical solution of the ODE, and would also like to plot graphs to visualize the results. However, there are some bugs in the code below at the moment, and you are expected to debug the code to make it run correctly.
% MATLAB code
sol = dsolve('Dy=30exp(-4t)-20y','y(0)=10')
ezplot(sol,[0 5])
xlabel('t'), ylabel('y')
ylim([0 2]);
% numerical solution
figure;
[t y]=ode45('func',[0 5],10);
plot(t,y)
xlabel('t'), ylabel('y')
ylim([0 2]);
Hint: Apart from some syntax errors in the above code, it is apparent that a user-defined function ‘func’ is missing at present.
After you have understood/attempted the above problems, go to LMO to attempt the online questions (Questions 17-22).
25