Скачать книгу

по курсу валюты с заданным количеством дней торгов и 0.1% уровнем риска:

      Вывод.данных<-data.frame()

      # создаем таблицу для вывода данных с 0 колонок и 0 строк

      for(n in 1:250) {

      # оператор циклов for

      # вектор 1:250 означает последовательность 1, 2 … 250.

      НижПрогноз<-round(Курс0+quantile(diff(Курс, n), 0.001),digits=4)

      # нижний интервал прогноза, digits=4 – округлить на 4 цифры

      # функция round означает округлить

      ВерхПрогноз<-round(Курс0+quantile(diff(Курс, n), 0.999),digits=4)

      # верхний интервал прогноза

      Вывод.данных<-c(Вывод.данных, data.frame(n, НижПрогноз, ВерхПрогноз))

      # заполняем таблицу данных

      show(data.frame(n, НижПрогноз, ВерхПрогноз, row.names='Дней торгов'))

      # команда показать вывод данных

      >Табл.05 <– data.frame(matrix(unlist(Вывод.данных0), nrow=250, byrow=T), stringsAsFactors=FALSE)

      # преобразуем лист с выводом данных в табл.05

      >ДнейТоргов <-Табл.05[, 1]

      # присваиваем колонке 1 из табл. 05 имя первой переменной

      НижПрогноз <-Табл.05[, 2]

      # присваиваем колонке 2 из табл. 05 имя второй переменной

      ВерхПрогноз<-Табл.05[, 3]

      # присваиваем колонке 3 из табл. 05 имя третьей переменной

      Табл.5 <-data.frame(ДнейТоргов, НижПрогноз, ВерхПрогноз)

      # создаем таблицу с тремя обозначенными переменными для последующей работы

      Табл.5

      # выводим таблицу с тремя обозначенными переменными – см. табл. 5

      В результате получим следующие интервальные прогнозы (в целях экономии места, здесь они даются не полностью) – см. табл. 5.

      >Табл. 5. Нижние и верхние интервальные прогнозы с лагом от 1 до 250 дней

      Источник: расчеты автора

      Судя по табл. 5, своего максимума верхний интервал прогноза =91.1698 руб. достигает при прогнозе на 250 дней. Такой же лаг и у минимума нижнего интервала прогноза= 36.4774 руб. Воспользуемся соответствующими встроенными функциями, чтобы не тратить время на поиск этих важных для трейдера параметров интервальных прогнозов.

      > max(ВерхПрогноз)

      # находим максимум по верхнему интервалу прогноза

      [1] 91.1698

      > which.max(ВерхПрогноз)

      # находим в таблице порядковый номер строки максимума по верхнему интервалу прогноза

      [1] 250

      > min(НижПрогноз)

      # находим минимум по нижнему интервалу прогноза

      [1] 36.4774

      > which.min(НижПрогноз)

      # находим в таблице порядковый номер минимума по нижнему интервалу прогноза

      [1] 250

      > НижПрогноз[21]

      # находим нижний интервал прогноза с лагом в 21 день

      [1] 47.3384

      > ВерхПрогноз[21]

      # верхний интервал прогноза с лагом в 21 день

      [1] 71.1137

      >plot(НижПрогноз, main = 'Интервальный прогноз на 250 торг. дней',

      type='l', lwd=4, ylim=c(min(НижПрогноз), max(ВерхПрогноз)))

      >lines(ВерхПрогноз, lwd=4)

      # делаем график интервального прогноза с лагом на 250 торговых дней

      В результате получаем следующий график – см. рис. 7

      Источник: расчеты автора

      Рис. 7

      На рис. 7 хорошо видно, что в целом, особенно, на первом этапе (для нижнего интервала

Скачать книгу