Поскольку вы используете пакет quantmod
, вы можете использовать функцию getSplits (), чтобы определить, какое разделение акций имело место в течение определенного периода времени.Поскольку вы имеете дело с большим количеством акций, вы можете использовать пользовательскую функцию, чтобы получить то, что вы хотите.
getSymbolSplit <- function(symbol,xts,date) {
splitCheck <- getSplits(symbol,from = date)
if(anyNA(splitCheck, recursive = FALSE)){
xts$Split <- 0
} else {
xts$Split <- 1
}
return(xts)
}
Получив эту функцию, вы можете быстро добавить разбивку к существующим данным о запасах.,Пример:
getSymbols('GOOG')
GOOG <- getSymbolSplit('GOOG',GOOG,'1993-01-01')
Функция getSymbols () создает xts с именем GOOG, поэтому наша функция проверяет, не произошло ли разделения с 1993-01-01 (да), и добавляет столбец Split
со значением1.
getSymbols('REGN')
REGN <- getSymbolSplit('REGN',REGN,'1993-01-01')
Та же сделка, но у REGN не было разделений с 1993 года, а столбец имеет значение 0.
Теперь у вас есть четкая двоичная переменная для группировки между фирмами, которыеу вас был раскол в указанном вами периоде.
В качестве предупреждения я столкнулся с проблемой с BRK-A.R обычно не разрешает имена, которые включают '-', и функция прерывается при попытке передать xts с именем BRK-A.Если у вас есть акции, которые используют символ «-», я рекомендую вам переименовать их перед использованием.Эта функция - не единственное место, где черта может вызвать проблемы.