TSSF (Trading System Safety Factor)

Modified on 2019/11/28 05:05 by Eugene — Categorized as: PosSizers

This PosSizer fluctuates the position size between a minimum and maximum value based on the Trading System Safety Factor (TSSF). TSSF was invented by Russian asset manager Mikhail Korolyuk in the early 2000s in an article "Be in phase". In short, the TSSF evaluates a trading system's rolling performance using a time window of N trades through the following formula:

Average Win / Absolute Average Loss / ( ((110% - %Win) / (%Win-10%) + 1) )

You have the option to specify the position's minimum and maximum thresholds (as percentage of equity), plus define the TSSF level above which the maximum position size is applied. When TSSF drops below a certain threshold, indicating that the system's conditions are sub-optimal, positions will be sized at the minimum size. Finally, define the initial size as a percentage of equity which will be used to size the first N trades (20 by default) before the rolling TSSF value becomes available.


For the last 30 closed trades, your winning rate was 56%, the average winner and average losing trade were $590 and ($486) respectively. Consequently, the rolling TSSF ratio is 0.56 and it will apply to any new position being opened while your closed positions count isn't changed.


There's a chance that PosSizer stops trading in a drawdown (with a 0 position size) and can never recover: the equity flat-lines and backtested trades will stop. To avoid a complete halt, option "Include raw trades (ghost trading)" comes into play. It sort of builds a "simulated equity" by looking not at only the accepted trades but at all possible positions (including rejected).