allocate 0 1105

open data 'G:\Final Refined Data\Final\USCDSTRIAL.xlsx'
data(format=xlsx,org=obs) /

show series

set diffCDS = log(CDSONE/CDSONE{1})
set diffIJC = %if(log(AIJC/SIJC)==%NA,0,log(AIJC/SIJC))
set diffNFP = %if(log(ANFP/SNFP)==%NA,0,log(ANFP/SNFP))
set diffFOMC = (AFOMC-SFOMC)*100
set diffGDPQ = (AGDPQ-SGDPQ)*100
set diffCC = %if(log(ACC/SCC)==%NA,0,log(ACC/SCC))
set diffISMM = %if(log(AISMM/SISMM)==%NA,0,log(AISMM/SISMM))
set diffCPIM = (ACPIM-SCPIM)*100
set diffDG = (ADG-SDG)*100
set diffNHS = %if(log(ANHS/SNHS)==%NA,0,log(ANHS/SNHS))
set diffRS = (ARS-SRS)*100
set diffUN = (AUN-SUN)*100
set diffHS = %if(log(AHS/SHS)==%NA,0,log(AHS/SHS))
set diffEHS = %if(log(AEHS/SEHS)==%NA,0,log(AEHS/SEHS))
set diffIP = (AIP-SIP)*100
set diffPPI = (APPI-SPPI)*100
set diffTB = %if(log(ATB/STB)==%NA,0,log(ATB/STB))
set diffPI = (API-SPI)*100
set diffCAB = %if(log(ACAB/SCAB)==%NA,0,log(ACAB/SCAB))
set diffEM = %if(log(AEM/SEM)==%NA,0,log(AEM/SEM))
set diffIPI = AIPI-SIPI


set DOWJ = %if(log(DOW/DOW{1})==%NA,0,log(DOW/DOW{1}))
set NASD = %if(log(NAS/NAS{1})==%NA,0,log(NAS/NAS{1}))
set day = %if(log(LIBOR/LIBOR{1})==%NA,0,log(LIBOR/LIBOR{1}))
set BONDY = BOND-BOND{1}
set EUR = %if(log(EURUSD/EURUSD{1})==%NA,0,log(EURUSD/EURUSD{1}))
set JPY = %if(log(JPYUSD/JPYUSD{1})==%NA,0,log(JPYUSD/JPYUSD{1}))
set OUT = OUTLOOK-OUTLOOK{1}
set RAT = RATING-RATING{1}
set GO = %if(log(GOLD/GOLD{1})==%NA,0,log(GOLD/GOLD{1}))
set OI = %if(log(OIL/OIL{1})==%NA,0,log(OIL/OIL{1}))
set CO = %if(log(COMM/COMM{1})==%NA,0,log(COMM/COMM{1}))
set VIXC = %if(log(VIX/VIX{1})==%NA,0,log(VIX/VIX{1}))

***CDS***
stat diffCDS

***FOMC***
set posiFOMC = %if(diffFOMC>0.0,1,0)
stat(SMPL=posiFOMC) diffFOMC
compute mean = %mean
compute var = %variance
set sdFOMC = ((posiFOMC*diffFOMC))/(SQRT(%variance))
set absFOMC = abs(sdFOMC)

***IJC***
set posiIJC = %if(diffIJC<0.0,1,0)
stat(SMPL=posiIJC) diffIJC
compute mean = %mean
compute var = %variance
set sdIJC = ((posiIJC*diffIJC))/(SQRT(%variance))
set absIJC = abs(sdIJC)

***CC***
set posiCC = %if(diffCC>0.0,1,0)
stat(SMPL=posiCC) diffCC
compute mean = %mean
compute var = %variance
set sdCC = ((posiCC*diffCC))/(SQRT(%variance))
set absCC = abs(sdCC)

***ISMM***
set posiISMM = %if(diffISMM>0.0,1,0)
stat(SMPL=posiISMM) diffISMM
compute mean = %mean
compute var = %variance
set sdISMM = ((posiISMM*diffISMM))/(SQRT(%variance))
set absISMM = abs(sdISMM)

***DG***
set posiDG = %if(diffDG>0.0,1,0)
stat(SMPL=posiDG) diffDG
compute mean = %mean
compute var = %variance
set sdDG = ((posiDG*diffDG))/(SQRT(%variance))
set absDG = abs(sdDG)

***NHS***
set posiNHS = %if(diffNHS>0.0,1,0)
stat(SMPL=posiNHS) diffNHS
compute mean = %mean
compute var = %variance
set sdNHS = ((posiNHS*diffNHS))/(SQRT(%variance))
set absNHS = abs(sdNHS)

***EHS***
set posiEHS = %if(diffEHS>0.0,1,0)
stat(SMPL=posiEHS) diffEHS
compute mean = %mean
compute var = %variance
set sdEHS = ((posiEHS*diffEHS))/(SQRT(%variance))
set absEHS = abs(sdEHS)

***RS***
set posiRS = %if(diffRS>0.0,1,0)
stat(SMPL=posiRS) diffRS
compute mean = %mean
compute var = %variance
set sdRS = ((posiRS*diffRS))/(SQRT(%variance))
set absRS = abs(sdRS)

***CAB***
set posiCAB = %if(diffCAB<0.0,1,0)
stat(SMPL=posiCAB) diffCAB
compute mean = %mean
compute var = %variance
set sdCAB = ((posiCAB*diffCAB))/(SQRT(%variance))
set absCAB = abs(sdCAB)

***GDPQ***
set posiGDPQ = %if(diffGDPQ>0.0,1,0)
stat(SMPL=posiGDPQ) diffGDPQ
compute mean = %mean
compute var = %variance
set sdGDPQ = ((posiGDPQ*diffGDPQ))/(SQRT(%variance))
set absGDPQ = abs(sdGDPQ)

***CPIM***
set posiCPIM = %if(diffCPIM>0.0,1,0)
stat(SMPL=posiCPIM) diffCPIM
compute mean = %mean
compute var = %variance
set sdCPIM = ((posiCPIM*diffCPIM))/(SQRT(%variance))
set absCPIM = abs(sdCPIM)

***NFP***
set posiNFP = %if(diffNFP>0.0,1,0)
stat(SMPL=posiNFP) diffNFP
compute mean = %mean
compute var = %variance
set sdNFP = ((posiNFP*diffNFP))/(SQRT(%variance))
set absNFP = abs(sdNFP)

***PPI***
set posiPPI = %if(diffPPI>0.0,1,0)
stat(SMPL=posiPPI) diffPPI
compute mean = %mean
compute var = %variance
set sdPPI = ((posiPPI*diffPPI))/(SQRT(%variance))
set absPPI = abs(sdPPI)

***IP***
set posiIP = %if(diffIP>0.0,1,0)
stat(SMPL=posiIP) diffIP
compute mean = %mean
compute var = %variance
set sdIP = ((posiIP*diffIP))/(SQRT(%variance))
set absIP = abs(sdIP)

***IMPORT PRICE INDEX***
set posiIPI = %if(diffIPI<0.0,1,0)
stat(SMPL=posiIPI) diffIPI
compute mean = %mean
compute var = %variance
set sdIPI = ((posiIPI*diffIPI))/(SQRT(%variance))
set absIPI = abs(sdIPI)

***TB***
set posiTB = %if(diffTB>0.0,1,0)
stat(SMPL=posiTB) diffTB
compute mean = %mean
compute var = %variance
set sdTB = ((posiTB*diffTB))/(SQRT(%variance))
set absTB = abs(sdTB)

***UN***
set posiUN = %if(diffUN<0.0,1,0)
stat(SMPL=posiUN) diffUN
compute mean = %mean
compute var = %variance
set sdUN = ((posiUN*diffUN))/(SQRT(%variance))
set absUN = abs(sdUN)

***PI***
set posiPI = %if(diffPI>0.0,1,0)
stat(SMPL=posiPI) diffPI
compute mean = %mean
compute var = %variance
set sdPI = ((posiPI*diffPI))/(SQRT(%variance))
set absPI = abs(sdPI)

***EM***
set posiEM = %if(diffEM>0.0,1,0)
stat(SMPL=posiEM) diffEM
compute mean = %mean
compute var = %variance
set sdEM = ((posiEM*diffEM))/(SQRT(%variance))
set absEM = abs(sdEM)

***HS***
set posiHS = %if(diffHS>0.0,1,0)
stat(SMPL=posiHS) diffHS
compute mean = %mean
compute var = %variance
set sdHS = ((posiHS*diffHS))/(SQRT(%variance))
set absHS = abs(sdHS)

**print(window='News') / sdIJC sdNFP sdGDPQ sdCC sdISMM sdCPIM sdDG sdNHS sdRS sdUN sdHS sdEHS sdIP sdPPI sdTB sdPI sdCAB sdEM

***GARCH Estimation***
garch(p=1,q=1,iters=1000,exponential,asymmetric,regressors,xregressors,resids=u,hseries=h,piters=275) / diffCDS
# Constant DIFFCDS{1} sdIJC sdNFP sdGDPQ sdCC sdISMM sdCPIM sdDG sdNHS sdRS sdUN sdHS sdEHS sdIP sdPPI sdTB sdPI sdCAB sdEM DOWJ NASD day BONDY EUR JPY OUT RAT GO OI CO VIXC
# absIJC absNFP absGDPQ absCC absISMM absCPIM absDG absNHS absRS absUN absHS absEHS absIP absPPI absTB absPI absCAB absEM


set u2 = u**2
display 'White Noise Tests'
corr(noprint,qstat,number=20) u /
display 'First moment Q(20) = ' %cdstat 'p-value = ' #.########## %signif
corr(noprint,qstat,number=20) u2 /
display 'Second moment Q(20) = ' %cdstat 'p-value = ' #.########## %signif
display 'Joint Engel and Ng test'
  set dn = %if(u<0.0,1.0,0.0)
  set udn = u*dn
  set udp = u*(1-dn)
lin(noprint) u2 /
  # constant dn{1} udp{1} udn{1}
  test(noprint) 3
  # 2 3 4
  # 0 0 0
  cdf chisq %nobs*%rsquared 3


set zu = u/SQRT(h)
set zu2 = zu**2
display 'White Noise Tests'
corr(noprint,qstat,number=20) zu /
display 'First moment Q(20) = ' %cdstat 'p-value = ' #.########## %signif
corr(noprint,qstat,number=20) zu2 /
display 'Second moment Q(20) = ' %cdstat 'p-value = ' #.########## %signif
display 'Joint Engel and Ng test'
  set dn = %if(zu<0.0,1.0,0.0)
  set udn = zu*dn
  set udp = zu*(1-dn)
lin(noprint) zu2 /
  # constant dn{1} udp{1} udn{1}
  test(noprint) 3
  # 2 3 4
  # 0 0 0
  cdf chisq %nobs*%rsquared 3






















