source("gmm.r")
library(r2lh)
library(xtable)
## Execution

## mes données
rf <- data.matrix(read.table("usgg.csv",
                             header=T, sep=";",na.strings = "#NA"))[(1:50)*30,2]/100
sink("GMM-dates.txt")
as.vector(read.table("usgg.csv",
                             header=T, sep=";",na.strings = "#NA")[c(1,1500),1])
sink()

pdf("serieGMM.pdf")
ts.plot(rf)
dev.off()

sink("summaryDonneesGMM.txt",append=FALSE,split=FALSE)
summary(rf)
sink()

## donnees ckls
rf2 <- scan("ckls.csv")/100

ModeleCKLS <- list(donnees=rf,nomModele="CKLS",
                   deltaTemps=1/12, Iterations=2, q=12)
ModeleVASICEK <- list(donnees=rf,nomModele="Vasicek",
                      deltaTemps=1/12, Iterations=2, q=12)
ModeleCIR <- list(donnees=rf,nomModele="CIR",
                  deltaTemps=1/12, Iterations=2, q=12)
nomsParam <- c("a","b","sigma","gamma")
nomsParam2 <- c("a","b","sigma")
m1 <- MMGestimation(ModeleCKLS)
m2 <- MMGestimation(ModeleVASICEK)
m3 <- MMGestimation(ModeleCIR)

par1 <- cbind(m1$param,m1$Tstat,m1$Tpvalue)
par2 <- cbind(m2$param,m2$Tstat,m2$Tpvalue)[-4,]
par3 <- cbind(m3$param,m3$Tstat,m3$Tpvalue)[-4,]

cov1 <- m1$Varparam
cov2 <- m2$Varparam
cov3 <- m3$Varparam


sink("MMGestimation.tex")

xtable(matrix(par1,nrow=4,ncol=3,
              dimnames=list(nomsParam,c("Est. param.","T-Stat","p-value"))),
       caption="Modèle CKLS estimé avec GMM",digits=5)

xtable(matrix(par2,nrow=3,ncol=3,
              dimnames=list(nomsParam2,c("Est. param.","T-Stat","p-value"))),
       caption="Modèle Vasicek estimé avec GMM",digits=5)
       
xtable(matrix(par3,nrow=3,ncol=3,
              dimnames=list(nomsParam2,c("Est. param.","T-Stat","p-value"))),
       caption="Modèle CIR estimé avec GMM",digits=5)

xtable(matrix(cov1,nrow=4,ncol=4,
              dimnames=list(nomsParam,nomsParam)),
       caption="Matrice de Var-Cov des par. pour modèle CKLS avec GMM",digits=5) 
xtable(matrix(cov2,nrow=3,ncol=3,
              dimnames=list(nomsParam2,nomsParam2)),
       caption="Matrice de Var-Cov des par. pour modèle Vasicek avec GMM",digits=5) 
xtable(matrix(cov3,nrow=3,ncol=3,
              dimnames=list(nomsParam2,nomsParam2)),
       caption="Matrice de Var-Cov des par. pour modèle CIR avec GMM",digits=5)

sink()



