Sizing
The real question regarding sizing is simply a mathematical one.
Starting with Base Sizing
D = Highest potential unrealized drawdown per contract
R = Total risk (balance) available for drawdown
N = Number of contracts to trade.
If I am trading in my cash account and I decide I only want to risk $10,000 (make your own decisions here, don't blindly follow me!), then let's look at the following equation:
⌊N⌋ = R / D
Let's put that into practice.
We want to find the number of contracts, thus a ⌊floor⌋ of N (since we can't trade fractional contracts).
We'll say my total risk (balance available for drawdown) is $10,000.
We'll say the largest total drawdown seen over the past 12 months, per contract without martingale, is $3,460 (picking a random number).
Our mathematical equation becomes
10000 / 3460 = ⌊2.89⌋ = 2
Therefore, I can trade a maximum of two contracts with my intended drawdown. This method is especially useful if I don't know unrealized drawdown, and only realized, so flooring the result will give me a safety margin.
Now, this doesn't include martingale of course. So how do I calculate that?
Two potential methods.
#1 I go with my initial number as a maximum.
E.g. I trade 1 contract base, 2 contract martingale max.
#2 Using the following formula:
M = Maximum Martingale Multiplier
Base = ⌊R / (D * M)⌋
E.g.:
With a total risk of say, $15,000, and potential per contract drawdown of $800, and a maximum of 2 levels of martingale and thus a x4 multiplier:
15000 / (800 * 4) = ⌊4.68⌋ = 4 Base Contracts.
With 4 base contracts and those numbers, 4 base -> 8 MG -> 16 MG max would be the result.
Those would be the methods I use to find my initial base sizing. Of course this is what I personally do. This is presented only educationally, and IS NOT tailored to any particular person's situation. I WILL NOT ANSWER QUESTIONS ON THIS.
Scaling
Scaling is an odd duck, and can be done in numerous ways.
For maximum aggressive scaling, then I can just add a contract every time my potential maximum drawdown would support it.
In a non-martingale for example, if I would have a potential maximum drawdown of $1300 per contract, then when I have an additional $1300 available in the balance then I could potentially consider increasing my position size.
With martingale I have to do some math. It's quite easy though, simply repeat the previous equation:
Base = ⌊R / (D * M)⌋
If I repeat it with my adjusted R, and now my floor is a higher integer, then I can add another contract.
Note I said that those would work if I wanted to pursue a method with maximum aggressiveness. Personally I'm not looking for that.
I'm likely going to use these methods but increase the calculated drawdown to delay increasing the base size. Lets get into that next.
Calculating the drawdown
When calculating the drawdown we can approach it a few ways.
A maximum aggressive mindset will take the drawdown literally. That's not how I look at it. Personally I add 50% at least to the number.
So if I backtest a strategy for the last year and find a drawdown of $800, I'll use $1200.
That's generally my approach.
Starting with Base Sizing
D = Highest potential unrealized drawdown per contract
R = Total risk (balance) available for drawdown
N = Number of contracts to trade.
If I am trading in my cash account and I decide I only want to risk $10,000 (make your own decisions here, don't blindly follow me!), then let's look at the following equation:
⌊N⌋ = R / D
Let's put that into practice.
We want to find the number of contracts, thus a ⌊floor⌋ of N (since we can't trade fractional contracts).
We'll say my total risk (balance available for drawdown) is $10,000.
We'll say the largest total drawdown seen over the past 12 months, per contract without martingale, is $3,460 (picking a random number).
Our mathematical equation becomes
10000 / 3460 = ⌊2.89⌋ = 2
Therefore, I can trade a maximum of two contracts with my intended drawdown. This method is especially useful if I don't know unrealized drawdown, and only realized, so flooring the result will give me a safety margin.
Now, this doesn't include martingale of course. So how do I calculate that?
Two potential methods.
#1 I go with my initial number as a maximum.
E.g. I trade 1 contract base, 2 contract martingale max.
#2 Using the following formula:
M = Maximum Martingale Multiplier
Base = ⌊R / (D * M)⌋
E.g.:
With a total risk of say, $15,000, and potential per contract drawdown of $800, and a maximum of 2 levels of martingale and thus a x4 multiplier:
15000 / (800 * 4) = ⌊4.68⌋ = 4 Base Contracts.
With 4 base contracts and those numbers, 4 base -> 8 MG -> 16 MG max would be the result.
Those would be the methods I use to find my initial base sizing. Of course this is what I personally do. This is presented only educationally, and IS NOT tailored to any particular person's situation. I WILL NOT ANSWER QUESTIONS ON THIS.
Scaling
Scaling is an odd duck, and can be done in numerous ways.
For maximum aggressive scaling, then I can just add a contract every time my potential maximum drawdown would support it.
In a non-martingale for example, if I would have a potential maximum drawdown of $1300 per contract, then when I have an additional $1300 available in the balance then I could potentially consider increasing my position size.
With martingale I have to do some math. It's quite easy though, simply repeat the previous equation:
Base = ⌊R / (D * M)⌋
If I repeat it with my adjusted R, and now my floor is a higher integer, then I can add another contract.
Note I said that those would work if I wanted to pursue a method with maximum aggressiveness. Personally I'm not looking for that.
I'm likely going to use these methods but increase the calculated drawdown to delay increasing the base size. Lets get into that next.
Calculating the drawdown
When calculating the drawdown we can approach it a few ways.
A maximum aggressive mindset will take the drawdown literally. That's not how I look at it. Personally I add 50% at least to the number.
So if I backtest a strategy for the last year and find a drawdown of $800, I'll use $1200.
That's generally my approach.