Постов с тегом "garch": 18

garch


GARCH по простому

GARCH предсказывает волатильность на след день как линейную комбинацию текущей и долгосрочной меры волатильности.

GARCH по простому
И разные варианты GARCH отличаются в основном лишь тем как измеряются эти две компоненты. Т.е. вся идея GARCH строится на измерении текущей и прошлой волатильности как variance.

Теперь возвращаемся к критике Талеба — что дисперсию (variance) нельзя точно измерить (см прошлый пост).

Симуляция показывает, что при экспоненте хвостов ~3 для боль менее точного измерения волатильности — нужен сэмпл размера где то 50-300.

Учитывая что GARCH меряет долгосрочную волатильность как EWA (что по сути уменьшает размер сэмпла раз в 2-3) плюс огромный вес одной точке — текущей волатильности. 

Получается — эти измерения имеют огромный разброс (variance of variance). И соотв. точность GARCH, даже скорей принципиальная обоснованность его использования — под вопросом.

Перефразируя — variance при хвостах 3 имеет медленную сходимость, и ее точечное измерение с свысокой точностью не получится.

Почему GARCH не используете?

Почти нет постов про GARCH на СмартЛабе…

Левый и правый хвост имеют разную степень, VaR

Дневные левый 3, правый 3.7.
Месячные левый 3, правый 5.2 (но я думаю он тоже 3.7, просто данных меньше и его не видно).

Это значит SkewStudentT(𝜇,𝜎,𝜈,𝜆) может быть не достаточно, если мы зафиксируем nu=3, это переоценит вероятность редких положит событий, и хотя сама по себе ошибка может быть малой, тот факт что это экстремальное событие большого масштаба, да еще и в экспоненте exp(log r) увеличит ошибку.

В идеале конечно надо что то типа SkewStudentT(𝜇,𝜎,𝜈𝑙,𝜈𝑟,𝜆) с разными хвостами, но таких вроде как нет.

Либо, зафиксировать nu=3.7, это недооценит убытки, но зато ошибка не будет увеличиваться большим масштабом события.

Добавлено:

Ошибка (относителная) для VaR, портфель из 10 акций и события раз в 10 лет, при хвосте 3 и 3.7. Дневные: ~1.22 раза, месячные: ~1.24 раза. Вполне ощутимая разница.
# Daily, typical daily log returns StudentT(0.001, 0.015)
p = 1-1/(365*10*10) # once in 10y for portfolio of 10 stocks
exp(
  quantile(StudentT(0.001, 0.015, 3), p) - 
  quantile(StudentT(0.001, 0.015, 3.7), p)
) # => 1.22

# Monthly, typical monthly log returns StudentT(0.01, 0.08)
p = 1-1/(12*10*10) # once in 10y for portfolio of 10 stocks
exp(
  quantile(StudentT(0.01, 0.08, 3), p) - 
  quantile(StudentT(0.01, 0.08, 3.7), p)
) # => 1.24

Hill Estimator не работает для SkewStudentT

Получается неверный результат если есть ассиметричность, настоящее значение 4, но он неверно определяет как 3 для левого и 5 дле правого хвоста. Или, скорей дело не в Hill а само распределение искажает хвосты? Никто не сталкивался? код

Hill Estimator не работает для SkewStudentT

На графике две линии должны стабилизироваться на отметке 4, а они показывают 3 и 5.

Прибыльны ли модели ARIMA/GARCH? Часть 2

    • 12 ноября 2016, 10:07
    • |
    • uralpro
  • Еще

Прибыльны ли модели ARIMA/GARCH? Часть 2

Продолжение. Начало здесь.

Вы, наверное, заметили, что в процедуре вычисления параметров модели, описанной выше, я запоминал действительные предсказанные значения, так же как и предсказания направления приращения цены. Я хочу исследовать предсказательную способность величины  приращения. Точнее, может ли фильтрация сделок, в случаях, когда величина предсказанного приращения ниже определенного порога, улучшить доходность стратегии? Код ниже представляет такой анализ для небольших порогах приращений. Для упрощения, я конвертировал логарифмы приращений в простые приращения, чтобы получить управление знаком предсказания и облегчения применения порога:

# Test entering a trade only when prediction exceeds a threshold magnitude
simp.forecasts <- exp(ag.forecasts) - 1
threshold <- 0.000025
ag.threshold <- ifelse(simp.forecasts > threshold, 1, ifelse(simp.forecasts < -threshold, -1, 0))
ag.threshold.returns <- ag.threshold * returns[(window.length):length(returns)]
ag.threshold.returns[1] <- 0 # remove NA
ag.threshold.curve <- log(cumprod( 1 + ag.threshold.returns))
both.curves <- cbind(ag.threshold.curve, buy.hold.curve)
names(both.curves) <- c("Strategy returns", "Buy and hold returns")

# plot both curves together
plot(x = both.curves[,"Strategy returns"], xlab = "Time", ylab = "Cumulative Return",
     main = "Cumulative Returns",  major.ticks= "quarters", #
     minor.ticks = FALSE, ylim = c(-0.2, 0.45), col = "darkorange")
lines(x = both.curves[,"Buy and hold returns"], col = "blue")
legend(x = 'bottomleft', legend = c("Strategy", "B&H"),
       lty = 1, col = myColors)


( Читать дальше )

Прибыльны ли модели ARIMA/GARCH? Часть 1

    • 29 октября 2016, 11:19
    • |
    • uralpro
  • Еще

Прибыльны ли модели ARIMA/GARCH? Часть 1

Статья из блога Robot Wealth.

Продолжая мои исследования в области моделирования временных серий, я решил изучить авторегрессивные и условные гетероскедатичные модели. В частности, я взял авторегрессивную модель ARIMA и общую авторегрессивную гетероскедатичную модель GARCH, так как на них часто сылаются в финансовой литературе. Далее следует описание того, что я узнал об этих моделях и основной процесс нахождения их параметров, а также простая торговая стратегия, основанная на предсказаниях полученной модели.

Сначала дадим несколько необходимых определений. Я не хочу воспроизводить всю теорию целиком, ниже дан краткий обзор моделирования временных серий, в частности ARIMA и GARCH моделей:

В первую очередь, вычисление ARIMA и GARCH моделей это способ узнать, при каких прошлых наблюдениях, шуме и дисперсии временной серии возможно предсказать следующее значения этой серии. Такие модели, параметры которых правильно установлены, имеют некоторую предсказательную способность, предполагая, конечно, что эти параметры остаются постоянными на некоторое время для данного процесса.



( Читать дальше )

Применение модели ARIMA-GARCH для прогнозирования курса рубля на R

    • 12 мая 2016, 11:12
    • |
    • SciFi
  • Еще
Продолжаю копать в сторону машинного обучения и применения R для количественного анализа в трейдинге.

Мои статьи про R, машинное обучение, количественный анализ

В этом посте я расскажу о применении модели ARIMA-GARCH для прогнозирования курса рубля на R. 
Нашел полезную серию статей на тему анализа временных рядов на R. Использовал эту статью.

Немного общей информации из википедии:

ARIMA (англ. autoregressive integrated moving average, иногда модель Бокса — Дженкинса, методология Бокса — Дженкинса) — интегрированная модель авторегрессии — скользящего среднего — модель и методология анализа временных рядов. Является расширением моделей ARMA для нестационарных временных рядов, которые можно сделать стационарными взятием разностей некоторого порядка от исходного временного ряда (так называемые интегрированные или разностно-стационарные временные ряды). Модель ARIMA(p,d,q) означает, что разности временного ряда порядка d подчиняются модели ARMA(p, q).

( Читать дальше )

....все тэги
UPDONW
Новый дизайн