When Stop Losses Help Algorithmic Trading Systems
Summary
The document weighs whether stop losses belong in quantitative trading systems. One argument against them is that a position decision should respond to current forecasts and costs, rather than depend mechanically on the entry price. However, realized losses can provide evidence that market conditions have moved outside the strategy’s expected context. Comparing current strategy performance with its backtested profit-and-loss distribution, including extreme outcomes or factor exposures, can motivate pausing and reassessing the model.
Stop losses may also help manage scarce capital by freeing it for opportunities with better prospects. They provide operational protection when trading software, connectivity, or infrastructure fails, and a broker-side order can react faster than a remote algorithm during volatile markets. These benefits depend on the reason for the stop and its implementation. A fixed threshold can discard useful information if the system ignores subsequent market data, and execution delays, slippage, and opportunity costs complicate the choice. The discussion is conceptual and does not establish a universally optimal stop rule.
Key ideas
- Position decisions should generally account for current information and trading costs.
- Extreme losses relative to expected strategy behavior can signal that a model is out of context.
- Stops can release limited capital for alternative opportunities.
- Broker-side stop orders can provide operational protection and faster execution during failures or volatile markets.
- The value of a stop depends on its purpose, threshold, and implementation.
Tags
Full text
# Are stop losses irrational in algorithmic trading?
# Are stop losses irrational in algorithmic trading?
Lets say I have a trading system that trades a certain security. Assuming that I have no cost of entering and exiting a trade, the only thing the system should be concerned with is whether or not I should be in the position. The trading system should determine whether or not I should be in the position independently of what I have done previously (unless I have trading orders that affect the market substanially). Why? Because the security will move up and down completely independently of my previous trades.
I can only see two arguments for stop-losses
- If I have costs of entering/exiting trades, I should be concerned about not moving in and out of trades to much. But in that case, the system should still only be concerned about:
- Whether or not we should be in the trade
- Transaction costs
None of which has anything to do with at which time or at what price we entered the trade.
- One might want to stop the sytem completly, and do a re-assesment of it before we let the system continue trading. But in this case the system should be completly stopped and then re-assesed, not just simply exiting the trade and then continue taking trades.
I can definitely see how stop-losses might be useful for non-quantitative strategies, but for quantitative-strategies (algorithmic trading) they just seem completly irrational.
In a nutshell: A trading system wants to know whether or not we should be in a position. To answer this question we want to gather information about what might happen with the security in the future. Thus, one might look in the past at data to determine what will happen in the future. A stop-loss however, takes in what we have done in the past, which I don't believe says anything about what the security will do in the future.
## Answer by lehalle (score 3)
https://quant.stackexchange.com/a/83824
I like your idea that
> Thus, one might look in the past at data to determine what will happen in the future. A stop-loss however, takes in what we have done in the past, which I don't believe says anything about what the security will do in the future.
but you can use the past realisations to judge if you are under "expected circumstances" or not.
Typically, during your backtests you had a distribution of PnL (potentially projected on different factors), if you are loosing more than an extrême quantile, it is probably because your whole strategy (including the risk control layers) is currently out of context.
Mathematically speaking, your PnL (or its projection on a given factor) has a distribution $$dP\big({\rm PnL}\; \big|\; Data[:t-1], {\rm Model}\big)$$ that you can (thanks to Bayes rule) read as $$dP\big({\rm Model}\; \big|\; Data[:t-1], {\rm PnL}\big)\cdot\frac{dP\big({\rm Model}\; \big|\; Data[:t-1]\big)}{dP\big( {\rm PnL}\; \big|\; Data[:t-1]\big)}.$$
It means that you can understand an extreme (past) PnL as an indicator of an extreme case for you model that could be out of context. This explains why a stop loss can be useful, taken as stopping to interact with make dynamics that you do not understand.
## Answer by Eleazar (score 1)
https://quant.stackexchange.com/a/83805
Stop losses are not irrational. The reason someone uses a stop loss can be rational or irrational, but by themselves, they are NEVER irrational.
The main reason for using a stop loss is that there is an opportunity cost when trading. If you have a limited amount of capital, and that capital is mobilized in a financial product, that means this capital cannot be used elsewhere to do more profits.
It is better to cut the losses earlier and invest into another financial product that has better prospects in order to increase the income generated by a strategy.
## Answer by davidhigh (score 0)
https://quant.stackexchange.com/a/85250
In an ideal setup, and even with transaction costs, I would agree that stop- and limit-orders are irrational.
In principle, any stop-level that is set at trade opening and maintained on the broker side can also be managed by your trade algorithm. As soon as you do that, it becomes obvious that it's suboptimal to rely only on information from the past, i.e. from the time that the trade opened. There is simply no advantage in avoiding the information that happened since. So yes, in an ideal setup they're irrational.
In the real world, however, their use is far from irrational, due to the following reasons:
- Communication problems and robustness: your trade algorithm may fail for several reasons to really close the trade (bugs, network issues, soft- and hardware problems, and so on). Stop-losses are a safety net here.
- Execution order and slippage. In a volatile market, the delays that the evaluation and communication of the algorithm takes really can matter. Stop orders at the broker are likely to be executed more timely and thus introduce less slippage.
In summary, one would actually use stop-losses and set them at a pre-determined safety level, but configure them in a way that the algorithm still decides on the close in most cases (on the basis of current information).Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.