aboutsummaryrefslogtreecommitdiffstats
path: root/time_of_default.R
diff options
context:
space:
mode:
Diffstat (limited to 'time_of_default.R')
-rw-r--r--time_of_default.R99
1 files changed, 0 insertions, 99 deletions
diff --git a/time_of_default.R b/time_of_default.R
deleted file mode 100644
index 369621ab..00000000
--- a/time_of_default.R
+++ /dev/null
@@ -1,99 +0,0 @@
-spreads<-scan(file="clipboard")
-z1<-rnorm(100)
-
-rho<-0.4
-l<-c()
-for(i in 1:10000){
- z<-rho*z1+sqrt(1-rho^2)*rnorm(1)
- u<-pnorm(z)
- l<-c(l,sum(u))
-}
-
-l<-c()
-for(i in 1:10000){
- u<-runif(100)
- l<-c(l,sum(u)/100)
-}
-t<-seq(0,5,1/4)
-f<-function(lambda,t){
- 1-exp(-lambda*t)
-}
-A<-outer(spreads/(1-0.35),t,f)
-
-
-rho<-0.4
-L<-c()
-z1<-rnorm(100)
-for(i in 1:10000){
- z1<-rnorm(100)
- z<-sqrt(1-rho^2)*z1+rho*rnorm(1)
- u<-pnorm(z)
- L<-rbind(L,colSums(A>u)/100*(1-0.35))
-}
-
-cdf<-c()
-for(l in 0:100){
- cdf<-c(cdf,sum(L40[,21]<=l/100*(1-0.35))/100000)
-}
-
-
-d<-seq(-5,5,1)
-p<-abs(1/10*1/d)
-p[6]<-0.1
-pnormvec<-function(z,d){
- f<-function(d,z){
- pnorm(z-d)
- }
- outer(z,d,"f")
-}
-
-L<-c()
-Z<-matrix(rnorm(1000000),100,10000)
-pv1<-c()
-pv2<-c()
-pv3<-c()
-pv4<-c()
-for(i in 1:10000){
- z <- Z[,i]
- D <- sample(d,1,prob=p)
- ztilde <- z+D
- u <- pnormvec(z,d)%*%p
- L <- rbind(L,colSums(A>as.vector(u))/100*(1-0.35))
- pv1<-c(pv1,pl(t,L[i,],r,0,0.08)-0.05*cl(t,L[i,],r,0,0.08))
- pv2<-c(pv2,pl(t,L[i,],r,0.08,0.15)-0.05*cl(t,L[i,],r,0.08,0.15))
- pv3<-c(pv3,pl(t,L[i,],r,0.15,0.3)-0.05*cl(t,L[i,],r,0.15,0.3))
- pv4<-c(pv4,pl(t,L[i,],r,0.3,1)-0.05*cl(t,L[i,],r,0.3,1))
-}
-pv<-100-100*c(mean(pv1/0.08),mean(pv2/0.07),mean(pv3/0.15),mean(pv4/0.7))
-
-u<-c()
-vecD<-c()
-for(i in 1:1000000){
- D <- sample(d,1,prob=p)
- #z<-rnorm(1)
- #u <- c(u,pnormvec(z+D,d)%*%p)
- vecD<-c(vecD,D)
-}
-
-tranchesize<-function(L, l, u){
- if( u==1){
- u - l - pmin(L,u-l) -pmin( pmax(L-l,0), u-l)
- }else{
- u - l - pmin( 0, u - l) - pmin( pmax(L-l,0), u-l)
- }
-}
-
-protectionsize<-function(L, l, u){
- pmin( pmax(L-l,0), u-l)
-}
-
-cl<-function(t, L, r, l, u){
- dT <- diff(t)
- e <- tranchesize(L,l,u)
- e <- (e[-length(e)]+e[-1])/2
- return( sum(dT*exp(-r[-1]*t[-1])*e) )
-}
-pl<-function(t, L, r, l, u){
- result<-sum(exp(-r[-1]*t[-1])*diff(protectionsize(L,l,u)))
- return(result)
-}