quantmod 中是否有类似于 "periodReturn" 的函数来计算平差?
Is there a function similar to "periodReturn" in quantmod, that calculates plain differences?
我需要计算不同周期 (daily/weekly/monthly) 的时间序列差异(例如价格)。在 quantmod 中(例如 tidyquant 中的 tq_transmute 包装器)我可以对算术和对数 returns 做类似的事情(使用函数 "periodReturn")。这里的好处是我自动获得 daily/monthly/weekly 行。
是否有一个函数可以为纯粹的差异做类似的事情?
我试图搜索文档,但没有找到合适的功能。
获取差异可以通过使用 xts
库中的 endpoints
函数来完成。假设您使用 getSymbols
函数创建了一个 AAPL 对象:
getSymbols('AAPL',from='2019-01-01', to = '2019-05-31’)
每月差异:
monthlyDif <- AAPL$AAPL.Adjusted - lag(AAPL[endpoints(AAPL, on = 'months'),"AAPL.Adjusted"])
monthlyDif
AAPL.Adjusted
2019-01-31 NA
2019-02-28 7.392303
2019-03-29 16.735565
2019-04-30 10.678879
2019-05-30 -21.600189
请注意,通过结合使用 on
参数和 k
参数,您还可以获得从毫秒到年或倍数的差异,例如 2 周差异等。
即获得 2 周的差异:
twoWeeksDif <- AAPL$AAPL.Adjusted - lag(AAPL[endpoints(AAPL, on = 'weeks',k = 2),"AAPL.Adjusted"])
twoWeeksDif
AAPL.Adjusted
2019-01-04 NA
2019-01-18 8.490769
2019-02-01 9.621521
2019-02-15 4.593429
2019-03-01 4.532547
2019-03-15 11.107224
2019-03-29 3.815307
2019-04-12 8.885773
2019-04-26 5.409180
2019-05-10 -6.336273
2019-05-24 -18.209992
2019-05-30 -0.669998
我需要计算不同周期 (daily/weekly/monthly) 的时间序列差异(例如价格)。在 quantmod 中(例如 tidyquant 中的 tq_transmute 包装器)我可以对算术和对数 returns 做类似的事情(使用函数 "periodReturn")。这里的好处是我自动获得 daily/monthly/weekly 行。 是否有一个函数可以为纯粹的差异做类似的事情?
我试图搜索文档,但没有找到合适的功能。
获取差异可以通过使用 xts
库中的 endpoints
函数来完成。假设您使用 getSymbols
函数创建了一个 AAPL 对象:
getSymbols('AAPL',from='2019-01-01', to = '2019-05-31’)
每月差异:
monthlyDif <- AAPL$AAPL.Adjusted - lag(AAPL[endpoints(AAPL, on = 'months'),"AAPL.Adjusted"])
monthlyDif
AAPL.Adjusted
2019-01-31 NA
2019-02-28 7.392303
2019-03-29 16.735565
2019-04-30 10.678879
2019-05-30 -21.600189
请注意,通过结合使用 on
参数和 k
参数,您还可以获得从毫秒到年或倍数的差异,例如 2 周差异等。
即获得 2 周的差异:
twoWeeksDif <- AAPL$AAPL.Adjusted - lag(AAPL[endpoints(AAPL, on = 'weeks',k = 2),"AAPL.Adjusted"])
twoWeeksDif
AAPL.Adjusted
2019-01-04 NA
2019-01-18 8.490769
2019-02-01 9.621521
2019-02-15 4.593429
2019-03-01 4.532547
2019-03-15 11.107224
2019-03-29 3.815307
2019-04-12 8.885773
2019-04-26 5.409180
2019-05-10 -6.336273
2019-05-24 -18.209992
2019-05-30 -0.669998