QLIKE loss function to evaluate forecasting model of log(realized volatility)
QLIKE loss function to evaluate forecasting model of log(realized volatility)
Loading saved threads...
Fra_Ve · External communityPost link
External question — Quantitative Finance Stack Exchange
Author: Fra_Ve
Original post: https://quant.stackexchange.com/questions/31367
License: CC BY-SA 3.0 — https://creativecommons.org/licenses/by-sa/3.0/
Adaptation: HTML converted to plain text; contact email addresses removed.
I use QLIKE as loss function to evaluate the forecasting performance of a RV realized volatility model.
QLIKE = log $h$ + $\frac{\hat{\sigma}^2}{h}$
where $h$ is volatility forecast and $\hat{\sigma}^2$ is the ex post value of volatility (realized volatility computed with intraday returns).
If I proxy volatility with log(RV), what are $h$ and $\hat{\sigma}^2$ in the QLIKE? The forecast and ex post value of log(RV) or the forecast and ex post value of RV? If I keep the logs, $h$ is sometimes negative and I have the problem of a log of a negative quantity. I'm not sure if I should come back to RV with exponential of the forecast of log(RV) or I should, for instance, replace log(RV) with log(1+RV).
Quote
Report
Summer_More_More_Tea · External communityPost link
External answer — Quantitative Finance Stack Exchange
Author: Summer_More_More_Tea
Original post: https://quant.stackexchange.com/a/80151
License: CC BY-SA 4.0 — https://creativecommons.org/licenses/by-sa/4.0/
Adaptation: HTML converted to plain text; contact email addresses removed.
You should recover the forecast to the variance level and apply the qlike loss.
Quote
Report
carry_and_pray · External communityPost link
External answer — Quantitative Finance Stack Exchange
Author: carry_and_pray
Original post: https://quant.stackexchange.com/a/85610
License: CC BY-SA 4.0 — https://creativecommons.org/licenses/by-sa/4.0/
Adaptation: HTML converted to plain text; contact email addresses removed.
In QLIKE,
$h$
and
$\hat{\sigma}_t^2$
should be on the variance/realized-variance scale and not on the log-scale.
The standard QLIKE loss is,
$$
L_t^\text{QLIKE} (h_t, \hat{\sigma}_t^2) = \frac{\hat{\sigma}_t^2}{h_t} - \log \left( \frac{\hat{\sigma}_t^2}{h_t} \right) - 1,
$$
which is equivalent up to an additive term that does not affect forecast ranking to,
$$
L_t^\text{QLIKE} (h_t, \hat{\sigma_t}^2) = \log h_t + \frac{\hat{\sigma}_t^2}{h_t}.
$$
Patton
shows that QLIKE is the loss that depends only on the standardized forecast error
$\hat{\sigma}_t^2 / h_t$
and
Liu-Patton-Sheppard
use it exactly with
$\hat{\sigma}_t^2$
as quadratic variation or a proxy for it, and
$h_t$
as the volatility forecast.
So if your model is for
$y_t = \log(RV_t)$
then the output of the model is a forecast of
$\log(RV_t)$
, say
$\hat{y}_t$
. That is not what goes into QLIKE directly. Instead, QLIKE needs a positive forecast of
$RV_t$
so you must back transform via
$h_t = \exp(\hat{y}_t)$
. In particular, you should not plug
$\hat{y}_t$
itself into QLIKE because QLIKE needs
$h_t > 0$
and log forecasts can be negative even when the underlying variance forecast is perfectly sensible.
There is one subtlety, that is, if
$\hat{y}_t$
is a forecast of the conditional mean of log variance i.e.,
$\hat{y}_t \approx \mathbb{E}[ \log RV_t \mid \mathcal{F}_{t - 1} ]$
then
$\exp(\hat{y}_t)$
is generally not the conditional mean of
$RV_t$
because of Jensen's inequality. It is closer to a conditional median unless you make further assumptions.
If you want a forecast of the conditional mean
$RV_t$
and you assume that
$\log RV_t \mid \mathcal{F}_{t - 1} \sim N(m_t, s_t^2)$
then the appropriate back-transform is
$h_t = \exp \left( m_t + \frac{1}{2} s_t^2 \right)$
.
More generally, some bias correction or smearing adjustment is needed whenever you forecast logs but evaluate in levels (correction about back-transformation and not about QLIKE itself).
Quote
Report
Post Reply
Quoted from Forex.com.bd-Editorial External answer — Quantitative Finance Stack Exchange Author: carry_and_pray Source score (net votes, not local likes): 0 Original post: https://quant.stackexchange.com/a/85610 License: CC BY-SA 4.0 — https://creativecommons.org/licenses/by-sa/4.0/ Adaptation: HTML converted to plain text; contact email addresses removed. In QLIKE, $h$ and $\hat{\sigma}_t^2$ should be on the variance/realized-variance scale and not on the log-scale. The standard QLIKE loss is, $$ L_t^\text{QLIKE} (h_t, \hat{\sigma}_t^2) = \frac{\hat{\sigma}_t^2}{h_t} - \log \left( \frac{\hat{\sigma}_t^2}{h_t} \right) - 1, $$ which is equivalent up to an additive term that does not affect forecast ranking to, $$ L_t^\text{QLIKE} (h_t, \hat{\sigma_t}^2) = \log h_t + \frac{\hat{\sigma}_t^2}{h_t}. $$ Patton shows that QLIKE is the loss that depends only on the standardized forecast error $\hat{\sigma}_t^2 / h_t$ and Liu-Patton-Sheppard use it exactly with $\hat{\sigma}_t^2$ as quadratic variation or a proxy for it, and $h_t$ as the volatility forecast. So if your model is for $y_t = \log(RV_t)$ then the output of the model is a forecast of $\log(RV_t)$ , say $\hat{y}_t$ . That is not what goes into QLIKE directly. Instead, QLIKE needs a positive forecast of $RV_t$ so you must back transform via $h_t = \exp(\hat{y}_t)$ . In particular, you should not plug $\hat{y}_t$ itself into QLIKE because QLIKE needs $h_t > 0$ and log forecasts can be negative even when the underlying variance forecast is perfectly sensible. There is one subtlety, that is, if $\hat{y}_t$ is a forecast of the conditional mean of log variance i.e., $\hat{y}_t \approx \mathbb{E}[ \log RV_t \mid \mathcal{F}_{t - 1} ]$ then $\exp(\hat{y}_t)$ is generally not the conditional mean of $RV_t$ because of Jensen's inequality. It is closer to a conditional median unless you make further assumptions. If you want a forecast of the conditional mean $RV_t$ and you assume that $\log RV_t \mid \mathcal{F}_{t - 1} \sim N(m_t, s_t^2)$ then the appropriate back-transform is $h_t = \exp \left( m_t + \frac{1}{2} s_t^2 \right)$ . More generally, some bias correction or smearing adjustment is needed whenever you forecast logs but evaluate in levels (correction about back-transformation and not about QLIKE itself).
Checking account access…