Comments 24
Обязательно. Как минимум — обдумать/исследовать тот факт, что визуально график резервов сдвинут вправо по отношению к графику курса, т.е., очевидно, резервы определяются курсом, а не наоборот.
Инфляция и процентная ставка конечно могут как-то влиять, но однозначных зависимостей там нет априори. Прямые иностранные инвестиции, и еще много чего, есть на сайте Банка России и/или Росстата.
Данные по курсам, ценам на нефть и резервам.
1/(-0.008712954+0.000145824*52.83+0.000000046*397334)
[1] 57.90961
Если верить cbr.ru, официальная стоимость доллара на 01.03.2017 57.96 руб.
Добрый день. В ссылках на инвестинг(brent) — вы используете цену открытия:
Март '16 39,60 36,60 42,54 35,95
В ценах с cbr.ru (usd/rub) — используете цену закрытия(месяца)
31.03.2016 1 67,6076
К резервам есть пояснение — "Ежемесячные значения на начало отчетной даты" => это тоже — цена открытия.
У автора:
спот нефти
курс с Англии
резервы с quandle
А здесь:
фьючерс нефти
курс ЦБ, который с суточным лагом
резервы с сайта ЦБ.
Так что какую-то общую оценку такой пример, конечно покажет, но смещенную и несостоятельную.
Модель и ее использование должно быть самосогласованное, если модель была на инструментах с ценами с quandl, то и моделировать надо на тех же принципах: спот, Англия, и внимательно смотреть на даты, начало, конец дня, месяца и прочее.
Я был бы осторожней с интерпретацией результатов статистических гипотез. Фраза «RESET-тест Рамсея подтверждает, что в этой регрессии нет пропущенных переменных» вообще-то неверна. «не отвергать» гипотезу и «подтверждать» это таки разные вещи… К тому же тест Рамсея не является истиной в последней инстанции. То есть, если вы гипотезу в этом тесте не смогли отклонить, это не значит, что пропущенных переменных нет.
Но, как мне кажется, более важный вопрос здесь — это с какой целью строится модель. Анализ параметров? Прогнозирование курса? Просто поиграться? Ещё что-нибудь? В зависимости от цели, будут и разные акценты на том, что использовать, чему отдавать предпочтение и чего добиваться. Так какова же цель? :)
И последнее, вы же сами говорите о том, что R2 — это достаточно формальная величина. Зачем тогда приводите его в самом конце? К тому же, сравнивать две регрессии по R2 — моветон :). Можно, сравнить по AIC или F-тест провести… На худой конец сравнить по R2-Adj.
fit_1 <- gls(rub.h ~ oil.h, method="ML")
fit_2 <- update(fit_1, rub.h ~ res.h + oil.h)
anova(fit_1, fit_2)
Model df AIC BIC logLik Test L.Ratio p-value
fit_1 1 3 -542.0719 -536.1050 274.0360
fit_2 2 4 -583.3291 -575.3731 295.6645 1 vs 2 43.25711 <.0001
R2 любят потому что его относительно легко интерпретировать, но это приводит к различным проблемам и ошибкам (типичная — "чем выше R2, тем лучше моя модель", без относительно того, какова цель модели). Как мне кажется, опускаться до уровня "разных аналитиков из финансовой сферы" не стоит :).
За сравнение респект!
R2 легко интерпретировать, но именно из-за этого же его и неправильно используют.
AIC не интерпретируем, но пользу в моделировании несёт большую.
LogLik для выбора моделей использовать нельзя, из-за того, что он смещён. Все эти информационные критерии как раз нужны для того, чтобы скорректировать это смещение.
В строке rub=as.vector(window(rub.ts, start=tr.s, end=tr.e))
не определена переменная rub.ts. При попытке достать её из Quandl выяснилось следующее.
В библиотеке есть поисковый запрос, если в него подставить данные из usd.ts <-Quandl(«BOE/XUDLBK69», trim_start=«2005-04-03», trim_end=«2017-03-10», type=«zoo», collapse=«weekly»)
то
results < — Quandl.search(query=«BOE/XUDLBK69», silent=FALSE)
выдаёт фрейм, в котором BOE это database_core, XUDLBK69 соответственно dataset_code.
Далее в доках по Quandl можно найти rstudio-pubs-static.s3.amazonaws.com/148246_3f1fe14ed57a4bd497ba80420d5b35c1.html строку «For example, we want to get the exchange rate of USD/EUR from January 1st 2013 up to December 1st 2013, using the ID “BNP/USDEUR”. и подставив в поиск USD/EUR, понять, как найти курс USD/RUR.
Оказалось, что эти данные хранятся в database_core = CUR, dataset_code = RUR.
Однако при попытке запросить данные в rub.ts вылезает ошибка Error: {»quandl_error":{«code»:«QEPx05»,«message»:«You have attempted to view a premium database in anonymous mode, i.e., without providing a Quandl key. Please register for a free Quandl account, and then include your API key with your requests.»}}
Поэтому, прежде чем пытаться что-то посчитать в этой статье, сначала зарегистрируйтесь на сайте Quandl, получите ключ и выполните Quandl.auth(«YourQuandlKeyHere»).
Надеюсь сэкономил кому-то несколько минут поисков.
У меня такого определения нет, и скрипт на МНК не работает и не может работать в принципе.
В нем используется rub.ts, а в скрипте в «Данные» определены oil.ts и usd.ts, а rub.ts — неизвестная переменная.
Видимо у вас она откуда-то берется ещё, а тут её надо либо переименовать в usd.ts в МНК, либо в rub.ts в «Данные», либо, как я, взять откуда-то ещё.
О линейной регрессии: байесовский подход к курсу рубля