Interpreting ACF and PACF for Financial Returns
Summary
The document presents a researcher’s attempt to identify an ARIMA model for daily currency pair log returns. The researcher examines autocorrelation and partial autocorrelation plots, then applies a Ljung–Box test. The plots show no significant return autocorrelation beyond lag zero, and the reported test fails to reject the null of no autocorrelation through lag eight. This appears to conflict with the researcher’s intuition that returns described as mean reverting should show serial dependence.
The excerpt is a question rather than a resolved explanation, so it does not establish why the intuition and diagnostics seem inconsistent or provide a model selection method. Its useful lesson is the distinction between returns fluctuating around a stable mean and evidence of predictable serial dependence: a series centered near zero need not be mean reverting in the forecasting sense. The reported result is specific to the sampled data and test horizon; it does not demonstrate that all currency returns are white noise, nor does the document provide enough information to assess the data or model assumptions.
Key ideas
- A return series fluctuating around zero does not by itself demonstrate mean reversion.
- ACF and PACF plots are used to inspect serial dependence when considering ARIMA models.
- The reported Ljung–Box result finds no evidence of autocorrelation through lag eight in this sample.
- The excerpt raises a modeling question but does not include an answer or a complete diagnostic analysis.
Tags
Full text
# Interpreting ACF/PACF of return series # Interpreting ACF/PACF of return series Researching a return series on some currency pairs I grabbed 2 years worth of daily data and got to work trying to fit an ARIMA/GARCH model to it. Fitting the (log) return series: `r = tick2ret(midPrice)` and then calculating the ACF and PACF `autocorr(r)` `parcorr(r)` I get plots that look like: Clearly the return series is mean reverting with it's mean hovering comfortably around zero. About this time I usually say "a ha!" and spot the `p` and `q` I need to fit an ARIMA model from the ACF and PACF. However, the only lag here that is significant (considering ~5% of the lags touching will be by chance) is lag 0. This occurs on both the ACF and PACF. This means my return series is discrete white noise! That can't be right at all. Going further and performing the ljung-box test on the return series: `[h,p] = lbqtest(r,'Lags', 8);` Shows `h = 0` and `p = 0.7746` indicating we almost certainly have no autocorrelation up to lag 8. I feel like something is going wrong here. My intuition would tell me if the return series is mean reverting you would certainly have autocorrelation up to some lag. What could be going wrong here? I'm still new to MATLAB (coming from R) so it's possible I'm doing something wrong...but I don't think so...
Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.