Straddle Scaling - TraderPlan/wiki GitHub Wiki

Overview

This allows you to take advantage of dollar-cost-weighted-averaging, where the weight (or rate) of allocation increases as the price decreases. With no scaling, you'll be increasing your allocation by the same amount for each dollar decrease in price. With scaling, you'll be increasing your allocation by a higher amount for each dollar decrease in price.

This feature is useful when you want to wait for the price to drop much lower before allocating most of it. For example, let's assume you set your lower target price to $11,000 and upper target price to $25,000.

When no scale is used, you allocate 75% of your opportunity when the price is $14,500. When you're aggressively scaled, you allocate 75% of my opportunity when the price is $12,000. As you can see, the price needs to be much lower than if you were not scaled (linearly scaled). If you know the price is going to drop to $12,000, then using an aggressive scale will be more profitable because you saved myself from allocating at a higher price under the linear scale.

If you don't know whether the price will drop that low, then you will be more profitable using no scale (linear scale) or mild scale.

Examples

Scaled vs Linear Target % at different Price Points

Scaled Target Price Linear Target
75% $12,000 93%
50% $13,500 82%
25% $15,900 65%
Scaled Target Price Linear Target
37% $14,500 75%
13% $18,000 50%
4% $21,500 25%

Graph of Mathematical Models

Mathematical Model

The scaled function for the target percent ("scaledTarget") is calculated as follows:

let scaleFactor; // (->0, 2,3,4) = (none, mild, medium, aggressive)
let linearTarget = (upperPrice - currentPrice) / (upperPrice - lowerPrice); // between 0% and 100%
scaledTarget = sinh(scaleFactor * linearTarget) / sinh(scaleFactor);

You can simulate the scaled target function in Google Sheets.