Точная отметка времени на данных Quantmod Currency (FX)

Мы можем собирать ежедневные данные о финансах Oanda и Yahoo с помощью quantmod пакет как таковой:

getFX("USD/JPY",from="2007-01-01", to = Sys.Date())
getSymbols("EUR=X",src="yahoo",from="2002-01-01",auto.assign=F)

После тщательной проверки данных вы можете заметить, что значения из этих источников значительно отличаются. Тогда я задаюсь вопросом, сколько именно времени заняло отметку времени дня для каждого источника? Это не выглядит быть в полночь по Гринвичу.

Буду признателен, если у вас есть подсказка. Спасибо.

1 ответ

Решение

Валютный рынок является внебиржевым рынком, поэтому нет центральной биржи, которая бы в любое время установила курс, но арбитражные соображения означают, что все основные игроки (банки, хедж-фонды, реальные деньги) оценивают приблизительно по одинаковым курсам в любой момент времени в течение ликвидного периода. рыночные часы (примерно с 5 вечера воскресенья по восточному времени (Америка / Нью-Йорк) до 5 вечера пятницы по восточному поясному времени). Поэтому разные источники могут предлагать немного разные цены даже для одинаковых временных отметок. Имея это в виду, вот некоторые недавние ставки Oanda и Yahoo для EUR/USD:

library(quantmod)
getFX("EUR/USD",from="2007-01-01", to = Sys.Date())
ya2 <- getSymbols("EUR=X",src="yahoo",from="2002-01-01",auto.assign=F)

# Yahoo reports the unconventional pricing of USDEUR = 1 / EURUSD, so lets get in the conventional form EUR/USD:
ya2[, c(1, 4, 6)] <- 1 / coredata(ya2)[, c(1, 4, 6)]
ya2[, c(2, 3)] <- 1 / coredata(ya2)[, c(3, 2)]

tail(ya2, 5)
# > tail(ya2, 5)
# EUR=X.Open EUR=X.High EUR=X.Low EUR=X.Close EUR=X.Volume EUR=X.Adjusted
# 2016-12-20   1.040474   1.041992  1.035518    1.040583            0       1.040583
# 2016-12-21   1.039393   1.045151  1.038529    1.039047            0       1.039047
# 2016-12-22   1.042753   1.049759  1.042753    1.042862            0       1.042862
# 2016-12-23   1.043950   1.046792  1.042970    1.043765            0       1.043765
# 2016-12-26   1.045588   1.047011  1.044600    1.045478            0       1.045478
colnames(EURUSD) <- "Oanda"
compare <- merge(ya2, EURUSD)
indexFormat(compare) <- "%Y-%m-%d, %a"

tail(round(compare, 4), 15)
# EUR.X.Open EUR.X.High EUR.X.Low EUR.X.Close EUR.X.Volume EUR.X.Adjusted  Oanda
# 2016-12-13, Tue     1.0643     1.0653    1.0607      1.0642            0         1.0642 1.0629
# 2016-12-14, Wed     1.0630     1.0667    1.0615      1.0629            0         1.0629 1.0632
# 2016-12-15, Thu     1.0515     1.0525    1.0404      1.0514            0         1.0514 1.0468
# 2016-12-16, Fri     1.0418     1.0472    1.0404      1.0419            0         1.0419 1.0435
# 2016-12-17, Sat         NA         NA        NA          NA           NA             NA 1.0451
# 2016-12-18, Sun         NA         NA        NA          NA           NA             NA 1.0451
# 2016-12-19, Mon     1.0448     1.0482    1.0413      1.0450            0         1.0450 1.0446
# 2016-12-20, Tue     1.0405     1.0420    1.0355      1.0406            0         1.0406 1.0391
# 2016-12-21, Wed     1.0394     1.0452    1.0385      1.0390            0         1.0390 1.0413
# 2016-12-22, Thu     1.0428     1.0498    1.0428      1.0429            0         1.0429 1.0443
# 2016-12-23, Fri     1.0440     1.0468    1.0430      1.0438            0         1.0438 1.0445
# 2016-12-24, Sat         NA         NA        NA          NA           NA             NA 1.0455
# 2016-12-25, Sun         NA         NA        NA          NA           NA             NA 1.0455
# 2016-12-26, Mon     1.0456     1.0470    1.0446      1.0455            0         1.0455 1.0455
# 2016-12-27, Tue         NA         NA        NA          NA           NA             NA 1.0449

Данные Yahoo:

  • Во-первых, мы видим, что Yahoo возвращает данные OHLC. Я могу сказать вам, что цена закрытия, предложенная Yahoo (EUR.X.Close) соответствует около полуночи UTC. Я проверил это по сравнению с другими надежными (проприетарными) источниками ценообразования на тиковых данных FX.

  • Также вы можете четко увидеть, что цена открытия (EUR.X.Open) отличается от предыдущей цены закрытия на один бар назад, поэтому мы можем заключить, что цена открытия установлена ​​в произвольном временном окне в течение 24-часового периода, заканчивающегося в полночь UTC в любой данный торговый день (максимум и минимум также будут установлены в течение этого периода). Это просто соглашение Yahoo по созданию баров, а не "правильное" или "неправильное", а только то, как они решают распространять данные.

  • В действительности FX торгует 24/5, поэтому в данных Yahoo есть пробелы.

Данные Oanda:

  • Обратите внимание, что Oanda возвращает цены за каждый день, включая выходные и праздничные дни, и только один столбец значений. Oanda возвращает средневзвешенную цену за каждый день во временном ряду. (Данные о закрытии не возвращаются в 5 вечера по восточному времени или в полночь по Гринвичу). Почему это было бы полезно тогда? Ну, потому что многие люди хотят использовать ежедневные курсы обмена валют для оценки бизнес-транзакций в разных валютах и ​​т. Д., А Oanda считается надежным именем с надежными ценовыми данными ( https://www.oanda.com/fx-for-business/).

Ликвидность очень низка в 17:00 по восточному поясному времени каждый день, так как именно в этот момент на валютном рынке выплачиваются проценты по ролловеру, поэтому это время часто используется как конец торгового дня на валютном рынке. Разумный способ создания ежедневных данных по валютному курсу - предположить, что первый день недели начинается в 17:00 по восточному времени в воскресенье и заканчивается в 17:00 по восточному времени, второй день начинается в 17:00 по восточному времени по понедельникам и заканчивается во вторник в 17:00 по восточному времени и т. Д. Это дает 5 даже 24-часовых торговых баров каждую неделю.,

Что касается смежной темы, очевидно, что ни один из вышеперечисленных источников не пригоден для тестирования на истории внутридневных валютных стратегий. Если вам случается искать бесплатные данные FX на ежедневной или более высокой частоте, некоторые варианты включают в себя:

  1. Бесплатные агрегированные данные тиков FX от http://www.truefx.com/?page=downloads
  2. Создайте бумажный торговый счет в Interactive Brokers. Вы можете получить до года скользящей ежедневной истории OHLC и данных за более короткие промежутки времени, равные 5, 30 с, 1 мин барам (по крайней мере, в прошлый раз, когда я проверял, что было некоторое время назад).
  3. Сделай сам: открой счет у уважаемого брокера и начни хранить потоковые тики самостоятельно
Другие вопросы по тегам