Advertisement
Guest User

Untitled

a guest
Jan 17th, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.21 KB | None | 0 0
  1. #Full Montecarlo
  2. n<-100000
  3. S<- rep(100, n)
  4. K<- rep(101, n)
  5. sigma<- rep(0.3,n)
  6. r<- rep(0.1,n)
  7. T<-rep(1,n)
  8. alfa<-0.01
  9.  
  10. #Value the portfolio today V(S,t)
  11. d1<- (log(s/k)+(r+(1/2)*sigma^2)*T)/(sigma*sqrt(T))
  12. d2<- (d1-sigma*((T)^(1/2)))
  13. vcall<-(S*pnorm(d1)-exp(-r*T)*K*pnorm(d2))
  14. vput<- exp(-r*T)*K-S+vcall
  15. Vcartera<-vcall+0.5*vput
  16.  
  17. #Value the portfolio on delta t
  18. t<-rep(10/365,n)
  19. max<-0
  20. Vi<-0
  21. vcall1<-0
  22. vput1<-0
  23. Vcartera1<-0
  24. L<-0
  25.  
  26. #simulem els preus
  27. #Zi<- rnorm(n, mean=0, sd=1)
  28. deltaS<-rnorm(n, mean=0,sd=(S*sigma*sqrt(t)))
  29. #Sn<- S*exp((r-(1/2)sigma^2)(T-t) + sigma*(sqrt(T-t))*Zi)
  30. #tornem a calcular cada fita amb l'increment de t
  31. d1<- (log((S+deltaS)/k)+(r+(1/2)*sigma^2)*T)/(sigma*sqrt(T))
  32. d2<- d1-sigma*(sqrt(T))
  33. #calculem el valor de la call i de la put per l'increment de t
  34. vcall1<-(S+deltaS)*pnorm(d1)-exp(-r*(T-t))*K*pnorm(d2)
  35. vput1<- exp(-r*(T-t))*K-(S+deltaS)+vcall1
  36. #calculem el nou valor de la cartera
  37. Vcartera1<- (vcall1+0.5*vput1)
  38. L<- (Vcartera - Vcartera1)
  39.  
  40. #Ordenem de més petit a més gran
  41. ordena<- sort(L)
  42. #El VaR és la posició que correspon a n*(1-alfa)
  43. quantile(ordena, 0.99) #VaR
  44.  
  45. i<-99000
  46. suma<-0
  47. for(i in i:n)
  48. {
  49. suma<- ordena[c(i)] + suma
  50. }
  51. ESF<-suma/1000
  52. ESF
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement