Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ASIGNATURA:
TEORIA DEL RIESGO
PROFESOR:
DAVID JOSAFAT SANTANA COBIAN
ALUMNO:
SANTIAGO DE JESUS CORTAZA CORTAZAR
Fraya<- function(x){1-pgeom(x,3/4)}
f<-function(x){dgeom(x,3/4)}
Psi_t<- matrix(0,u+t-1,t)
aux<-u+t-1
for(alpha in 1:aux){
Psi_t[alpha,1]<- Fraya(alpha)
}
for(j in 2:(t-1)){
aux<-u+t-j
for(i in 1:aux){
auxPsi<-Psi_t[1:(i+1),j-1]
auxf<- f(i:0)
Psi_t[i,j]<-Fraya(i)+ sum(auxPsi*auxf)
}
}
auxPsi<-Psi_t[1:(u+1),t-1]
auxf<- f(u:0)
Psi_t[u,t]<- Fraya(u)+sum(auxPsi*auxf)
Psi_t[u,t]
## [1] 8.174603e-10
Primero tenemos que el capital inicial u=18 y un horizonte t=20. Ahora, suponiendo que la distribución
de Y es geométrica con p=3/4, tenemos entonces que el valor de la función “Fraya” (el cual es el
complemento de Y evaluada en x) está dada por la función de distribución acumulativa y para el valor de
la “f” calculamos las funciones de probabilidad.
La variable “Psi_t” crea una matriz de ceros que se usa para guardar los cálculos de probabilidades de
ruina en un horizonte y monto inicial dados que se hagan en las fases, teniendo esta 37 filas y 20 columnas.
Seguido, se guarda en la variable “aux” el valor del numero de filas de la matriz y en el primer ciclo “for”
se rellena la primera columna con los valores asociados a la probabilidad de ruina con horizonte 1 para
distintos valores de u con la función “Fraya”. En el segundo ciclo “for” se programa el mismo proceso para
los horizontes 2,3,4,…,36 a través de una formula recursiva que usa los valores de la columna anterior a
la que se va a rellenar.
Finalmente, se calcula el valor para u=18 y t=20, por lo que se obtiene el valor llamado a la entrada [u,t]
de la matriz “Psi_t” el cual es 8.174603e-10.
2. Realizar las actividades del video 40/64.
#Video 40
#Probabilidad de ruina con horizonte finito
u <- 18
t <- 4
N <- 4
plot(0:N,0:N/4,type='s')
## [1] 0
u <- 18
t <- 4
N <- 4
m <- 500000 #numero de simulaciones
Ruinas <- 0
for (i in 1:m) {
Y <- sample(1:4,4,replace = T)
U <- u
for (i in 1:t) {
U[i+1] <- U[i]+1-Y[i]
## [1] 0
3. Replicar el código del video 41/64. Pasarlo a un PDF junto con los resultados obtenidos.
#Video 41
u <- 7
t <- 3
Psi_t<- matrix(0,u+t-1,t)
aux<-u+t-1
for(alpha in 1:aux){
Psi_t[alpha,1]<- Fraya(alpha)
}
for(j in 2:(t-1)){
aux<-u+t-j
for(i in 1:aux){
auxPsi<-Psi_t[1:(i+1),j-1]
auxf<- f(i:0)
Psi_t[i,j]<-Fraya(i)+ sum(auxPsi*auxf)
}
}
auxPsi<-Psi_t[1:(u+1),t-1]
auxf<- f(u:0)
Psi_t[u,t]<- Fraya(u)+sum(auxPsi*auxf)
Psi_t[u,t]
## [1] 1.605835e-05
## [1] 8e-06
#Ejemplo
#Y=0,1,2,3,7,10,20
#P(Y=0)=0.5
#P(Y=1)=0.2
#P(Y=2)=0.1
#P(Y=3)=0.07
#P(Y=7)=0.07
#P(Y=10)=0.03
#P(Y=20)=0.03
f <- function(x){0.5*(x==0)+0.2*(x==1)+0.1*(x==2)+0.07*(x==3)+0.07*(x==7)+0.03*(x==
10)+0.03*(x==20)}
Fdist <- function(x){
if(x<0){Res<-0}else{
Res<-0
for (i in 0:floor(x)) {
Res <- Res+f(i)
}
}
Res
}
Psi_t<- matrix(0,u+t-1,t)
aux<-u+t-1
for(alpha in 1:aux){
Psi_t[alpha,1]<- Fraya(alpha)
}
for(j in 2:(t-1)){
aux<-u+t-j
for(i in 1:aux){
auxPsi<-Psi_t[1:(i+1),j-1]
auxf<- f(i:0)
Psi_t[i,j]<-Fraya(i)+ sum(auxPsi*auxf)
}
}
auxPsi<-Psi_t[1:(u+1),t-1]
auxf<- f(u:0)
Psi_t[u,t]<- Fraya(u)+sum(auxPsi*auxf)
Psi_t[u,t]
## [1] 0.7522665
Ruinas<-Ruinas+1*(sum(U<=0)>0)
Aproximacion<-Ruinas/m
Aproximacion
## [1] 0.75216
## [1] 2
4. Replicar el código del video 44/64. Pasarlo a un PDF junto con los resultados obtenidos.
u<-7
p<-3/4
Fraya<-function(x){1-pgeom(x,p)}
psi0<-(1-p)/p
Psi<-numeric(u)
aux<-1-Fraya(0)
Psi[1]<-(psi0-Fraya(0))/aux
for (i in 2:u) {
a<-i-1
Psi[i]<-(psi0+sum(Psi[1:a]*Fraya(a:1))-sum(Fraya(0:a)))/aux
}
Psi
Psiexacta<-function(u){((1-p)/p)^(u+1)}
Psiexacta(7)
Psiexacta(6)
5. Replicar el código del video 45/64. Pasarlo a un PDF junto con los resultados obtenidos.
Con m=100
u<-7
p<-0.52
Fraya<-function(x){1-pgeom(x,p)}
mu<-(1-p)/p
psi0<-mu
Psi<-numeric(u)
aux<-1-Fraya(0)
Psi[1]<-(psi0-Fraya(0))/aux
for (i in 2:u) {
a<-i-1
Psi[i]<-(psi0+sum(Psi[1:a]*Fraya(a:1))-sum(Fraya(0:a)))/aux
Psi
Psiexacta<-function(u){((1-p)/p)^(u+1)}
EXACTO<-Psiexacta(u)
m<-100
cerosyunos<-numeric(m)
for (i in 1:m) {
K<-rgeom(1,1-mu)
if(K==0){sumacompuesta<-0}else{
sumacompuesta<-sum(rgeom(K,p))
cerosyunos[i]<-1*(sumacompuesta>=u)
AproxiPsi<-mean(cerosyunos)
AproxiPsi
abs(AproxiPsi-EXACTO)
Con m=1000
u<-7
p<-0.52
Fraya<-function(x){1-pgeom(x,p)}
mu<-(1-p)/p
psi0<-mu
Psi<-numeric(u)
aux<-1-Fraya(0)
Psi[1]<-(psi0-Fraya(0))/aux
for (i in 2:u) {
a<-i-1
Psi[i]<-(psi0+sum(Psi[1:a]*Fraya(a:1))-sum(Fraya(0:a)))/aux
Psi
Psiexacta<-function(u){((1-p)/p)^(u+1)}
EXACTO<-Psiexacta(u)
m<-1000
cerosyunos<-numeric(m)
for (i in 1:m) {
K<-rgeom(1,1-mu)
if(K==0){sumacompuesta<-0}else{
sumacompuesta<-sum(rgeom(K,p))
cerosyunos[i]<-1*(sumacompuesta>=u)
AproxiPsi<-mean(cerosyunos)
AproxiPsi
abs(AproxiPsi-EXACTO)
Con m=10000
p<-0.52
Fraya<-function(x){1-pgeom(x,p)}
mu<-(1-p)/p
psi0<-mu
Psi<-numeric(u)
aux<-1-Fraya(0)
Psi[1]<-(psi0-Fraya(0))/aux
for (i in 2:u) {
a<-i-1
Psi[i]<-(psi0+sum(Psi[1:a]*Fraya(a:1))-sum(Fraya(0:a)))/aux
Psi
Psiexacta<-function(u){((1-p)/p)^(u+1)}
EXACTO<-Psiexacta(u)
m<-10000
cerosyunos<-numeric(m)
for (i in 1:m) {
K<-rgeom(1,1-mu)
if(K==0){sumacompuesta<-0}else{
sumacompuesta<-sum(rgeom(K,p))
}
cerosyunos[i]<-1*(sumacompuesta>=u)
AproxiPsi<-mean(cerosyunos)
AproxiPsi
abs(AproxiPsi-EXACTO)
Con m=100000
u<-7
p<-0.52
Fraya<-function(x){1-pgeom(x,p)}
mu<-(1-p)/p
psi0<-mu
Psi<-numeric(u)
aux<-1-Fraya(0)
Psi[1]<-(psi0-Fraya(0))/aux
for (i in 2:u) {
a<-i-1
Psi[i]<-(psi0+sum(Psi[1:a]*Fraya(a:1))-sum(Fraya(0:a)))/aux
Psi
Psiexacta<-function(u){((1-p)/p)^(u+1)}
EXACTO<-Psiexacta(u)
m<-100000
cerosyunos<-numeric(m)
for (i in 1:m) {
K<-rgeom(1,1-mu)
if(K==0){sumacompuesta<-0}else{
sumacompuesta<-sum(rgeom(K,p))
cerosyunos[i]<-1*(sumacompuesta>=u)
AproxiPsi<-mean(cerosyunos)
AproxiPsi
abs(AproxiPsi-EXACTO)
6. Sobre el video 57/64, calcular la Var(U(t)) y la función generadora de momentos de U(t).
𝑈(𝑡) = 𝑢 + 𝑐𝑡 − ∑ 𝑌𝑗
𝑗=1
a) Varianza
𝑁(𝑡)
= 𝐸 (𝐸 ((∑ 𝑌𝑗)2 𝑁(𝑡)))) − 𝜇2𝐸2(𝑁(𝑡))
𝑗= 1
∞ 𝑘
=∑ 𝐸((∑ 𝑌𝑗)2 𝑁(𝑡) = 𝑘) 𝑃(𝑁(𝑡) = 𝑘) − 𝜇2 𝐸2(𝑁(𝑡))
𝑘=0 𝑗=0
∞ 𝑘
=∑ ((∑ 𝐸(𝑌2) + ∑ 𝐸(𝑌 𝑌 ))𝑃(𝑁(𝑡) = 𝑘) − 𝜇2 𝐸2 (𝑁(𝑡))
𝑗 𝑗 𝑖
𝑘=0 𝑗=1 𝑖≠𝑖
Por lo tanto,
= 𝑒𝑟(𝑢+𝑐𝑡)𝑀𝑠(𝑡)(−𝑟)