Written and copyright © 2010-2013 by Thomas N. Bulkowski. All rights reserved.
This article discusses the Darvas box, how it's constructed, how it performs, and how to get it to work.
Darvas Box Summary
The Darvas setup for trading stocks fails miserably on the daily scale but works best using exchange traded funds on the weekly scale. The average gain is 10.5% per trade with
49% winning. Drawdowns can be large with the maximum for stocks being 48.5% with an average of the maximum drawdown for each trade being 13.7%. On a $10,000 per trade investment,
the return would be $1,047 with a hold time of about 10 months.
Darvas Box Background
Inspiration for this article came from two articles written by Daryl Guppy in Technical Analysis of Stocks & Commodities magazine, "Darvas-style trading" (May 2005)
and "Something Darvas, something new," (June 2005).
The April 2007 issue of Active Trader magazine also looked at the Darvas box in their Trading System Lab. They concluded, "The Darvas Box system is very simple and has the
potential to beat the market with proper money management."
The Darvas Box Setup
The setup sounds easy enough. You find a Darvas box and wait for price to close outside the box's boundaries. However, getting the implementation right took a week. What they don't tell
you in the rules I had to discover on my own. Here are the rules.
- Find a new 12-month high.
- Find the top of the box, which is the highest high for the next three days (4 days total).
- After finding the top, look for the bottom of the box. It's the lowest low for the next three days (4 days total).
- Once the box is complete, a close (Darvas used a new high) above the top of the box signals a buy. Buy at the open the next day.
- A close below the bottom of the box is the sell signal. Exit at the open the next day and then go back to step 1.
Step 1: A New High
Find a new yearly high. I tested this using quarterly and semi-yearly (6 months) of data and the yearly high works best. The yearly high is the highest high price over the last
year. The thinking here is that a new high will signal a momentum breakout, hopefully leading to a straight-line run. The straight-line run is where this technique works best. Stair-step
rises often lead to losses using this technique, especially if daily data is used.
Step 2: Find The Box Top
This sounds simple enough but it's actually tricky. The top of the box is a four day pattern. On day one, price makes a higher high, which will be the yearly high. The next three
days will have lower highs. They can be any value but they must remain below the first day's high. They do not need to be consecutively lower highs, where one high is below the
next. Those three days can have any value providing they remain below the high. I show examples in the Methodology section below.
What happens if price ties the 12-month high? Then use the most recent high and look for a box top again. That means the next three days must have lower highs. If not, or if
another tie happens, continue looking for a box top until you find a 12-month high followed by three days with lower highs.
Step 3: Find The Box Bottom
The search for the box bottom begins only after the top has been found. Begin the search for the bottom using the day price made the 12-month high (which should be the box top). Look for three consecutive
days in which price makes higher lows. It's possible that the first day marks both the box top (the highest high) and also the box bottom (the lowest low) of the next four days. That's
fine. More likely, though, is that price will make a new low in a few days and that will become the box bottom (providing price makes three higher lows thereafter).
Again, you're looking for a four day pattern. The first day is a low followed by higher lows. The higher lows can be any value providing they remain above the value of the first day.
Any ties and you'll have to begin looking for a new box low. I show examples in the Methodology section below.
Steps 4 and 5: Find The Trading Signal
Only after you have both a box top and a box bottom do you look for a trading signal. Darvas used a higher high above the top of the box or a lower low below the bottom of the
box as a trigger, however, you'll find that waiting for a close works better. In other words, a close above the top of the box signals an entry. A close below the bottom of the box
signals an exit. Ties with the box top or box bottom do not signal a trade.
Once an entry or exit signal occurs, trade at the open the following trading day.
What happens if you have an existing box, meaning you've found a box top and a box bottom and are waiting for a breakout, when price makes a new high above the box top but the
close remains below the box top? In that case, you begin searching for a
new box top. It's possible that you will form a new box with a higher top without triggering a buy. I found that situation in 3M stock when testing.
Think of this as having a conditional order with buy stop using the close on a stock at $10.01. A close at or above 10.01 will trigger a buy. If price makes a new high, say, 10.50
but the close remains below 10.01 in the coming three days, raise the buy stop to $10.51 because you've found a new box top (and assuming you also have a new box bottom).
Any time price rises above the box top, begin searching for a new box top. Once you have a new box top in place, look for a new box bottom to complete the new box. Use the old box top
and bottom to signal entries and exits until both the new box top and bottom are in place.
What happens when price makes a new low, but the close remains above the box bottom? You begin searching for a new box bottom. The existing bottom remains the exit signal, so
a close below the box bottom remains in effect until the new bottom is established. Thus, it's possible that a new, lower box bottom will occur without triggering an exit.
Testing showed that this happened 39% of the time. In other words, the stop loss price can move up (when a higher box is completed) or down (when price makes a lower low but not
a lower close).
Darvas Box Methodology
I tested the setup using 104 exchange traded funds and 557 stocks using data from March 12, 2001 to October 1, 2010, a period in which the S&P 500 index closed unchanged.
During that period, however, the market experienced two bull and two bear markets. Not all stocks or exchange traded funds covered the entire period. Commissions were $10 each way
($20 round trip) and no allowance for slippage or other factors was used. I began each trade with a value of $10,000 and then averaged the results for all trades.
I show an example of Darvas boxes in the chart on the right. The first peak occurs (let's assume a yearly high), when price peaks and then makes lower highs for the next three days.
In other words, each of the three highs remain below the first peak.
Another example of a box top is in the left inset. Price makes a new high and then the following three days have high prices that remain below the high set on the first day.
The three days need not have consecutively lower highs (each day's high is lower than the prior) to qualify as the inset shows.
This same philosophy applies to bottoms and the right inset shows this. Each low need not be a consecutively higher low (each low is above the prior one). Rather, they can be
any value providing they remain above the bottom set by the first day.
The box bottom in September is the first one that qualifies after the box top (remember, the top must appear first and be at a yearly high). In the first example, the box top is at
about 88 and the bottom is at 78, for a tall box.
When price rises to a new high in October, it signals a buy, which I show in blue. The actual purchase would be made at the market open the next day. Since price has made a new high,
the search for a box top would begin and be found a few days later. I raised the peak on the black box to show a new high (that is, I lengthened the black candle on the first box top in October). Your quotes may show a different combination of peaks and valleys.
A box bottom follows when price bottoms followed by three higher lows. The October box top would be about 90 and the bottom would be about 87.
Price makes a new high and forms a valid box top. Again, the search for a box bottom begins but does not occur by the time the chart ends. However, price has closed below the box bottom,
signaling a sale which would occur at the market open the next day.
This example may not be a valid Darvas box because I didn't check whether it's at a yearly high but look at the buy and sell prices. This box loses money! Looking at the setup in
several stocks reveals that on the daily scale, the system follows this configuration, that of opening a trade just before price peaks, ending in a losing trade. Perhaps this method worked
for Nicholas Darvas in the 1950s, but it doesn't today.
How bad is it? The following section answers that.
Darvas Box Results
The following table shows the test results. The top half of the table tests exchange traded funds and the bottom half tests a portfolio of stocks. The only parameter varied is
the time required for a new high to appear.
| New Hi |
| Win/Loss || Avg |
| Average |
| Hold |
| S&P || Hold |
| Trades || System || Description |
|91 d||39.0%||0.3%||6.1%||3.8%||-2.2%||45||980||ETFs|| |
|180 d||37.0%||0.2%||6.1%||3.9%||-2.5%||44||752||ETFs|| |
|365 d||38.0%||0.1%||6.1%||3.9%||-2.6%||45||540||ETFs|| |
|26 wks||47.0%||8.3%||13.7%||8.9%||-1.2%||271||327||ETFs|| |
|52 wks||49.0%||10.0%||13.8%||9.0%||-0.7%||291||271||ETFs||Does not allow lower stops|
|52 wks||46.0%||11.1%||15.8%||10.6%||-1.8%||322||277||ETFs||Buy new high, not on close above box|
| || |
|91 d||38.0%||0.1%||8.7%||6.1%||-1.9%||42||6230||Stocks|| |
|180 d||36.0%||-0.1%||8.6%||6.1%||-2.1%||42||4735||Stocks|| |
|365 d||35.0%||0.0%||8.2%||5.8%||-2.2%||41||3378||Stocks||Does not allow lower stops|
|365 d||36.0%||0.0%||8.3%||5.8%||-2.2%||41||3423||Stocks|| |
|52 wks||42.0%||6.9%||18.6%||13.1%||-1.7%||223||2410||Stocks|| |
I varied the time to search for a new high from 91 days (91 d) to 52 wks (weeks). The wks rows use weekly data; everything else uses daily data. The win/loss ratio is about what trend
following setups have, with success rates in the 30s. On the daily scale, the average gain is pathetic, especially for stocks, but for exchange traded funds (ETFs) as well. Switching from daily to
weekly doubles the maximum average drawdown. That's an average of all securities, each of which logs its worst drawdown per trade.
The hold time loss is how far price drops below the buy price during the trade, averaged over all trades.
The best of the bunch is to trade ETFs on the weekly scale with a new high period of 52 weeks (1 year). I did not try other tests (like 50 weeks, 49 weeks, and so on) other than those shown.
I chose this row because the drawdown and hold time losses are a bit less than the row below it. The average gain is less but the win/loss ratio is higher.
One test uses a high price above the box top to trigger a buy instead of a close above the box top (this is what Darvas used.). That test results in inferior results for the reasons I mentioned. Two other tests
do not allow lower stops. I mentioned above that this occurs about 39% of the time, but allowing a lower stop seems to improve results to a minor degree.
Since the weekly scale suggests a working system and the daily scale does not, I question the stability of this trading methodology. It should work in both environments. It's possible
that my implementation is in error, so be sure to test this before using it. Maybe you can get it to work better than I.
-- Thomas Bulkowski
Written and copyright © 2010-2013 by Thomas N. Bulkowski. All rights reserved. You've been spending too much time programming when your friend mis-dates a check and you suggest adding a "++" to fix it.