r
  • finance
  • xts
  • 2012-10-17 60 views 1 likes 
    1

    下面是我的代碼,用於下載現貨價格並計算一組指數的已實現波動率。從波動性和現貨價格的多變量XTS中計算期權價格

    library(quantmod) 
    library(PerformanceAnalytics) 
    library(RQuantLib) 
    
    tickers.index = c("^RUT","^STOXX50E","^HSI") 
    myEnv <- new.env() 
    getSymbols(tickers.index, src='yahoo', from = "2004-03-26", to = "2012-10-10", env = myEnv, adjust=TRUE) 
    index <- do.call(merge, c(eapply(myEnv, Ad), all=TRUE)) 
    index <-na.locf(index) 
    
    #Calculate daily returns for all indices and convert to arithmetic returns 
    index.ret <- exp(CalculateReturns(index,method="compound")) - 1 
    index.ret[1,] <- 0 
    
    #Calculate realized vol for all the indices 
    index.realized <- xts(apply(index.ret,2,runSD,n=20), index(index.ret))*sqrt(252) 
    index.realized[1:19,] <- 1 
    

    我想什麼,現在要做的是計算一系列認沽的價格與功能EuropeanOption每一個指標,每天使用以下參數:

    • 相關資產價格 - 今天從接近指數XTS
    • 執行價格 - 從index.realized XTS昨天的實現體積
    • 所有其他PARAMET - 從指數XTS
    • 隱含卷昨日收盤Ers將只是常數

    我試圖實現這與各種嘗試使用應用等,但無法讓它的工作。我不必使用RQuantLib - 如果用其他函數來計算歐式期權的價格可以使這個更容易,我很好。將不勝感激任何幫助。

    謝謝。

    +0

    爲什麼使用PerformanceAnalytics?只是爲了計算回報?有沒有我們[通過這之前](http://stackoverflow.com/questions/12823445/faster-way-of-calculating-rolling-realized-volatility-in-r) – GSee

    +0

    是的是 - 只是沒有得到圍繞改變那一點呢。 – mchangun

    +0

    請顯示你試過的東西 – GSee

    回答

    1

    確定我得到它的工作

    puts.unwind <- mapply(EuropeanOption,"put",index,na.locf(lag(index,1),fromLast=TRUE),0,0,29/365‌​,index.realized) 
    puts.unwind <- xts(matrix(as.numeric(puts.unwind[1,]),nrow(index),ncol(index)),index(index)) 
    

    第一行計算puts和第二行僅抽出價格並重新格式化爲XTS。

    相關問題