Прогноз курса доллар евро на сегодня: Аналитика валют Евро/Доллар США — Investing.com

Курс евро к доллару США резко вырос

Сообщение от Адам Соломон

в
EUR в USD, — 16 ноя 2022 07:15

  • Наш Facebook
  • Наш Твиттер
  • Смотреть канал на Youtube

Обменный курс евро к доллару США (EUR/USD) вырос во вторник, так как данные PPI США оказались ниже рыночных ожиданий.

Эти новости позволили паре EUR/USD взлететь примерно до 1,0431 доллара США на момент написания, что на 1% больше, чем курс открытия вторника.

Обменные курсы доллара США (USD) падают, так как PPI падает ниже прогнозов

Курс доллара США (USD) резко упал во вторник, так как октябрьские данные PPI оказались хуже, чем ожидалось. Сентябрьский показатель был пересмотрен до 0,2%, а октябрьский показатель остался прежним, что свидетельствует о снижении инфляции на производство товаров.

Аналогично снизилась базовая инфляция, исключающая продовольствие и энергию, до 6,7% с 7,2% в годовом исчислении. Это добавляет к растущим ожиданиям более мягкого повышения процентной ставки со стороны Федеральной резервной системы. Данные показали, что агрессивный путь, который они выбрали, начал окупаться, и это означает, что ФРС может замедлить темпы ужесточения и снизить нагрузку на экономику США.

Падение показателей PPI добавилось к комментариям представителей ФРС, которые указали, что ужесточение мер начнет замедляться, но все же продолжится в меньшем объеме.

Вице-председатель Лаэль Брейнард заявила: «Я думаю, что вскоре будет уместно перейти к более медленным темпам повышения, но я думаю, что действительно важно подчеркнуть, что. .. у нас есть дополнительная работа. Это действительно будет упражнением по внимательному наблюдению за данными и попытке оценить, сколько ограничений существует и сколько дополнительных ограничений будет необходимо».

Дальнейшее влияние на доллар США во вторник оказало оптимистичное настроение на рынке. Сила экономики США и уже снижающиеся ставки на повышение ставок спровоцировали сдвиг в понедельник, при этом склонность к риску сохранялась на протяжении всей сессии вторника.

Курсы евро (EUR) растут по мере роста экономики ЕС

Во вторник евро (EUR) сильно вырос по отношению к большинству основных валют на фоне подтверждения того, что экономика еврозоны выросла на 0,2% в третьем квартале 2022 года.

Позитивные новости, вероятно, успокоили трейдеров в том, что экономика еврозоны сможет выдержать дальнейшее повышение ставок Европейским центральным банком (ЕЦБ).

Эти ставки были вызваны ястребиными комментариями политика ЕЦБ Франсуа Вильруа де Гальо, который дал понять, что вполне вероятно, что Банк продолжит повышать процентные ставки выше 2%.

Франсуа Вильруа Де Гальо рассказал о стремлении ЕЦБ продолжить борьбу с инфляцией. Он заявил: «За пределами этого уровня мы, вероятно, продолжим повышать ставки, но мы можем сделать это более гибким и, возможно, менее быстрым способом. Повышение процентных ставок не станет новой привычкой».

Дополнительную поддержку евро во вторник оказал рост экономических настроений в Германии выше прогнозируемого. Индекс экономических настроений ZEW за ноябрь составил -36,7, что намного выше прогноза -50.

Хотя это по-прежнему отражает пессимистичный прогноз для крупнейшей экономики блока, рост настроений отражает надежды бизнеса на то, что инфляция в ЕС скоро достигнет пика и что ЕЦБ не придется ужесточать денежно-кредитную политику так долго, как первоначально опасались .

Отношение крупнейшей экономики блока, вероятно, отразится на всем ЕС, и экономические перспективы станут немного более оптимистичными.

Евро Доллар США (EUR/USD) Прогноз обменного курса

Забегая вперед по доллару США, в среду выйдут данные по розничным продажам за октябрь. Ожидается скачок с 0% до 1%, что может позволить «зеленому» укрепиться, продемонстрировав укрепление экономики США.

Тем не менее, позитивные новости по розничной торговле в США могут еще раз подорвать надежды инвесторов на значительное повышение ставок Федеральной резервной системой и, таким образом, ослабить доллар США.

По евро в ближайшие дни не будет макроэкономических данных. Тем не менее, запланированы выступления различных политиков ЕЦБ, таких как президент ЕЦБ Кристин Лагард. Если она и другие политики сохранят ястребиную позицию ЕЦБ, евро может продолжить рост.

В других местах на пару также могут повлиять рыночные настроения. Если нынешнее склонность к риску во вторник сохранится в течение недели, доллар может еще больше ослабнуть.

Точно так же любое положительное развитие украинско-российского конфликта может повысить курс евро.

Реклама

Экономьте деньги на валютных переводах с помощью TorFX, признанный Международным провайдером денежных переводов года 2016–2020. Их цель — предоставить клиентам ультраконкурентные обменные курсы и уникальный специализированный сервис независимо от того, предпочитают ли они торговать онлайн. или по телефону.
Узнайте больше здесь.

Адам Соломон

Адам имеет почти десятилетний опыт работы в одном из ведущих валютных брокеров Великобритании и был…

Всем привет! На этой странице я хотел бы показать вам анализ иностранной валюты. Я использую другую модель временных рядов для прогнозирования изменений на EUR/USD. Эти наборы данных содержат цену закрытия каждый день с 2010 по 2019 год.. Так что это будет модель большого временного ряда.
Без дальнейших церемоний, давайте начнем!

Используя набор данных с 2010 по 2019 год, я пытаюсь спрогнозировать курс доллара США к евро на весь 2020 год. Я собираюсь использовать несколько функций временных рядов R для обработки всех проблем.

Как обычно, загрузите необходимые пакеты.

 библиотека (rmarkdown)
библиотека (ggplot2)
библиотека (сюжетно)
библиотека (tidyverse)
библиотека (tidyquant)
библиотека (MLmetrics)
библиотека (каре)
библиотека (падр)
библиотека (смазать)
библиотека (imputeTS)
библиотека (серия)
библиотека (TSstudio)
библиотека (прогноз)
библиотека (tsfeatures) 

Сначала загрузите необходимый набор данных.

 read<-read_csv("Foreign_Exchange_Rates.csv")
head(read) 
 ## # Набор символов: 6 x 24
## X1 `Time Serie` `АВСТРАЛИЯ – AU~ `ЗОНА ЕВРО – ЕС~ `НОВАЯ ЗЕЛАНДИЯ – ~
##     
## 1 0 03.01.2000 1,5172 0,9847 1,9033
## 2 1 04.01.2000 1,5239 0,97 1,9238
## 3 2 05.01.2000 1,5267 0,9676 1,9339
## 4 3 06.01.2000 1,5291 0,9686 1,9436
## 5 4 07.01.2000 1,5272 0,9714 1,938
## 6 5 10.01.2000 1,5242 0,9754 1,935
## # ... с еще 19 переменными: `UNITED KINGDOM - UNITED KINGDOM
## # POUND/US$` , `BRAZIL – REAL/US$` , `CANADA – CANADIAN
## # ДОЛЛАР/US$` , `КИТАЙ – ЮАНЬ/US$` , `ГОНКОНГ – ГОНКОНГ
## # DOLLAR/US$` , `INDIA - ИНДИЙСКАЯ РУПИЯ/US$` , `KOREA -
## # WON/US$` , `МЕКСИКА - МЕКСИКАНСКОЕ ПЕСО/US$` , `ЮЖНАЯ АФРИКА -
## # RAND/US$` , `SINGAPORE - SINGAPORE DOLLAR/US$` , `DENMARK -
## # ДАТСКАЯ КРОНА/US$` , `JAPAN - YEN/US$` , `MALAYSIA -
## # РИНГГИТ/доллар США` , `НОРВЕГИЯ - НОРВЕЖСКАЯ КРОНА/доллар США` , `ШВЕЦИЯ -
## # KRONA/US$` , `ШРИ-ЛАНКА - ШРИ-ЛАНКАНСКАЯ РУПИЯ/US$` , `ШВЕЙЦАРИЯ -
## # FRANC/US$` , `ТАЙВАНЬ - НОВЫЙ ТАЙВАНСКИЙ ДОЛЛАР/US$` , `ТАИЛАНД -
## # БАТ/доллар США`  

Использовать glimpse() для наблюдения за общими данными
## Переменные: 24
## $ X1 0, 1, 2, 3, 4, 5, 6, 7,. ..
## $ `Time Serie` <дата> 03.01.2000, 04.01.2000...
## $ `AUSTRALIA - AUSTRALIAN DOLLAR/US$` "1.5172", "1.5239", "1....
## $ `EURO AREA - EURO/US$` "0.9847", "0.97", "0,96...
## $ `NEW ZEALAND - ДОЛЛАР НОВОЙ ЗЕЛАНДИИ/US$` "1.9033", "1.9238", "1....
## $ `UNITED KINGDOM - UNITED KINGDOM POUND/US$` "0.6146", "0.6109", "0....
## $ `BRAZIL - REAL/US$` "1.805", "1.8405", "1.8...
## $ `КАНАДА - КАНАДСКИЙ ДОЛЛАР/доллар США` "1.4465", "1.4518", "1....
## $ `CHINA - YUAN/US$` "8.2798", "8.2799", "8....
## $ `ГОНКОНГ - ГОНКОНГ ДОЛЛАР/$ США` "7,7765", "7,7775", "7....
## $ `INDIA - ИНДИЙСКАЯ РУПИЯ/US$` "43.55", "43.55", "43.5...
## $ `КОРЕЯ - ВОН/US$` "1128", "1122.5", "1135...
## $ `МЕКСИКА - МЕКСИКАНСКОЕ ПЕСО/доллар США` "9.4015", "9,457", "9,5...
## $ `ЮЖНАЯ АФРИКА - RAND/US$` "6.126", "6.085", "6.07...
## $ `СИНГАПУР - СИНГАПУРСКИЙ ДОЛЛАР/$ США` "1.6563", "1.6535", "1....
## $ `ДАНИЯ - ДАТСКАЯ КРОНА/US$` "7. 329", "7.218", "7.20...
## $ `JAPAN - YEN/US$` "101.7", "103.09", "103...
## $ `MALAYSIA - RINGGIT/US$` "3.8", "3.8", "3.8", "3...
## $ `НОРВЕГИЯ - НОРВЕЖСКАЯ КРОНА/доллар США` "7.964", "7,934", "7,93...
## $ `ШВЕЦИЯ - КРОНА/US$` "8.443", "8.36", "8.353...
## $ `ШРИ-ЛАНКА - ШРИ-ЛАНКАНСКАЯ РУПИЯ/Доллар США` "72.3", "72.65", "72.95...
## $ `ШВЕЙЦАРИЯ - FRANC/US$` "1.5808", "1.5565", "1....
## $ `ТАЙВАНЬ - НОВЫЙ ТАЙВАНЬСКИЙ ДОЛЛАР/доллар США` "31.38", "30.6", "30.8"...
## $ `THAILAND - BAHT/US$` "36.97", "37.13", "37.1...

Поскольку я хочу анализировать только евро в долларах США, мне нужно выберите() переменную и измените тип EURO AREA EURO/US$ на целое число . Затем я отфильтрую дату из 2010 года.

 forex <- read %>%
  mutate(`ЕВРОЗОНА - ЕВРО/доллары США`= as.numeric(`ЕВРОЗОНА - ЕВРО/доллары США`)) %>%
  select(date = `Time Serie`, usd_to_eur = `EURO AREA - EURO/US$`) %>%
  фильтр (дата> = ymd («2010-01-01»))

head(forex) 
 ## # Таблетка: 6 x 2
## дата usd_to_eur
## <дата> 
## 1 01. 01.2010 Н/Д
## 2 04.01.2010 0,694
## 3 05.01.2010 0,694
## 4 06.01.2010 0,694
## 5 07.01.2010 0,699
## 6 2010-01-08 0.696 

Хорошо, теперь я должен убедиться, что дата не имеет пропущенного значения. Я буду использовать pad() для этого.

 # Найти время начала
min(forex$date) 
 ## [1] "2010-01-01" 
 # Найти время окончания
max(forex$date) 
 ## [1] "2019-12-31" 

Сделать заполнение

 forex<- forex %>%
  pad(start_val = ymd("2010-01-01"), end_val = ymd("2019-12-31"))
head(forex) 
 ## # Таблетка: 6 x 2
## дата usd_to_eur
## <дата> 
## 1 01.01.2010 Н/Д
## 2 2010-01-02 Н/Д
## 3 03.01.2010 Н/Д
## 4 04.01.2010 0,694
## 5 05.01.2010 0,694
## 6 06.01.2010 0,694 

Отлично!

Теперь проверьте пропущенные значения

 colSums(is.na(forex)) 
 ## date usd_to_eur
## 0 1150 

Чтобы получить более четкое представление, я построю данные временного ряда, используя ggplotly()

 p1<- forex %>%
  ggplot (сопоставление = aes (x = дата, y = usd_to_eur))+
  geom_line(col = "Темно-красный")+
  labs(title = «Модель временных рядов: доллар США в евро в период с 2010 по 2019 год», y = «курс доллара в евро», x = NULL)+
  тема_минимальный()
  

ggplotly(p1) 

Как мы видим из графика выше, линии до сих пор не соединили друг друга. Это указывает на то, что существует около отсутствуют значения в данных временного ряда. Чтобы обработать пропущенные значения модели временных рядов, мы должны сначала построить модель временного ряда .

Построить модель временного ряда довольно просто. Просто вставьте нужную нам переменную и установите время начала и время окончания . Не забудьте определить частоту , потому что это может сильно повлиять на разницу в модели. В этом случае я выберу 365 (поскольку данные временного ряда являются дневным паттерном).
Используйте ts() функция.

 forex_ts<-ts(forex$usd_to_eur, начало = c(2010,1), частота = 365) 

Попробуйте построить график с помощью autoplot()

 forex_ts %>%
  автограф()+
  theme_minimal() 

Хорошо. У нас есть диаграмма, похожая на предыдущую, с ggplot() .

Как видно из фрейма данных, внутри него NA или отсутствует значение . Попробую заменить NA с помощью imputeTS::9Пакет 0095. Я использую na_kalman с моделью auto.arima для замены NA .

 forex_kalman<-na_kalman(forex_ts, модель = "auto.arima", smooth = T)
forex_kalman %>%
  автограф()+
  theme_minimal() 

Круто! Теперь линии полностью подключены. Теперь я могу продолжить обработку и анализ модели.

Разложение — это своего рода процесс, который разделяет данные временного ряда на три основных компонента:

  • Сезонный : график вверх или вниз
  • Trend : повторяющийся шаблон в течение определенного времени
  • Напоминание : информация, которая не распознается моделью.

Мы можем использовать функцию decompose() для выполнения процесса. Эта функция имеет аргумент типа , который будет определять результаты разложения.
Есть два варианта тип :

  • Добавка : ДАННЫЕ = ТЕНДЕНЦИЯ + СЕЗОННОСТЬ + ОШИБКА
  • Мультипликатив : ДАННЫЕ = ТЕНДЕНЦИЯ * СЕЗОННОСТЬ * ОШИБКА

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

 dec <- decompose(x = forex_kalman, type = "добавка")
дек %>%
  автограф()+
  тема_минимальный() 

Как мы видим на линии тренда, модель временного ряда имеет тенденцию к колебаниям. В этом случае эта закономерность в тренде может быть связана с неучтенной дополнительной сезонностью из более высокого естественного периода, поэтому ее можно рассматривать как многосезонную. данные. Чтобы наблюдать это, мы должны изменить объект forex ts на msts

 forex_msts<- msts(forex$usd_to_eur, Season. periods = c(7,365), start = c(2010,1) )
plot(forex_msts, main="USD в EUR", xlab="Year", ylab="USD в EUR") 

Отлично! Теперь у нас есть новая правильная модель множественных сезонных временных рядов (msts). Выполните еще одно вменение NA еще раз

 msts_kalman <- na_kalman(forex_msts, model = "auto.arima", smooth = T)
msts_kalman %>%
  автограф()+
  theme_minimal() 

Далее займемся декомпозицией. Мы можем использовать функцию mstl() .

 msts_kalman %>% mstl() %>% autoplot() + theme_minimal() 

Как видно из графика выше, это 9Модель 0104 мсц имеет вполне четкий паттерн на частоте 365 дней. Прежде чем перейти к следующему шагу, я разделю данные на train и test .

 msts_test <- хвост (msts_kalman, 365)
msts_train <- head(msts_kalman, length(msts_kalman)- length(msts_test)) 

Чтобы прогнозировать входящие данные, я буду использовать несколько различных методов прогнозирования временных рядов:

  • SMA : простая скользящая средняя
  • ETS : ошибка, тенденция и сезонность
  • Хольт : Метод Холта (данные с трендом, но без сезонности)
  • ARIMA : Авторегрессионное интегрированное скользящее среднее

В конце я сравню результаты на основе полученных ошибок.

Простая скользящая средняя (SMA)

Чтобы использовать SMA, первое, что нам нужно сделать, это подобрать модель. Используйте SMA() и попробуйте выбрать 3 как номер периода .

 forex_sma <- SMA(x = msts_train, n = 5)
forex_sma <- msts (forex_sma, start = c(2010,1), Season.periods = c(7,365)) 

Визуализировать модель для сравнения

 msts_train %>%
  автографик (серия = "Факт") +
  автоуровень(forex_sma, серия ="SMA")+
  scale_color_manual (значения = c («Черный», «Красный»)) +
  theme_minimal() 

На приведенной выше диаграмме мы видим небольшую разницу между фактическим рядом и рядом SMA. Если мы изменим значение n в модели SMA в более высокое значение, будет больше удаленных данных.

Сделать прогноз

 forex_forecast_sma <- прогноз(объект = forex_sma, h = 365) 

Визуализировать модель прогноза

 msts_kalman %>%
  автосюжет (серия = "поезд") +
  автослой (msts_test, серия = "тест") +
  autolayer(forex_forecast_sma$fitted, series = "поезд прогнозов") +
  autolayer(forex_forecast_sma$mean, series = "прогнозный тест") +
  тема_минимальный() 

Судя по линейному графику выше, последние данные немного отличаются. SMA Модель произвела более низкое значение курса доллара США.

Проверка на точность

 sma_acc<-accuracy(f = forex_forecast_sma$mean, msts_test)
sma_acc 
 ## ME RMSE MAE MPE MAPE ACF1 Theil's U
## Набор тестов 0,02629245 0,02978435 0,02650706 2,926293 2,950941 0,9851078 14,93062 

Эта модель имеет низкую оценку RMSE (среднеквадратичная ошибка) и MAE (средняя абсолютная ошибка), что является хорошей новостью.

Экспоненциальное сглаживание

Прежде чем выбрать тип экспоненциального сглаживания, мы должны выяснить, есть ли на модели сезонность или нет. Я могу использовать функцию stl_features() , чтобы сделать это.

 stl_features(msts_kalman) 
 ## nperiods сезонный_период1 сезонный_период2 тренд
## 2.000000e+00 7.000000e+00 3.650000e+02 9.304959э-01
## шип кривизна линейности e_acf1
## 3.152743e-14 3.458855e+00 -3.451180e-01 9.853241e-01
## e_acf10 сезонная_сила2 сезонная_сила3 пик1
## 8. 313717e+00 4.926877e-03 1.134930e-01 1.000000e+00
## пик2 корыто2 корыто3
## 1.460000e+02 5.000000e+00 2.910000e+02 

Из приведенного выше результата мы знаем, что модель имеет сезонный период и сезонная сила . Следовательно, мы можем создать экспоненциальное сглаживание, используя сезонный параметр .

ETS (ошибка, тенденция, сезонность)

В функции stlm() необходимо назначить несколько параметров:

  • г : объект временного ряда
  • метод : метод моделирования («ets», «arima») /li>

Теперь я попытаюсь создать модель, используя stlm() функция

 #строительство модели
stlm_ets <- msts_train %>%
  stlm(лямбда = 0, метод = "ets") %>%
  прогноз (ч = 365)

#построить модель
автосюжет (stlm_ets)+
  scale_x_continuous (метки = scales:: number_format (точность = 1))+
  theme_minimal() 

Создать объект прогноза для сравнения с помощью autoplot()

 forex_forecast_ets <- прогноз(объект = stlm_ets, h= 365) #прогноз на следующие 365 дней 
 msts_kalman %>%
  автосюжет (серия = "поезд") +
  автослой (msts_test, серия = "тест") +
  autolayer(forex_forecast_ets$fitted, series = "поезд прогнозов") +
  autolayer(forex_forecast_ets$mean, series = "прогнозный тест") +
  theme_minimal() 

Отлично! Корзина выше показывает нам раздел модели для сравнения результата. Кажется, что данные прогноза_поезда с использованием stlm() ets() дают большую разницу.

Следующий шаг — оценка модели. Я буду использовать функцию precision()

 ets_acc<-accuracy(f = forex_forecast_ets$mean, msts_test)
ets_acc 
 ## ME RMSE MAE MPE MAPE ACF1 Theil's U
## Тестовый набор 0,02554848 0,02896997 0,02577542 2,843545 2,869584 0,9792286 14,5232 

Используя функцию precision() , мы можем наблюдать количество ошибок, допущенных моделью. Я попытаюсь сосредоточиться на RMSE (среднеквадратичная ошибка) и MAE (средняя абсолютная ошибка). Совершенно ясно, что значение RMSE и MAE этого прогноза ETS очень низкое (~ 0,02), поэтому построенная модель дала результат с высокой точностью .

Холт Винтерс

Метод Холта Винтерса хорошо использовать на модели, которая имеет тренд и сезонность. Он будет выполнять сглаживание компонентов тренда и ошибок. Давайте вызовем функцию HoltWinters() .

 forex_holtwinters_holtwinters <- holtwinters (x = msts_train) 

do прогнозирование

 forex_forecast_holtwinters <- forecast (Object = forex_holtwints_holtwinters <- forecast (Object = forex_holtwinters_holtwinters <-forecast (Object = forex_holtwinters_holtwinters <-forecast (Object = forex_holtwinters_holtwinters. 

 msts_kalman %>%
  автосюжет (серия = "поезд") +
  автослой (msts_test, серия = "тест") +
  autolayer(forex_forecast_holtwinters$fitted, series = "поезд прогнозов") +
  autolayer(forex_forecast_holtwinters$mean, series = "прогнозный тест") +
  тема_минимальный() 

Результат прогноза, полученный с использованием Holt Winters , немного отличается от фактических данных. Чтобы убедиться в этом, вызовите функцию precision() .

 holt_acc<-точность (forex_forecast_holtwinters$mean, msts_test)
holt_acc 
 ## ME RMSE MAE MPE MAPE ACF1 Theil's U
## Набор тестов 0,05306738 0,06057553 0,05394233 5,91461 6,014995 0,9887554 30,44576 

Судя по результату ошибки, эта модель имеет низкую ошибку (~0,05–0,06) для RMSE и MAE .

Авторегрессионное интегрированное скользящее среднее (ARIMA)

ARIMA представляет собой комбинацию двух методов прогнозирования: авторегрессионного (AR) и скользящего среднего (MA) .

Теперь подогнать модель. Я собираюсь использовать функцию stlm() и добавить «arima» в аргумент метода .

 forex_arima <- stlm(y = msts_train, method = "arima") 

Сделать прогноз

 forex_forecast_arima <- прогноз(object = forex_arima, h = 365) 

И представьте себе время!

 msts_kalman %>%
  автосюжет (серия = "поезд") +
  автослой (msts_test, серия = "тест") +
  autolayer(forex_forecast_arima$fitted, series = "прогноз поезда") +
  autolayer(forex_forecast_arima$mean, series = "прогнозный тест") +
  theme_minimal() 

Проверить точность:

 arima_acc<-accuracy(f = forex_forecast_arima$mean, msts_test)
arima_acc 
 ## ME RMSE MAE MPE MAPE ACF1 Theil's U
## Тестовый набор 0. 02586933 0,02938157 0,02606508 2,879121 2,8 0,9800462 14,72804 

Исходя из результатов, значения RMSE и MAE также очень низкие. Это означает, что это хорошая модель прогнозирования.

После установления всех трех методов прогнозирования можно сделать вывод, что все они дали хорошие модели (низкие ошибки). Следовательно, я попытаюсь построить три модели на 2020 год.
В этой части мне не нужно разбивать данные, потому что я пытаюсь спрогнозировать следующие 365 дней, используя все данные.

Простая скользящая средняя

Построить модель SMA

 forex_sma_2020 <- SMA(x = msts_kalman, n = 5)

ggplotly(msts_kalman%>%
автографик (серия = "Факт") +
autolayer(forex_forecast_sma_2020$mean, series = "Прогноз 2020") +
labs(title = "Прогноз доллара к евро на 2020 год с использованием SMA", y = "доллар США к евро")+
тема_минимальный()
)

 sma_result<-data.frame("Дата" = rep(seq(as. Date('2020-01-01'), as.Date('2020-12-30'), by = 'days')) , "SMA"=forex_forecast_sma_2020$mean) 

Экспоненциальное сглаживание

Как и в предыдущем случае, я собираюсь построить модель, используя три метода.

ETS (Ошибка, Тренд, Сезонность)

Построить Модель

 forex_ets_2020 <- stlm(y = msts_kalman, method = "ets") 

Прогнозирование

 forex_forecast_ets_2020 <-ex_ets_20 = 2(ex_ets_20) 

Визуализируй!

 ggplotly(msts_kalman %>%
  автографик (серия = "Факт") +
  autolayer(forex_forecast_ets_2020$mean, series = "Прогноз 2020") +
  labs(title = "Прогноз доллара к евро на 2020 год с использованием ETS", y = "доллар США к евро")+
  тема_минимальный()
) 

Сохранить результат в объект:

 ets_result <- data.frame("Дата" = rep(seq(as.Date('2020-01-01'), as.Date('2020-12-30 '), by = 'дни')), "ETS"=forex_forecast_ets_2020$mean) 

Холт Уинтерс

Построить модель:

 forex_holtwinters_2020 <- holtwinters (x = msts_kalman) 

(

 Forex_forecast_holwinters_2020 <-forecast (Object = Forex_holtwinters_20202023) 

<-Forecast (Object = Forex_holtwinters_20202023). автографик (серия = "Факт") + autolayer(forex_forecast_holwinters_2020$mean, series = "Прогноз 2020") + labs(title = "Прогноз доллара к евро на 2020 год с использованием HoltWinters", y = "доллар США к евро")+ тема_минимальный() )

Сохранить результат в объект

 holtwtinters_result<-data.frame("Дата" = rep(seq(as.Date('2020-01-01'), as.Date('2020-12-30') , by = 'days')), "HoltWinters"=forex_forecast_holwinters_2020$mean) 

Авторегрессионное интегрированное скользящее среднее (ARIMA)

Построить модель:

 forex_arima_2020 <- stlm(y = msts_kalman, method = "arima") 

Прогнозирование:

 forex_forecast_arima_2020 <- прогноз (объект = forex_arima_2020, h = 365) 

Визуализация:

 ggplotly(msts_kalman %>%
  автографик (серия = "Факт") +
  autolayer(forex_forecast_arima_2020$mean, series = "Прогноз 2020") +
  labs(title = "Прогноз доллара к евро на 2020 год с использованием ARIMA", y = "доллар США к евро")+
  тема_минимальный()
) 

Сохранить результат в объект

 arima_result <- data. frame("Дата" = rep(seq(as.Date('2020-01-01'), as.Date('2020-12-30') ), by = 'дни')), "ARIMA"=forex_forecast_arima_2020$mean) 

В завершение я собираюсь объединить все результирующие кадры данных в один data.frame

 result<-sma_result %>%
  left_join(ets_result) %>%
  left_join (holtwtinters_result) %>%
  left_join (arima_result)

paged_table(result, options = list(rows.print = 10)) 

Я покажу сравнение ошибок

 error <-data.frame("Model" = c("SMA","ETS","Holt Winters" ,"ARIMA"),"RMSE" = c(sma_acc[[2]], ets_acc[[2]], holt_acc[[2]], arima_acc[[2]]), "MAE" = c(sma_acc[[ 3]], ets_acc[[3]], holt_acc[[3]], arima_acc[[3]]))
paged_table (ошибка) 

I will check the range of result

 range(result$SMA) 
 ## [1] 0.8726728 0.8955830 
 range(result$ETS) 
 ## [1] 0.8765365 0.8995205 
 range(result $HoltWinters) 
 ## [1] 0,81 0,9139066 
 range(result$ARIMA) 
 ## [1] 0,8770886 0,8997408 

В целом, результаты прогнозов для всех моделей довольно схожи.

Related Posts

fallback-image

Белорусская валюта курс: Курс белорусского рубля ЦБ РФ на сегодня и завтра, официальный курс белорусского рубля ЦБ, динамика и график онлайн

fallback-image

Курс рубль к рублю белорусскому: Перевод рублей в белорусские рубли калькулятором онлайн, конвертер российского рубля к белорусскому рублю, соотношение на сегодня

fallback-image

Курс рубль к белорусскому рублю: Перевод рублей в белорусские рубли калькулятором онлайн, конвертер российского рубля к белорусскому рублю, соотношение на сегодня

fallback-image

Евро курс 2018: Курс евро в 2018 году в России по месяцам и дням

Рубрики