Как предсказать курс доллара. Поиск доходной стратегии с языком R. Владимир Георгиевич Брюков
Чтение книги онлайн.
Читать онлайн книгу Как предсказать курс доллара. Поиск доходной стратегии с языком R - Владимир Георгиевич Брюков страница 18
Для прогнозирования нам необходимо найти так называемые квантили, а, точнее сказать процентили, по изменениям курса интересующей нас валюты. Квантилем в математической статистике называют такое значение, которое заданная случайная величина (в данном случае это разница между текущим и предыдущими курсами доллара с лагом в один, два, три … 250 торговых дней) не окажется выше (либо ниже) определенного уровня с заранее заданной вероятностью. Если вероятность задана в процентах, то квантиль называется процентилем. Подробнее о процентилях можно прочитать в моей книге см. главу 1 «Как предсказать курс доллара. Расчеты в Excel для снижения риска проигрыша».
Для того, чтобы найти процентили, сначала на основе данных по курсу закрытия курса доллара к рублю на конец 30 марта 2018 г. построим прогноз на следующий торговый день на момент закрытия с 0.1 % уровнем риска (или 99.9% уровнем надежности). Причем, 0.1% риска свидетельствует о том, что существует лишь один шанс из 1000, что курс валюты выйдет за рамки интервального прогноза. (Заметим, что эта оценка риска основана на прошлых данных, но после сильных колебаний на рынке, она может измениться). Для наших расчетов воспользуемся функцией quantile, в которой для верхнего интервала прогноза установим уровень надежности =0.999, а для нижнего интервала прогноза – на уровне 0.001, что по сути означает уровень надежности =1-0.001=0.999 или 99.9%. При этом команда diff(Курс, 1) означает разницу между курсами валют с лагом в один день.
Для получения интервального прогноза с лагом в один торговый день с 0.1% уровнем риска введем следующий день:
> НижПрогноз <– Курс0+quantile(diff(Курс, 1), 0.001)
> НижПрогноз
2018-03-30
54.458959
> ВерхПрогноз<-Курс0+quantile(diff(Курс, 1), 0.999)
> ВерхПрогноз
2018-03-30
60.808652
Таким образом на основе этого прогноза, построенного по данным на 30 марта 2018 г., можно с 99.9% уровнем надежности утверждать, что курс доллара к рублю по итогам торгов в следующий торговый день, то есть 2 апреля 2018 г., должен был находиться в диапазоне от 54.4590 руб. и до 60.8087 руб. Если же нужно построить прогноз с лагом в 2,3,4 … 250 торговых дней, то одна из команд в этом коде приобретет вид diff(Курс, 2,3,4 … 250). А в случае использования операторов циклов вместо этих конкретных цифр ставят букву n.
Далее построим аналогичные интервальные прогнозы на период от одного, двух … и до 250 торговых дней (в календарном году около 250 торговых дней). Для прогнозов будем использовать данные по курсам доллара к рублю за период с 30 июня 1992 г. по 30 марта 2018 г. С этой целью введем код, в котором используется оператор циклов for(n in 1:250), «пробегающий» значения от 1 до 250. При этом в R используются фигурные скобки {}, чтобы создать новую функцию, в которой «упаковано» сразу несколько операторов. В некоторых ситуациях фигурные скобки можно опускать, тем не менее начинающим программистам рекомендуется всегда их ставить.
Прогноз по курсу валюты с заданным количеством дней торгов и 0.1% уровнем риска:
Вывод.данных<-data.frame()