Как построить график волатильности модели GARCH по данным временных рядов?

Я новичок в R Code и эконометрике. В настоящее время я создал пороговую модель GARCH для прогнозирования волатильности цен на активы. Мне трудно понять, как построить два графика друг над другом, пытаясь сравнить волатильность с фактическими временными рядами или даже использовать это, чтобы увидеть, как модель работает с фактическими данными.

spec.tgarch <- ugarchspec(variance.model = list(model = "fGARCH",
                                                submodel = "TGARCH",
                                               garchOrder = c(1,1)),
                         mean.model = list(armaOrder=c(1,0)))
tGarchModel <- ugarchfit(spec.tgarch, data=dl_data)
tGarchModel

vol <- ts(tGarchModel@fit$sigma^2,end = c(2024,1), frequency = 12)
plot(vol, xlab = "", ylab = "", main = "Threshold GARCH Volatility")

plot(ts_data, type = "l", col = "blue", ylab = "Price", xlab = "Time", main = "Comparison of Actual Volatility vs Model Predicted Volatility")
lines(vol, col = "red")

# Add a legend
legend("topright", legend = c("Actual Volatility", "Model Predicted Volatility"), col = c("blue", "red"), lty = 1)

Тем не менее, мне удается добавить на график только данные временных рядов (синие), а красная линия не появляется. Также появляется легенда.

Какая связь между dl_data и ts_data? Я предполагаю, что первое — это временной ряд вашей доходности. Непонятно, откуда взялось последнее.

datawookie 28.04.2024 07:17

@datawookie ts_data — данные временных рядов, dl_data = diff(log(ts_data)

dovexz12323 28.04.2024 18:25

Спасибо. Я предлагаю добавить это в код вашего вопроса, пожалуйста.

datawookie 29.04.2024 07:07
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
3
87
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я не совсем уверен, что вы хотите построить, но если предположить, что вы хотите увидеть доходность смоделированной волатильности на суше, возможно, что-то вроде этого?

spec.tgarch <- ugarchspec(
  variance.model = list(
    model = "fGARCH",
    submodel = "TGARCH",
    garchOrder = c(1,1)
  ),
  mean.model = list(armaOrder=c(1,0))
)
tGarchModel <- ugarchfit(spec.tgarch, data=dl_data)
tGarchModel

plt <- plot(
  dl_data,
  col = "darkgrey",
  xlab = "",
  ylab = "",
  main = "Threshold GARCH Volatility",
  grid.col = "lightgrey"
)
plt <- addSeries(sigma(tGarchModel), col = "red", on = 1)
plt <- addSeries(-sigma(tGarchModel), col = "red", on = 1)
plt

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

dovexz12323 28.04.2024 18:27

Обнаружение ошибки: ошибка в get(".xts_chob", .plotxtsEnv): объект '.xts_chob' не найден

dovexz12323 28.04.2024 18:49

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

datawookie 29.04.2024 07:05

Другие вопросы по теме