R

在 R 中使用 termstrc 包

  • January 1, 2013

我正在嘗試使用 R 中 termtrc 包中的函式 estim_nss 從美聯儲發布的恆定到期利率中找到即期曲線。我使用這個軟體包是因為我將來需要處理浮動利率息票債券。該函式需要一個“couponbonds”類的對象,但我不知道如何創建這個類。我嘗試使用類似數據創建一個列表對象,但該函式拒絕該對象並顯示以下消息:

UseMethod(“estim_nss”)中的錯誤:沒有適用於“estim_nss”的方法應用於“list”類的對象

任何援助將不勝感激。

結果比我想像的要簡單。首先,請務必在建構列表時將“STARTDATE”替換為“ISSUEDATE”。建構列表後,只需使用以下命令對其進行重新分類:

類(mybonds)=“couponbonds”

就是這樣!

您可以使用參考手冊第 31 頁和第 32 頁中描述的程序創建數據。必要的程式碼複製如下:

# The following code may be used to generate an empty data set,
# which can then be filled with bond data:
ISIN <- vector()
MATURITYDATE <- vector()
STARTDATE <- vector()
COUPONRATE <- vector()
PRICE <- vector()
ACCRUED <- vector()
CFISIN <- vector()
CF <- vector()
DATE <- vector()
CASHFLOWS <- list(CFISIN,CF,DATE)
names(CASHFLOWS) <- c("ISIN","CF","DATE")
TODAY <- vector()

mycountry1 <- list(ISIN,MATURITYDATE,STARTDATE,
                  COUPONRATE,PRICE,ACCRUED,CASHFLOWS,TODAY)
mycountry2 <- list(ISIN,MATURITYDATE,STARTDATE,
                  COUPONRATE,PRICE,ACCRUED,CASHFLOWS,TODAY)
names(mycountry1) <- c("ISIN","MATURITYDATE","STARTDATE","COUPONRATE",
                      "PRICE","ACCRUED","CASHFLOWS","TODAY")
names(mycountry2) <- c("ISIN","MATURITYDATE","STARTDATE","COUPONRATE",
                      "PRICE","ACCRUED","CASHFLOWS","TODAY")
mybonds <- list(mycountry1,mycountry2)
names(mybonds) <- c("mycountry1","mycountry2")

最後設置剛剛創建的對象的類:

class(mybonds)="couponbonds"

引用自:https://quant.stackexchange.com/questions/4808