August 27

17 comments

Risk-Based Position Sizing

By Jeff Swanson

August 27, 2018

EasyLanguage, ES, position sizing, stock index futures

Let’s start with a thought experiment. Let’s say we have two traders who are each given identical trading systems to execute on the SPDR S&P 500 ETF (SPY).  Because both systems are identical copies of an automated trading system, both trading systems generate the same buy/sell signals, use identical stop loss and trailing stop parameters.

These two trades are also going to start trading on the same day, with the same starting account size.  In essence let’s pretend we have two traders that have identical trading circumstances. At the end of the trading period, we would expect them to have the same account balance, right?

But at the end of the trading period, reality has made fools of us. One trader generated nearly twice as much net profit. How can this be?

Reviewing the trading results for both traders you can see both traders took the same signals. Both traders have the same win/loss ratio and even the same number of stop-out trades. But there is one difference. One trader used a simple mathematical formula to determine how many shares to buy. This formula utilized a risk-based metric to calculate the number of shares thus, help to protect the trader from risk. His account grow at a much faster rate.

Position sizing is an integral part of both system trading and discretionary trading alike. It answers the question, how many shares or contracts should I buy? Too often this question is answered by nothing more than an educated guess. Too many traders position size their trades by not accounting for risk in determining the number of units to buy. In doing so you could be sabotaging your results, your system and maybe your career as a system trader!

By tying your trade size to a risk metric you are acting defensively in the face of a dynamic market. Managing risk should be a top priority of any good trader. Thus, using a risk-based metric to help you mathematically determine how to size your trade is vitally important. For most people they simply use a fixed number of shares or dedicate a fixed dollar amount for a trade. Let’s think about this for a moment.

When a trading system generates a new buy signal you could risk all of your cash on that one signal. If you win you might double your money very quickly. Yet if you lose, your account it at zero. It’s probably not a good idea to bet all your account on a single trade, right?  Most people understand this extreme example and thus, will not bet their entire trading equity on a single trade. It’s way too foolish.

So, how much do you bet? Maybe 90% of your account? Or maybe you decide 100 shares is about right. What many system developers fail to see is how their trade size affects the risk and reward of the given trade.

As you risk more, the payoff can be greater. However, risk too much and you can be quickly wiped out by a string of losing trades. There exists a theoretical optimal balance between the risk and reward based upon the given trading system.

Your job is to find a near optimal level that is comfortable for you as a trader. While talking about the nuances on finding an optimal position sizing method for a given trading system is well beyond this article, I’m going to demonstrate the difference between using a risked-based position sizing algorithm vs. simply buying a fixed number of shares. Buying the fixed number of shares will represent what most people do (not taking into account a risked based metric to properly size their trades for the given market conditions).  

Does using a risk based really help? Let’s find out.

Our Trading System

We will be using a simple strategy model for our demonstration on position sizing algorithms. I chose a simple RSI based system since most strategy traders have experience with this type of setup. I based our testing on daily SPDR S&P 500 ETF (SPY) data going back to 2/1/1993. Trades are executed on a daily bar and all trades are long only. Calculations are performed at the end of the trading day and orders are placed at the open of the next trading day. In all cases, we assumed a starting capital of $50,000. $20 for commission and $.02 per share for slippage was accounted for each round trip.

  • Go Long When: 2-Period RSI is below 10
  • Exit When: 2-Period RSI > 70

Below is an example of the strategy trading on the daily chart of SPY over the past couple of months.

Method 1 Fixed Shares

The fixed-share method is a non-risk-based method. In this case we simply buy the same number of shares (200) for each signal.

Shares To Buy = 200

Method 2 Fixed Dollar

The fixed-dollar method is a non-risked based method. In this case we simply dedicate the same dollar amount for each signal. In this case we are going to use 50% of our starting equity to each signal which comes out to be $25,000 per trade.

Shares To Buy = $25,000 / Current Price

Method 3 Percent Risk

The percent-risk method is a risked based method. In this case we determine a fixed percentage of our equity (2%) to risk on each signal. This dollar amount is then divided by the dollar amount you are willing to risk on a individual trade. If our trading system had a known stop value we would use this value in our calculation. However, since our demo trading system has no stop value we are simply going to estimate a dollar number based upon the security’s price. Let’s use 5% of ETF price as the amount to risk. For example, let’s say SPY is trading at $100 and we are willing to risk five percent. Thus, we are risking $5 ($100 * .05 = $5 ). As the amount we risk climbs, we reduce the number of shares to purchase.

Shares To Buy  = (2% of Total Equity) / ( 5% of  Current Price)

Method 4 Percent Volatility

The percent-volatility method is a risked based method. In this case we determine a fixed percentage of our equity to risk on each signal. For our example we are going to risk 2%. We then take this dollar amount and divide it by a multiple of the security’s 10-day average true range. In our case we are using 3 times the 10-day average true range. In other words, we are dividing our risk capital by the average amount the security moves within 3 days. As volatility increases we reduce the number of shares to purchase.

Shares To Buy  = (2% of Total Equity) / 3*(10-Day Average True Range)

Conclusion

Trade Size Results for SPY

Fixed Shares

Fixed Dollar

Percent Risk

Percent Volatility

Net Profit

$31,752

$17,227

$42,962

$33,140

Profit Factor

1.89

2.12

2.22

2.28

Total Traders

225

219

219

219

%Winners

72%

72%

73%

73%

Avg.Trade Net Profit

$141.12

$78.67

$196.17

$151.33

Annual Rate of Return

4.27%

2.73%

5.21%

%4.40

Sharpe Ratio

0.12

0.12

0.13

0.12

Max Drawdown(Intraday)

$6,652

$3,714

$9,650

$4,531

In this article I wanted to demonstrate the difference between non-risked based position sizing methods (Fixed Shares and Fixed Dollar) and risk-based methods (Percent Risk and Percent Volatility). As you can see our demo trading system generates improved trading performance with the risk-based positions sizing methods. You can see this with the increase with the Profit Factor scores as well as the increased profit per trade. Most traders simply use the non-risk based methods or guess the number of shares. Such a strategy may not be optimal for your trading system. It will be important to test different position sizing methods to find out what works best. 

While this is far from an in-depth look at position sizing and how it can be used to improve your trading, this should highlight the impact a position sizing model can have on your system. 

Jeff Swanson

About the author

Jeff has built and traded automated trading systems for the futures markets since 2008. He is the creator of the online courses System Development Master Class and Alpha Compass. Jeff is also the founder of EasyLanguage Mastery - a website and mission to empower the EasyLanguage trader with the proper knowledge and tools to become a profitable trader.

  • Method 2 – Fixed Dollar
    You use 25% of your starting equity and get an answer of $25,000 implying that your starting equity is $100,000.

    Yet, at the beginning of the article, you state that the starting equity was $50,000?

    I am going to guess that you meant to say 50% of starting equity.

    Have a good one.

  • I’m not sure that this shows the benefits of risk-based position sizing as much as just the effects of compounding your equity. In methods 1 and 2, you are not compounding your equity. In methods 3 and 4, you are. (I.e., in those methods, the number of shares being traded depends on the current amount of equity, which is increasing.) There is a greater return in methods 3 and 4, given the effects of compounding.

    In practice, nearly every trader will use some form of compounding. If you have a system that has positive returns over a period of months or years, you’ll naturally increase your position sizing as your equity increases. Methods 3 and 4 just make that explicit.

    • This is a good point. While the benefits of risk-based position sizing can be debated the main point was to demonstrate how different position sizing models can produce different results. The compounding effect is powerful and as you pointed out, method 1 and 2 do no use it. Thus, it’s a good illustration of what compounding can do for you. It is also interesting to note that method 1 (not compounded) and method 4 (compounded) produce similar net profit but method 4 has a better profit factor and higher average dollar per trade.

  • Hi Jeff,

    With methods 1 and 2 not compounding, why does method 1 generates $31,752 profit ($30,905 if reduced proportionally for the total trades) vs. $33,140 for method 4? These numbers are very close.

  • Nice post. For position sizing software, check out Mike Bryant’s MSA (Market System Analyzer). Best $350 I’ve spent on software (right next to Amibroker). No relationship to Mike, just a happy customer. MSA has a tie into Tradestation, too. He’s great about answering questions/emails.

  • Hi Jeff,
    Some time ago, over 10 years ago I launched my Money, Risk and Trade Management program called JBL Risk Manager. It is much simpler to use than most, simple reporting at a glance and uses a risk based percentage position sizing metric and I would value your opinion, thank you

    Joseph

  • Hi Jeff

    Can you please explain why you have used 3 x ATR. I now understand how to calculate ATR from a spreadsheet I made because my trading platform does not do it for me but I am confused why people advise to find a multiple of the ATR that suits your style or system. Most people advise to subtract the ATR from the entry price and I have settled on using the 10day ATR for my calculations as I understand the the shorter the ATR time frame the more quickly the ATR is responding to volatility much like a shorter moving average compared to a longer moving average. (the longer average is more smoother) But I dont have understanding of the multipulcation factor 1 or 2 or 3.
    Thanks in advance Jeff for this good article.

    • Hello Justin. The value of three was simply picked based on some rough experimentation. I wanted the stop value to be well out side of the noise of normal market movement, so three times that average true range, worked out to be a decent value. In essence we are setting a “wide” stop value based on the current volatility. Three times the ten-day ATR means we need an extreme price move which exceeds the current ATR value by three times. Again, it’s no magic number but one that could easily be modified based upon your needs.

      • Hi Jeff
        I have since reading your response set my atr(10)multiple at 1.5.

        I am not trading for real yet but doing simulated trading but with real market figures and I have found that a 1.5multiple is just too tight for my system. I have been stopped out so far by what seems to be market noise so I am changing my atr(10) multiple to 3.

        I have read that many people use 2 and many also use 3 so for now I will try a multiple of 3.

        Thanks for the response back in June. I read it but never got back to you because I need time to learn more. Thanks heaps Jeff

  • RE: “Let’s use 5% of ETF price as the amount to risk.”

    This is where mean reversion strategies like this that lack a hard stop first become problematic. You could use the average losing trade instead of the arbitrary 5%, but there will be just as many larger losses than the average as there will smaller losses. You could use the largest historical losing trade (summer of 2011?), but who’s to say that future losses won’t be larger?

    One method that I have used is an ATR with a lookback equal to the average bars in a winning trade – but using strategy performance metrics for position sizing actually creates a feedback loop into the strategy itself, which can be problematic.

    At the end of the day, without actually introducing a hard stop into the strategy, it’s pretty difficult to arrive at anything more meaningful than an arbitrary percentage that is larger than the largest historical loss.

    • Larger losses are always in the future. This is something everyone must accept. In the case of not having a stop you could simply position size based upon the past 10 or 20 days volatility, which is basically what you recommended with your ATR method. Here is a link to a function which will do that: http://www.systemtradersuccess.com/downloads/free/_CE_Normalize_Units_vs_Volatility.txt

      At least this will adapt the number of shares based upon recent volatility. Furthermore, you could always place a catastrophic hard stop with each trade to limit risk. Thus, you’re adjusting your risk based upon volatility with the added safeguard of a hard stop limiting those rare occasions where the market just falls apart, such as summer of 2011.

    • I generally stay away from the Kelly formula because it’s often too aggressive. But it would be kind of interesting worth testing. I’ll put it on the to-do list and update the article. Thanks for the email!

  • {"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

    Learn To Code & Build Strategies
    Using EasyLanguage. 

    >