Gibt es eine Funktion/Paket, die Jahr Bruch (Unterschiede zwischen zwei Datumsangaben) mit anderen Tag-Konvention zählen, wie JahrFrac() in Matlab? Ich muss Actual/365 Konvention verwenden.Jahr Brüche mit Actual/365 Konvention in R
Antwort
rollYourOwn <- function(D, origin=as.Date("1970-01-01")) {
if (!inherits(D, "Date"))
D <- as.Date(D, origin=origin)
as.numeric(D - as.Date(format(D, "%Y-01-01"), origin=origin) + 1)/365
}
rollYourOwn("2014-01-01")
# [1] 0.00273973
rollYourOwn(Sys.Date())
# [1] 0.742466
rollYourOwn("2014-12-31")
# [1] 1
nur sicherstellen, dass Sie das Datum –
richtig Was formatiert ist das gewünschte Verhalten für Schaltjahre? Zum Beispiel ist 'rollYourOwn (" 2012-12-31 ")' größer als eins. Ist das richtig? –
@RichieCotton es hängt vom Markt ab. Dies ist eine Implementierung von Actual/365 Fixed. Actual/365 würde Schaltjahre anders behandeln. http://support.treasuryview.com/kb/treasury/day-count-convention ... edit: es gibt wahrscheinlich eine zuverlässigere Quelle da draußen, ich habe nur das erste Ding ausgewählt, das ich in Google gesehen habe – GSee
'Rquantlib' hat viele Tageszähler' Actual360', 'Actual365' .... – agstudy