Finance likes to present itself as rational. There is a strategy, an entry rule, an exit rule, and a neat backtest (a historical test of the strategy). On paper, everything looks perfect. In real life, however, there is a human being standing between the rule and the “buy” button. And humans do not execute systems perfectly. They hesitate, delay exits, add risk after a winning streak, and postpone decisions exactly when action is required.
In this case study, I took a simple baseline strategy: SPY (an exchange-traded fund tracking the S&P 500 index) with a 200DMA rule (200-day moving average: if price is above it, we stay in position; if price is below it, we move to cash). Then I left the market unchanged (How do I?😅) and changed only the behavior of the person executing the system. In other words, I layered four typical cognitive biases on top of the same strategy and observed what they did to the result.
The result was stronger than I expected. Two biases barely damaged the system. Two made it worse. One delivered a very strong positive effect. And the combination of all four created a strange but logical outcome: the strategy almost turned into buy and hold and made only one trade during the entire period.
Which models I tested
I do not like talking vaguely about “emotions in the market,” so I translated each bias into a clear rule that can actually be programmed. Each psychological phenomenon became a separate behavioral model.
1. House money effect (acting as if recent profits are “free money”): after a streak of winning days, the trader increases position size. In the model, after 3 winning days in a row, the position increases by 1.5x.
2. Confirmation bias (looking for one more signal before accepting that you are wrong): the trader ignores the first exit signal because they want extra confirmation that it is really time to leave. In the model, the first sell signal is skipped.
3. Escalation of commitment (staying attached to a losing position because admitting the mistake is psychologically costly): the exit is delayed if drawdown is deeper than -8%.
4. Status quo bias (preferring inaction because change feels uncomfortable): the signal is accepted only after 3 days of confirmation.
5. Combined: all four biases are active at the same time, which is often what happens in real life.
What matters here is that I am not trying to prove biases are “always bad.” I am showing that they change the execution of the system. After that, the market decides whether that change helps or hurts you.
What the results showed
The strangest finding was this: the highest return did not come from the rational baseline model, but from the combined model, where all biases were working together. And that is exactly where interpretation becomes dangerous. If you look only at CAGR (compound annual growth rate, or average annual return), you can reach the wrong conclusion.
These were the actual outputs of the model:
Combined: CAGR 28.6%, Sharpe ratio (return relative to risk quality) 1.53, MaxDD (maximum drawdown) 33.7%, 1 trade, Terminal Wealth (ending capital if you start with 1) 14.2.
House money: CAGR 20.5%, Sharpe 1.64, MaxDD 17.9%, 31 trades, Terminal Wealth 7.14.
Escalation: CAGR 11.5%, Sharpe 0.96, MaxDD 19.8%, 30 trades, Terminal Wealth 3.14.
Baseline: CAGR 11.0%, Sharpe 0.93, MaxDD 19.8%, 31 trades, Terminal Wealth 3.01.
Status quo: CAGR 10.7%, Sharpe 0.87, MaxDD 21.1%, 14 trades, Terminal Wealth 2.93.
Confirmation: CAGR 10.3%, Sharpe 0.85, MaxDD 23.3%, 25 trades, Terminal Wealth 2.81.
At first glance, combined looks like the winner. But if the model made only 1 trade in 11 years, that is no longer a “better trading system.” It is almost a different behavioral logic. It entered the market and barely ever left. In other words, the combination of biases created a behavioral lock-in (a state where the trader becomes psychologically unable to exit).
This leads to the main conclusion: behavioral models cannot be judged by return alone. You have to look at the mechanism and the context. Why exactly did the model make money? Because it executed better? Or because it effectively disabled exit discipline?
What this means for an ordinary trader or investor
House money effect worked well in this case. That means when the market is already rising and a trader increases size after a streak of wins, they can outperform the baseline system. But this is not a universal hack. It works while the asset has a strong upward trend. In a sideways market or during a prolonged decline, the same behavior would destroy capital.
Confirmation bias turned out to be pure damage. When a person delays an exit and wants one more confirmation, they do not become smarter. They simply exit later and at a worse price. In the numbers, it may not look dramatic. Over a long period, however, even minus 0.7 percentage points per year creates a large difference in ending wealth.
Status quo bias also hurts, though more softly. When you delay action simply because action feels psychologically uncomfortable, the market does not wait. If a strategy has a rule, its value lies precisely in firing on time.
Combined is the most dangerous story here. It does not show a “superpower of bias.” It shows how several small behavioral shifts, acting together, can completely transform the system. This is exactly how people sometimes sit in a position for years and call it “long-term conviction,” when in reality they have already lost the ability to exit.
What fintech businesses should take from this
The interface is not neutral. If your app nudges users to add risk after wins, makes selling harder than buying, hides negative metrics, or fails to remind them to review a position, you are not just improving engagement. You are programming behavioral deviation. Sometimes that will lift returns in a bull market, but it can also increase the risk of a sharp and painful collapse.
For traders, the lesson is simple: the most dangerous mistakes do not look like mistakes. They look like “I’ll wait a bit longer,” “I’ve already been through too much with this position,” “the market will confirm it,” or “after three winning trades I can add more risk.” In other words, they feel logical in the moment. That is exactly why you need either automatic execution rules or at least hard limits defined in advance.
For risk and compliance teams, this is a direct argument that bias-as-a-feature is a dangerous product idea. If the product systematically pushes clients toward choices that increase drawdown, concentration, or exit delay, this is no longer just a UX question. It becomes a question of business responsibility for the choice architecture it creates.
A separate opportunity for fintech is behavioral analytics. Not just showing a user profit and risk, but showing them their pattern of mistakes: you delay exits, you add risk after a streak of gains, you freeze in drawdown, you avoid portfolio changes. At that point, the dashboard stops being just a dashboard and becomes a behavioral mirror.
Charts and code




baseline <- SPY %>%
fortify.zoo() %>%
as_tibble() %>%
transmute(
date = as.Date(Index),
adjusted = SPY.Adjusted,
ret = adjusted / lag(adjusted) - 1
) %>%
mutate(
sma200 = SMA(adjusted, n = 200),
raw_signal = if_else(adjusted > sma200, 1L, 0L, missing = 0L),
signal = lag(raw_signal, 1, default = 0L),
position = signal,
strategy_ret = position * ret
)The point of this case is not that “people are irrational.” That would be too banal. The point is that irrationality can be described as a mechanism, tested as a model, and translated into concrete product, investment, and risk decisions. That is where the real value of behavioral finance begins.