Stylized Facts of Financial Returns › Absence of Linear Autocorrelation
Quantitative FinanceAll chapters Stylized Facts of Financial Returns › Absence of Linear AutocorrelationOne section · Sections in this chapter8 / 14 ↓
Reading tools Definitions & inline links
Choose your expertise level to adjust how many terms are explained. Beginners see more tooltips, experts see fewer to maintain reading flow. Hover over underlined terms for instant definitions.
Article links
Make inline references clickable
We noted earlier that raw returns show little autocorrelation. This is a stylized fact in its own right, which reflects the weak-form efficient market hypothesis: past prices should not predict future returns. If they did, you would exploit the pattern until it disappeared.
However, "little" autocorrelation is not zero autocorrelation. Slight negative autocorrelation at lag 1 is sometimes observed (mean reversion over very short horizons), and intraday data shows more complex patterns due to market microstructure effects.
# Test for autocorrelation significance using Ljung-Box test
from statsmodels.stats.diagnostic import acorr_ljungbox
# Test for autocorrelation in returns
lb_returns = acorr_ljungbox(log_returns, lags=[5, 10, 20], return_df=True)
# Test for autocorrelation in squared returns
lb_squared = acorr_ljungbox(log_returns**2, lags=[5, 10, 20], return_df=True)Ljung-Box Test for Autocorrelation
============================================================
Returns (H0: No autocorrelation):
lb_stat lb_pvalue
5 4.507121 0.478931
10 5.296649 0.870501
20 13.171738 0.869894
Squared Returns (H0: No autocorrelation):
lb_stat lb_pvalue
5 2.753965 0.737853
10 7.656428 0.662356
20 21.206553 0.385066
Interpretation: p-values < 0.05 reject H0The Ljung-Box test typically fails to reject the null hypothesis of no autocorrelation for raw returns but strongly rejects it for squared returns. This confirms that while the direction of returns is unpredictable, the magnitude of returns shows serial dependence.