Skip to content
All library documents

Methods for Forecasting Forex Daily Ranges and Volatility

Article Quant Q&A · Author: Karthik.Krishnan

Summary

The document compares ways to estimate a currency pair’s next-day or intraday price range for purposes such as setting stops. It distinguishes return-based volatility models from high-low range measures, noting that GARCH conventionally models conditional variance from returns, while a range-based counterpart is known as CARR. Garman–Klass uses OHLC prices to estimate volatility, and a moving average of recent high-low ranges is a simpler alternative.

The answers emphasize that volatility changes over time, so a static estimate may be unsuitable; moving windows or conditional models can respond to variation. They also suggest evaluating estimators for the intended use through backtesting, while warning that distributional assumptions affect confidence intervals and that fat tails may call for alternatives to a Gaussian model. One answer proposes interest-rate differentials for predicting currency movement, but this is not a direct method for forecasting intraday range. No comparative test results establish which approach works best.

Key ideas

  • GARCH models conditional return variance, while CARR models conditional high-low ranges.
  • Garman–Klass derives a volatility estimate from OHLC prices, but a single static estimate may miss changing volatility.
  • A moving average of recent ranges is a simple forecasting baseline.
  • Choose among estimators by testing them against the intended trading use.
  • Gaussian confidence intervals can understate tail behavior when returns are not normally distributed.

Tags

Full text
# How to predict daily range of forex?


# How to predict daily range of forex?












I am trying to predict the intraday moving range of stock/forex (essentially, high-low). Here are some ideas based on what I've been reading recently (do not have quant background, so basic level of understanding).

1) GARCH can be used to model volatility. This seems to model intraday returns (close-open) and not necessarily the daily range. Are there any implications if I choose (high-low) as proxy for returns ? The purpose of using the range predictor is mainly to figure out my stops based on my entry point.

2) I also came across GARMAN-KLASS (OHLC) volatility estimator. Any pros/cons on using this volatility estimator as a time series and use a weighted moving average to predict next-day volatility and map that volatility to a range ?

3) Lastly, the most basic option would be to simply use a weighted moving average of recent ranges and use that as a prediction ?

Appreciate any inputs.

[*EDIT - I've posted this on main page as well since I see this is beta and I am not sure if this gets as much traffic. Please merge when there is a response *]

## Answer by dns (score 3)

https://quant.stackexchange.com/a/20912

As far as I know, technical analysis won't work to predict intraday Forex movement. I've done so many backtest using technical analysis but it doesn't have any predictive power.

The best way to predict FOREX is to find the difference of interest rates issued by both government of that currency pair.

$$ Pn = P_0 . e^{(r_{jpy}-r_{usd}) \Delta t } $$ $$ \Delta t=\frac{t_n-t_0}{365} $$ From that you can predict daily currency pair change/movement by continuously compounding the interest rate.

You can directly backtest the formula above using USDJPY pair with interest rates issued by US & Japan government in previous year.

$$ \sigma = \sqrt{ \frac{\sum\limits_{n=1}^{365} (P_n- \bar{P} )^2 }{365} } $$

Theoritically you can also predict volatility after you calculate all the prices. Then you can use GARCH to predict intraday price (OHLC).

## Answer by André Christoffer Andersen (score 0)

https://quant.stackexchange.com/a/20919

You could just go with a straight confidence interval. I'll explain it in terms of Gaussian/normal distribution, however, for professional use I'd take the extra steps to do bootstrapping and fitted some fat tail distribution.

- Select some time lag for your data.

- Calculate the rate of returns for each time step.

- Calculate the standard deviation and mean of the rate of returns. Say the standard deviation is $2\%$ and the mean is $3\%$.

- Choose a confidence interval, say, $95\%$.

- Use the inverse of the distribution for the interval $2.5\%$ and $97.5\%$ (a width of $95$ percentage points). This gives z-values of $-1.96$ and $+1.96$.

- Calculate the interval, which comes out to be $-1\% \approx 3\% - 1.96 * 2\%$ and $+7\% \approx 3\% + 1.96 * 2\%$.

- If you own $\$1000$ of the currency in question then your confidence interval would be between $\$990 = 1000 \times (1+0.01)$ and $\$1070 = 1000 \times (1+0.07)$ with a confidence of $95\%$, meaning that you typically wouldn't see the price go over or under this interval more often than once every $20$ days $(=1/0.05)$.

Again, read up on other distributions than the Gaussian one. Also, note that higher confidence creates wider intervals.

## Answer by RA334 (score 0)

https://quant.stackexchange.com/a/25270

As you can tell, there are many ways to estimate volatility (standard deviation, range, etc.). What is better or worse depends on the use-case. What all volatility estimators have in common are that they try to measure variability. If this is for trading strategy development, you'll probably want to backtest a variety of methods to see what works best. Some notes on the approaches you mentioned:

GARCH: You can estimate a GARCH model based on range data: I believe the formal term for this specification is CARR (conditional autoregressive range). Classical GARCH uses squared daily returns data to estimate conditional volatility as variance/standard deviation.

Garman-Klass: This is a static estimate which gives you a volatility estimate in terms of standard deviation (like classic GARCH). It is a stylized fact of financial markets that volatility is time-varying, so assuming volatility is constant is risky here. Using a moving window estimate could be a crude solution.

Moving Average of High-Low range: CARR is a sophisticated version of what you described here. ARMA and GARCH processes are types of exponentially smoothed moving averages, with an additional mean-reversion term.

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.