Advertisement
Guest User

Untitled

a guest
Feb 20th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.34 KB | None | 0 0
  1. RInterface.RRun "..."
  2.  
  3. RInterface.RRun "y <- function(x) { ... }"
  4.  
  5. bestIV <- function(dT, IVTS.t, Spot, r) {
  6. b <- r
  7. xout <- seq(0, max(T), dT)
  8. sfm <- matrix(NA, nrow = length(K), ncol = length(xout))
  9. for(i in 1:length(K)) {
  10. sfm[i,] <- approx(x = T, y = IVTS.t[i,], xout = xout, rule = 2)$y
  11. }
  12. sfm[,1] <- sfm[,1] + sfm[,2] - sfm[,3]
  13. rownames(sfm) <- K
  14. colnames(sfm) <- xout
  15. Option <- matrix(NA, nrow = length(K), ncol = length(xout))
  16. for(i in 1:length(K)) {
  17. for(j in 1:length(xout)) {
  18. TypeFlag <- ifelse(K[i] < Spot, 'p', 'c')
  19. Option[i,j] <- GBSOption(TypeFlag = TypeFlag, S = Spot, X = K[i],
  20. Time = xout[j] / 365, r = r, b = b,
  21. sigma = sfm[i,j] / 100)@price
  22. }
  23. }
  24. rownames(Option) <- K
  25. colnames(Option) <- xout
  26. dP <- (cbind(0, -t(apply(X = Option, MARGIN = 1, FUN = diff))) / Option)[,-(1:2)]
  27. dV <- dP / dT
  28. min.V <- which(dV == min(dV), arr.ind = TRUE, useNames = TRUE)
  29. Strike <- as.numeric(dimnames(min.V)[1])
  30. Maturity <- as.numeric(unlist(dimnames(dV)[2]))[min.V[2]]
  31. Days <- dT
  32. Mat <- c(dV[which(dV == min(dV))], Strike, Maturity, Days)
  33. names(Mat) <- c('Value', 'Strike', 'Maturity', 'Days')
  34. return(Mat)
  35. }
  36.  
  37. "a" & "b"
  38.  
  39. y <- function(x, a, b){
  40. return(x)
  41. }
  42.  
  43. RInterface.RRun "y <- function(x, a, b) {" &
  44. "return(x)" &
  45. "}"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement