Quantmod R, как выбрать ячейки с помощью Sys.date? - PullRequest
0 голосов
/ 05 июля 2018

Я делаю некоторые расчеты, основанные на QuantMod для некоторых акций.

Ниже я подготовил очень простой пример, отражающий то, что я хотел бы сделать, - это выбрать несколько ячеек на основе даты, например, вчера.

library(quantmod)
getSymbols("BAC", from="2018-06-18", src="yahoo")

В результате получаю следующее:

Quantmod Result Теперь я хотел бы сделать некоторые расчеты с объемом вчерашнего дня, поэтому мне интересно, может ли что-то подобное сработать:

# I would like to multiply yesterday's volume for 1.05.
Vol_k <- (BAC$BAC.Volume Sys.Date()-1) * 1.05

Как использовать sys.date, чтобы указать сегодня -1 и выбрать ячейку объема вчерашней даты?

Большое спасибо за любой комментарий.

V.

Ответы [ 2 ]

0 голосов
/ 06 июля 2018

Вы всегда можете получить последнее значение, обратившись к index.i.e.

xts.object[max(index(xts.object),column]

В вашем случае:

BAC[max(index(BAC)),"BAC.Volume"]
0 голосов
/ 05 июля 2018

Когда я вытащил эти данные, я не получил ничего за вчерашнее 4 июля (часовой пояс, который я предполагаю, или, может быть, из-за выходного дня в США?), Поэтому я сделал это 2 дня назад.

BAC[Sys.Date() - 2, "BAC.Volume"]

должно дать желаемый результат объема. Сделал небольшое исследование (https://s3.amazonaws.com/assets.datacamp.com/blog_assets/xts_Cheat_Sheet_R.pdf)

last(BAC, '1 day')$BAC.Volume

должен дать вам последний день, независимо от выходных / праздничных дней

...