Настройка аргументов по умолчанию для getSymbols()

Импорт и управление финансовыми данными в R

Joshua Ulrich

Quantitative Analyst & quantmod Co-Author and Maintainer

«Методы» getSymbols()

  • getSymbols() не содержит кода для импорта данных
  • Код для каждого источника данных находится в «методе» getSymbols.[source]
  • Например:
# You call getSymbols()
getSymbols("GDP", src = "FRED")

# getSymbols() calls source "method"
getSymbols.FRED("GDP")
  • Пользователи не должны вызывать «методы» getSymbols() напрямую
Импорт и управление финансовыми данными в R

Изменение источника данных по умолчанию с помощью setDefaults()

setDefaults(getSymbols, src = "FRED")
gdp <- getSymbols("GDP", auto.assign = FALSE) 
# Note the 'src' attribute
str(gdp)
 An 'xts' object on 1947-01-01/2016-10-01 containing:
   Data: num [1:280, 1] 243 246 250 260 266 ...
  - attr(*, "dimnames")=List of 2
   ..$ : NULL
   ..$ : chr "GDP"
   Indexed by objects of class: [Date] TZ: UTC
   xts Attributes:  
 List of 2
  $ src    : chr "FRED"
  $ updated: POSIXct[1:1], format: "2017-02-13 08:46:50"
Импорт и управление финансовыми данными в R

setDefaults()

  • Задаёт новые аргументы по умолчанию в виде пар name = value
  • Влияет только на поведение getSymbols()
  • Сохраняет значения в глобальном options()
Импорт и управление финансовыми данными в R

Другие аргументы

  • Поиск формальных аргументов метода источника getSymbols()
    • Используйте args(): args(getSymbols.yahoo)
    • Используйте help(): help("getSymbols.yahoo")
Импорт и управление финансовыми данными в R

Значения from и to по умолчанию

args(getSymbols.yahoo)
 function (Symbols, env, return.class = "xts", index.class = "Date", 
     from = "2007-01-01", to = Sys.Date(), ...)
setDefaults(getSymbols.yahoo, from = "2016-01-01", to = "2016-12-31") 
aapl <- getSymbols("AAPL", auto.assign = FALSE) 
str(aapl)
 An 'xts' object on 2016-01-04/2016-12-30 containing:
   Data: num [1:252, 1:6] 102.6 105.8 100.6 98.7 98.6 ...
  - attr(*, "dimnames")=List of 2
   ..$ : NULL
   ..$ : chr [1:6] "AAPL.Open" "AAPL.High" "AAPL.Low" "AAPL.Close" ...
   Indexed by objects of class: [Date] TZ: UTC
   xts Attributes:  
 List of 2
  $ src    : chr "yahoo"
  $ updated: POSIXct[1:1], format: "2017-02-13 08:46:50"
Импорт и управление финансовыми данными в R

getDefaults()

getDefaults()
"getSymbols.yahoo"
getDefaults(getSymbols.yahoo)
$from
"'2016-01-01'"

$to
"'2016-12-31'"
  • Возвращаемые значения не означают, что эти функции принимают заданные пользователем значения по умолчанию
setDefaults(load, 
            file = "my_file.RData")

# Will not alter behavior
getDefaults(load)
$file
"'my_file.RData'"
Импорт и управление финансовыми данными в R

Давайте потренируемся!

Импорт и управление финансовыми данными в R

Preparing Video For Download...