联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codinghelp2

您当前位置:首页 >> Algorithm 算法作业Algorithm 算法作业

日期:2019-11-01 11:27

PS 2 EF 5070: Financial Econometrics

EF 5070: Financial Econometrics

Problem Set 2

Due 5:00 pm, Nov 1st, 2019

Notes

1. Due Friday, 5:00pm, Nov 1st.

2. Han Zhang, the TA of this course, will collect problem sets in her office, (AC3) 9-233,

on Friday Oct 11th from 3:30 pm-5:00 pm.

3. If you cannot hand in your problem set in person, please scan and send your problem set to

the TA at hzhang368@cityu.edu.hk before the deadline.

4. Hand in your problem set together with the i) R codes that you used to generate the results,

ii) the associated R log file, and iii) your written solution.

5. Each student needs to write his/her own solutions, even though discussions of the assignments

between students are encouraged.

6. If not specifically specified, use 5% significance level (the associated critical value is 1.96 for

standard normal distribution) to draw conclusions in this problem set.

7. Some useful R strategies:

(1) For LB test, first using the R command

tsdiag(model)

to examine whether there are any serial dependency in residuals.

(2) For LB test, now use another R build-in command,

Box.test(model$residuals,lag=12,type=’Ljung’)

Compare the reported p-value with 5% significance level.

(3) To fit the data with an AR model, consider the build-in R code

m=ar(data,method="mle")

m_order=m$order

m_aic=m$aic

m_1=arima(data,order=c(m_order,0,0))

m_1

Page 1

PS 2 EF 5070: Financial Econometrics

par(mfrow=c(2,1))

plot(data,xlab=’Time’,ylab=’Returns’)

plot(m_aic)

(4) To plot the ACF and PACF of a series, consider the build-in command

data_acf<-acf(data)

data_pacf<-pacf(data)

(5) To fit the data with an MA model, consider the build-in R code

m_1=arima(data,order=c(0,0,m_order))

(6) To perform forecast and construct the 95% confidence interval, consider the following command

R codes:

pred<-predict(m_1,n.ahead=8)

lines(pred$pred,col="blue", lwd=5)

lines(pred$pred+2*pred$se,col="red",lty=3, lwd=5)

lines(pred$pred-2*pred$se,col="red",lty=3, lwd=5)

(7) Plot several graphs, say m × n, in one page with the same scale and arrange them into m

rows and n columns.

par(mfcol=c(m,n))

plot(...)

plot(...)

Page 2

PS 2 EF 5070: Financial Econometrics

(8) To detect a unit root process in the series, consider the following R code (the value of m in

the option k=m can be any reasonable positive integer):

library("tseries")

adf.test(data, k=10)

1. Suppose that simple return of a monthly bond index follows an MA(2) model,

Rt = 0.1 + νt ? 0.8νt?1 + 0.1νt?2, (1)

where νt ~ N(0, 4).

(a) What is the mean of the simple return of this monthly bond?

(b) What is the variance of the simple return of this monthly bond?

(c) Consider the forecast origin h = 100 with ν100 = 0.2, ν99 = ?0.1 and ν98 = 1.

Compute the 1-step-ahead forecast of the simple return at the forecast origin h = 100

and the variance of your forecast error.

(d) Based on part (c), compute the 2-step-ahead forecast of the simple return at the

forecast origin h = 100 and the variance of your forecast error.

(e) Based on part (c), how long do you expect the forecast value converge to its mean

level? Explain it briefly.

2. Suppose the simple daily log return of a stock follows the dynamics,

rt = ?0.3 + 0.1rt?3 + t

, (2)

where t ~ N(0, 2).

(a) What is the mean of the simple daily log return of this stock?

(b) What is the variance of the simple daily log return of this stock?

(c) Based on Part (a) and (b), is the stock simple log return stationary (with E(rt) =

μ < ∞ and var(Xt) = δ

2 < ∞)?

(d) Consider the forecast origin h = 100 with r100 = 0.5, r99 = 0.5, r98 = ?1 and

r97 = ?0.2. Compute the 1-step-ahead forecast (hint: rh(1) = E(rh+1|Ih))of the

simple return at the forecast origin h = 100 and the variance of your forecast error.

Page 3

PS 2 EF 5070: Financial Econometrics

(e) Based on part (d), compute the 2-step-ahead forecast (hint: ?rh(2) = E(rh+2|Ih)) of

the simple return at the forecast origin h = 100 and the variance of your forecast

error.

(f) Based on part (d), compute the 3-step-ahead forecast (hint: ?rh(3) = E(rh+3|Ih)) of

the simple return at the forecast origin h = 100 and the variance of your forecast

error.

3. Consider the simple log returns of Starbucks stock from 2009 Jan 1st to 2019 Oct 1st.

(a) Download the according data using the quantmod command in R.

(b) Report summary statistics, including sample mean, sample variance, skewness, kurtosis,

minimum and maximum of the raw data.

(c) Build an AR model for the series and decide the best order p using AIC and PACF,

respectively.

(d) Estimate your proposed AR(p) model and provide forecasts from Oct to Oct 17th and

compare your forecast with the actual stock returns during that period.

(e) Build an MA model for the series and decide the best order q using ACF. Briefly

explain why we can choose the best order using ACF?

(f) Estimate your proposed MA(q) model and provide forecast from Oct to Oct 17th and

compare your forecast with the actual stock returns during that period.

(g) Is your AR(p) or MA(q) model adequate? Perform Ljung-Box test separately.

4. Consider the daily VIX index. VIX, calculated and published by the Chicago Board Options

Exchange (CBOE), is widely used as a measure for market level uncertainty.

(a) Please download the daily VIX index from January 1, 2009 to Oct 1, 2018 using the

quantmod command in R.

hint

#To use a specific column of your dataset, say the 6th column in

this question, and transform it into numeric format, consider

the following command:

vix<-as.numeric(VIX[,6])

(b) Plot the daily VIX index, the distribution of VIX index and its ACF in one page.

(c) Is the series a nonstationary process? Why? (Consider the ADF test)

Page 4

PS 2 EF 5070: Financial Econometrics

(d) Is the differenced series a stationary process? Why? (Consider the ADF test)

(e) Build a ARMA model for the differenced VIX index, including your analysis on model

adequacy.

Now, we introduce another way to identify the best order for a ARIMA model by

using a build-in command in R:

auto.arima(vix)

(f) Write down the fitted model.

(g) Obtain 1-step to 20-step ahead forecast of the VIX index based on your model in part

(c) at the forecast origin May 01, 2019. Plot your forecasting result and compare with

the true data.

Page 5


版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp