Фондовая дробит производительность R - PullRequest
0 голосов
/ 02 декабря 2018

Мне нужно оценить производительность акций после разделения с помощью пакета Quantmod в R для NYSE, AMEX, NASDAQ.Моя проблема в том, что я могу искать только определенные символы (getSymbols ()), но мне нужно разделить свои данные на нерасщепляемые и разделяющие фирмы, чтобы сравнить их.У кого-нибудь есть идеи, как я могу сделать это за последние 25 лет?

Спасибо

1 Ответ

0 голосов
/ 02 декабря 2018

Поскольку вы используете пакет 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.Если у вас есть акции, которые используют символ «-», я рекомендую вам переименовать их перед использованием.Эта функция - не единственное место, где черта может вызвать проблемы.

...