/*1.数据导入*/
foreach x of varlist*{
local vlabel= `x'[1]
label variable `x'"`vlabel'"
}
drop in 1/1
**删除空缺值
*splitd date,prase(/)
egen mis=rowmiss(_all)
drop if mis
drop mis
gen year = real(substr(time,6,9))
gen date=date(time,"DMY")
format %tdCCYY-NN-DD date
gen month=mofd(date)
format month %tmCY-N
drop time
label variable year "年度"
label variable month "月度"
label variable date "时间"
order date, first
destring, replace
tsset date
gen count = _n
tsset count
**生成股票市场与外汇市场对数收益率序列
local all_v " sz hs neer "
foreach x of local all_v {
gen ln_`x' = ln(`x')
gen dln_`x'=d.ln_`x'
gen rln_`x'=100*dln_`x'
}
*format all_v %12.4f
*format sz hs neer ln_sz dln_sz ln_hs dln_hs ln_neer dln_neer %12.2f
*drop in 1/1
**计算Jarque-Bera统计量
jb6 sz
jb6 hs
jb6 neer
jb6 rln_sz
jb6 rln_hs
jb6 rln_neer
*JB检验统计量=[s²+(k-3)²/4]n/6~χ²(2),其中s为偏度,k为峰度,n为样本量。
/*egen k=kurt(hs)
egen s=skew(hs)
gen jb= (s^2+(k-3)^2/4)*_N/6
di jb
g pjb=chi2tail(2, (jb))
disp pjb
*/
** 单位根检验
dfuller sz,trend regress
dfuller ln_sz,trend regress
dfuller hs,trend regress
dfuller ln_hs,trend regress
dfuller neer,trend regress
dfuller ln_neer,trend regress
** 收益率序列
dfuller rln_sz,trend regress
dfuller rln_sz,regress
dfuller rln_sz,noconstant regress
dfuller rln_hs,trend regress
dfuller rln_hs,regress
dfuller rln_hs,noconstant regress
dfuller rln_neer,trend regress
dfuller rln_neer,regress
dfuller rln_neer,noconstant regress
/*4.实证检验*/
**4.1 收益率间的相关系数
**计算相关系数,pwcorr_a可以显示显著性*
pwcorr ln_sz ln_hs ln_neer
pwcorr_a ln_sz ln_hs ln_neer , star1(0.01) star5(0.05) star10(0.1)
pwcorr_a rln_sz rln_hs rln_neer
**4.2 Granger 因果关系检验
**4.2.1 gcause检验
**汇率与上证指数
gcause rln_sz rln_neer, lags(1)
gcause rln_sz rln_neer, lags(2)
gcause rln_sz rln_neer, lags(3)
estat ic
gcause rln_neer rln_sz, lags(1)
gcause rln_neer rln_sz, lags(2)
gcause rln_neer rln_sz, lags(3)
estat ic
**汇率与恒生指数
gcause rln_neer rln_hs, lags(1)
gcause rln_neer rln_hs, lags(2)
gcause rln_neer rln_hs, lags(3)
gcause rln_hs rln_neer, lags(1)
gcause rln_hs rln_neer, lags(2)
gcause rln_neer rln_hs, lags(3)
estat ic
**上证指数与恒生指数
gcause rln_sz rln_hs, lags(1)
gcause rln_sz rln_hs, lags(2)
gcause rln_hs rln_sz, lags(1)
gcause rln_hs rln_sz, lags(2)
estat ic
**6.DCC_GARCH模型分析
arch y,arima(p,d,q) arch(p) garch(q)
arch d.FXrate, arch(1/1) garch(1/1) arima(3,1,3)
mgarch dcc (rln_neer rln_sz), arch(1) garch(1)
mgarch dcc (rln_neer rln_sz rln_hs), arch(1) garch(1)
predict dcc*,correlation
line dcc_rln_sz_rln_neer dcc_rln_hs_rln_neer date
line dcc_rln_hs_rln_neer date
line dcc_rln_hs_rln_sz date
logout, save(mytable) word replace: mgarch dcc (rln_neer rln_sz rln_hs), arch(1) garch(1)
outreg2 using dcc系数.xls,replace sum(detail)keep(dcc_rln_sz_rln_neer dcc_rln_hs_rln_neer date dcc_rln_hs_rln_sz) eqkeep(mean p50 max min sd skewness kurtosis)title(Decriptive statistics)