Friday, April 02, 2010

Bonus Post #2: A Different Method for Calculating Volatility-Adjusted Price Targets

My recent bonus post explained one of the ways that I've found helpful to think about and calculate price targets for the trading day. As background for this topic, please check out the posts on defining effective price targets and the importance of volatility in trade planning.

This will be my second and final bonus post on the topic. As with the earlier one, I will be keeping it on the site for a limited time as a thanks to current readers. If the ideas interest you, you might want to print the post out or jot down the relevant ideas.

In this post, I will explain how I calculate the daily price targets that I post each morning via Twitter. I'm in the process of tweaking my weekly target calculations and will wait for a future occasion to share those.


The calculations begin with the day's pivot level, as I define it:

Pivot = (H + L +2C)/4

Today's pivot price is defined as the average of yesterday's high price plus yesterday's low price plus two times yesterday's closing price. That gives us an approximation of yesterday's average trading price.

Going back to late 2002, we touch the pivot level during today's trade on 70% of all trading days. This is a useful "reversion" target if we open above the pivot, but cannot sustain buying or if we open below pivot and cannot sustain selling. (The current day's VWAP for the index futures contracts is generally my first reversion target).

As mentioned in the earlier post, the overnight high and low price and the prior day's high and low are generally my first price targets. Along with the pivot level and VWAP, those are generally targets for the first trades I will place during the day. Once I know those targets, it's a matter of: 1) discerning the balance between buying and selling sentiment, as well as sector and intermarket dynamics, to gauge direction; 2) assessing today's volume relative to yesterday's (and the prior five days' average volume) to gauge evolving volatility; 3) executing the trade in the identified direction at a price that provides a favorable level of reward relative to risk; and 4) holding the trade to the price target most likely to be hit given the market's current strength and volatility.

(The above paragraph is a concise description of how I trade on the day time frame).

The price targets above the prior day's high are identified as R1, R2, and R3. The price targets below the prior day's low are identified as S1, S2, and S3.

To calculate this levels, we need an estimate of recent volatility. That estimate in my calculations is the median daily price range for the past five trading sessions in SPY. Thus, each day we calculate the Daily Range: DR=((H-L)/O)*100. That is the difference between the day's high and low prices divided by the opening price multiplied times 100 (to give us a percentage). The Volatility estimate (V) for our calculations is the median of the prior five days' DR values.

As I mentioned earlier, going back to 2002, the median volatility for the prior five days correlates with today's volatility by .80. Knowing V gives us a good idea for today's DR.

So now we can define our R and S price targets:

R1 = Pivot + (.60*V)
S1 = Pivot - (.60*V)

Going back to 2002, we touch R1 or S1 about 84% of the time. If the volume today is anything like yesterday's volume, R1 or S1 should be hit during the day.

R2 = Pivot + (.80*V)
S2 = Pivot - (.80*V)

Going back to 2002, we touch R2 or S2 about 66% of the time. If today's volume is above average, we should hit R2 or S2 during the day.

R3 = Pivot + V
S3 = Pivot - V

Going back to 2002, we touch R3 or S3 about 50% of the time. If today's volume is meaningfully above average, we should hit R3 or S3 during the day.

R4 = Pivot + 1.2 V
S4 = Pivot - 1.2 V

Going back to 2002, we touch R4 or S4 about 36% of the time. We need to see volume today much greater than the recent average volume to have confidence in hitting R4 or S4.

Obviously, you could define R5 and S5 levels (and beyond) accordingly for relatively rare occasions of high volume trending and range breakouts.


These price levels were calculated and tested empirically in Excel using historical data. They are not based on any Fib or any other numerical scheme.

A worthwhile tweak on the above methodology would be to use today's Open price in lieu of the Pivot for the calculations.

Another tweak substitutes weekly data for daily data to use for swing trading.

Another tweak is to adapt the formulas to different trading markets.

Knowing how far a market is likely to move in a direction is invaluable in guiding the placement of stop and exit levels and calculating the risk/reward parameters of a trade. By adjusting price targets for recent volatility, traders can adapt quickly to faster and slower market conditions. The price targets are not necessarily hard exit levels; rather, they provide anticipation of where those proper exits are likely to occur.


Tariq said...

Hi Dr. Steenbarger,

can the same approach be used to calculate "effective price targets" as outlined your previous post and " Volatility- Adjusted price targets" for individual stocks? What are your observations if you backtested this method on individual stocks.

Tariq Malik

Hopkinton, MA

BirdMan said...

Thanks for this - and all your posts! Have a good holiday weekend.

SSK said...

Hello Brett, Thank you again for your insights on how you incorporate volatility into your equations. Best SSK

Ahmed said...

Thank you Dr. Brett, your generous as always. God bless you and your family.

Zen said...

Thanks Dr Steenbarger!

Question - I tried to run this same pivot calculation against a stock (CROX), and the range values seem exceedingly high. Do you know if these calculations work on individual stocks?

Thanks again!

wildman said...

Dr. Brett, as always, you show us as a smart scientist in this fascinating field. Thank you again.

Matthew C. said...

Thanks very much for offering this to your readers Dr. Brett. You're a man among men.

Jarl said...

I have been using your pivot point calculations for awhile now and have found them to be very helpful for trading the ES using your conversion factor.

Thanks for sharing the logic behind your backtested formulas!


teds said...


You stated that your pivot calculation is designed to "...give[s] us an approximation of yesterday's average trading price"

Why not use yesterday's closing VWAP value? Wouldn't that be by definition be a closer approximation of yesterday's average trading price?

Joshua said...

Very interesting...

Did you get meaningfully different results with the average 5-day volatility vs. the median. I have to assume you tried that variation.

Anyway, thanks for posting the secret sauce!


flan4 said...


How do you determine your constants, i.e. .60, .80, etc. You mentioned that one would need to taylor the constants to different markets. How would one go about determining what constants to use, based on what?

Thanks for sharing!

Gary said...

I am sorry but I cannot get the numbers to work in the formulas on this post. Is there anyone I can email about this to see an example? I have plugged the numbers into the SPY for today and cannot get the R1, etc.

Joshua said...

Depends on what platform you're using but I probably can...

[pdxjosh81 at gmail dot com]

stretch said...

Hi Brett,

I've been doing some calculations using this formula and noticed that since 2012 the correlation between the prior 5-day DR ave and tomorrows volatility has dropped significantly. I see the correlation now around 0.34 if I use data from 2012 onwards. I'm at a loss to explain why, and would love to hear your thoughts on this (and the larger question of how to approach a perceived breakdown in a statistical relationship).

Brett Steenbarger, Ph.D. said...

Great observation, Stretch. It is not unusual for relationships to break down during regime changes, making it crucial for traders to adapt. In the case of tracking volume, the past X days give some guidance for anticipating the current day's volatility, but the lower correlation means it's even more important to update those estimates with real time observation of how the current day's volume at each point in the day stacks up with the average for that time of day.