Mam miesięczne dane o częstotliwości, które staram się podzielić na dane o częstotliwości dziennej. Więc używam td
polecenia z tempdisagg
pakietu w R, używając poniższego kodu:
dat=ts(data[,2])
result=td(dat~1, conversion = "average", to = "day", method = "chow-lin-maxlog")
Następnie pojawia się następujący komunikat o błędzie:
Error in td(dat ~ 1, conversion = "average", to = "day", method = "chow-lin-maxlog") : 'to' argument: unknown character string
Dane, których używam, dat
są następujące:
> dput(head(dat))
c(82.47703009, 84.63094431, 70.00659987, 78.81135651, 74.749746,82.95638213)
Więc chociaż dane te dat
są z częstotliwością miesięczną, początek i koniec jeszcze tego nie odzwierciedlają. W rzeczywistości data początkowa to 1/1997, a data końcowa to 9/2019.
Czy mogę uzyskać pomoc w podziale tych miesięcznych danych dat
na dzienne dane dotyczące częstotliwości?
dput(head(x))
Lubdata.frame(...)
) bezpośrednio. Dzięki!dput(ts(head(1:50)))
, to rozumiemstructure(1:6, .Tsp = c(1, 6, 1), class = "ts")
. Twój obraz sugeruje, żedat
jest to szereg czasowy, alec(...)
nie. Czy te dwiedat
rzeczy są takie same?tempdisagg.pdf
, nie mogę"daily"
nigdzie znaleźć , ito=
mówi, że obsługuje „docelową częstotliwość o wysokiej częstotliwości jako ciąg znaków („ kwartalny ”lub„ miesięczny ”) lub jako skalar (np. 2, 4, 7, 12)” . Gdzie sugeruje się, żeto="daily"
jest obsługiwany? Można spróbowaćto=1
? (Naprawdę nie mogę nic na toOdpowiedzi:
Wygląda na to, że pakiet tempdisagg nie pozwala na codzienną dezagregację. Z
td()
argumentu „do” pliku pomocy:Twój komunikat o błędzie „” na „argument: ciąg znaków nieznany” jest spowodowany tym, że
to =
argument przyjmuje tylko ciąg „ kwartalny” lub „miesięczny”.Trwa dyskusja na temat dezagregacji danych miesięcznych do dziennych na stosie statystyk: /stats/258810/disaggregate-monthly-forecasts-into-daily-data
Po kilku poszukiwaniach wygląda na to, że nikt nie korzysta konsekwentnie z dezagregowanych danych miesięcznych do dziennych. The
tempdisagg
Pakiet wydaje się być zdolna do tego, co większość innych znalazły się możliwe - corocznie na kwartał lub co miesiąc, a okresy, które są zgodne nawet wielokrotności.Eric, dodałem poniżej skrypt, który powinien ilustrować to, co próbujesz zrobić, tak jak rozumiem.
Tutaj wykorzystujemy rzeczywiste dane cenowe, aby przejść od cen dziennych -> cen miesięcznych -> miesięcznych zwrotów -> średnich dziennych zwrotów.
Oto trzy wykresy pokazujące 1. tylko miesięczne zwroty, 2. średnią dzienną z miesięcznych zwrotów, 3. oba razem. Ponieważ są one identyczne, nadpisywanie na trzecim obrazie pokazuje tylko jeden.
źródło
quantmod::monthlyReturn
lubPerformanceAnalytics::Return.calculate
uzyskać (miesięczne) zwroty. Stamtąd, jeśli chcesz zakładać codzienne zwroty, możesz użyć powyższej (komentarz) metody.