Start here, About, How a Monday works, FAQ, The backtest
An interesting stat from Quantopian is one that I always find myself coming back to. They analyzed 888 back tested strategies in 2016 to see how accurate their returns were in predicting the returns in the future. What they found was that they did not match up. The one thing that they did find is that the drops in a back tested portfolio along with its risk profile was a better predictor of the live performance of the portfolio and how far it would drop.

So it's much better to use a backtest to understand the risk of your strategy and where it can fail, and not the promised number it shows.
I'm an electronic engineer. I studied systems design and software design, and throughout engineering this taught me to trust systems that I can test. Things that have a repeatable process, that you can go deep into and see how the system makes decisions, and then improve on those decisions step by step. Those are the kind of systems that last long term.
I want this strategy to grow for many years, and I just didn't feel comfortable putting any meaningful amount of my own money into a system I didn't have at least a point of view on. What are the risks? How far can it fall? Is it even better than the index for the risk it takes? From January 12, 2026 the portfolio was run using my own money publicly on Dub and as of 28 October is up 114.4% while the S&P 500 including dividends is up 12.7% over the same period.
It's so easy to make a mistake, even an unintentional one, and then you think you've got a better strategy than you actually do. So I spent a lot of my time from September to December 2025, before Lionshare went live, not just doing the backtest but trying to break it. Where have I made mistakes without meaning to, and which assumptions are so fundamental that if I tweak them, the backtest fails? I wanted to make sure the whole model doesn't rest on a single point of failure.
So what I'd like to share with you here is how I think about backtesting, what Lionshare's backtest profile looks like, because a lot of people want to copy this portfolio, and the key things to consider if you want to do your own.
I always go from the point of view that the system is wrong. The results are likely a little bit overstated and the risks are likely understated. That isn't intentional. There are innocent errors, and there are just fundamental limits to how well you can recreate the past.
I love the quote from the statistician George Box that all models are wrong, but some are useful.
That's how I like to approach a backtest. I know it will be a useful exercise, and I never fully trust it, even if I've done all my steps.
So what are the common things I look for?
The first is the most fundamental one, look-ahead bias, or seeing the future unintentionally. This can be small decisions on the timing of data. Lionshare updates its portfolio at the Monday open. If you let it see the Monday closing prices when it makes a decision, that small gap is a huge look-ahead bias, and it compounds over every year you backtest. So you always want to be super curious about the exact timing of the data. When would it have been available in real life? The performance of my test is based on Friday's closing price to make the decisions but to execute all trades at the Monday opening price, as the live portfolio does.
The second one is easy to ignore, and people tend to simplify it away: companies that are no longer listed today. Some disappear because their stock price falls so far that they get delisted, and others are bought. What some people do is take what is currently listed in the S&P 500. But that's the current list. Over the last six years a lot of stocks came into that index and a lot went out. If you don't build your backtest with the full universe of old stocks, you're biasing your system to pick only the stocks that are around today, and those are, almost by definition, the ones that grew and stayed in the list. My test keeps the ones that were subsequently bought or delisted.
The third one is perfect trades. There's nothing like a perfect trade. To be really comfortable in a strategy you need to model slippage. Look back at a Monday morning, which Lionshare trades on, and there's one very precise listed open price. The reality of that day is that, based on the type of orders you place and when, you might be a little above or below it, a favourable trade or an unfavourable one just from the timing. Then there are transaction costs, depending on your broker, which over many trades add up. So I build a healthy buffer into the model for these almost invisible costs. My test charges 0.30% on all stock transactions and 0.10% on all fund transactions.
The fourth is a tricky one that's easy to overlook: trying too many versions of your backtest, and optimising it to the exact growth rate or risk you're looking for. Go through too many optimisation steps and you risk force-fitting your model to the past. Oh, I see a big drop in this specific year. Why don't I create a new rule for that condition in that year, that doesn't exist anywhere else? Your backtest looks better, but you've added another layer of complexity and another failure point. You end up fitting your model to history, and then it never tracks live.
How I stress my own strategy here is to try and break it by removing the fragile parts.
If I see a large portion of my returns coming from a few stocks, I rerun the backtest without some of my best performing stocks, to see if it picks up others. I change the universe of stocks, the time periods and some of my own variables, to see how sensitive the result is. If moving one variable slightly up or down changes your whole result, that could be a failure point, an over-optimisation. What you want to see is a mostly linear change. Make the time period a bit longer or shorter, or the list of stocks a bit bigger or smaller, and the returns should move much like before. Maybe not exactly, but the shape should stay.
When I look at a backtest, the first thing I look at is of course the total return over time, but it's super important to compare it with an index or fund you're trying to beat. Depending on how long a timeframe you take, the total return can look immense. A few thousand dollars turns into hundreds of thousands and you get excited. I usually use the S&P 500 or VTI, which is the total US market, over the same dates. If you're getting a very similar return to the index, or less, then it's not worth running the strategy. It's much easier to put the money in buy and hold.
In my test of Lionshare, the stock picking grew about 73% a year, against about 15% for the S&P 500.
The second thing, as important if not more, is the return for each unit of risk, which the Sharpe and Sortino ratios tell you. You might have a strategy that returns double the index, and you get excited, but then its Sortino is lower than the index's. That tells you it took on a lot of extra risk and risky bets to get lucky with those returns. The ideal is a greater return than the index and better ratios too, a more efficient strategy.
In my test, the stock picking's Sortino ratio was 2.4, against 1.16 for the S&P 500.
The last one I pay a lot of attention to is the declines. How deep has the strategy fallen in a crash, and how long did it take to recover from the deepest one? You need to understand your own tolerance for risk here. I'm comfortable with a high growth strategy like Lionshare falling 30%. A lot of people would say no to that, which is fair. Everyone is in a different position, with different goals.
Again, benchmark it against the index. In my test of the stock picking, from 2020 to October 2026, the deepest decline was about 38%, while the S&P 500's was around 34%. A slightly deeper decline than the S&P 500 is acceptable to me, given the return and the return for the risk.
That 38% gave me the feeling that maybe I could optimise the strategy to avoid it. So I did a lot of research on that specific period, and found it was a market shock, with a lot of the market moving against what the strategy held at the time. The strategy sat through it. But what's super important is how it recovers. Does it find a way out of that market condition and get back to growth? In this case it did, with a new high by May 2025, so I'm happy to invest through that.
When I started developing Lionshare, I had an idea and a framework I was excited about, but the exact rules weren't designed yet, and I was doing it manually myself. It couldn't take a lot of time out of a normal week, so I automated it, and I started with paper trading through a broker's API. The strategy ran live, just not with real capital yet.
I see this as the intermediate step, moving from a pure backtest to a model running in live conditions, but not yet risking any capital.
I paper traded for eight months, which was a super interesting period, because this is where a lot of strategies fail, going from the theory to real life execution. Things like making sure your API is always up and running. Does your machine know when to wake up and place the trades at the right time? How does it interface with your broker, and what kind of orders does it place? It was interesting to see how the slippage costs I'd modelled played out in real life, and how easily I could turn the ideal portfolio the system was suggesting into a real one.
On January 12, 2026, I was comfortable enough to put my own money in. The first few weeks with the money live weren't that significant up or down. But over time the strategy started to compound, as it's meant to, and beat the market. Through the spring every week was exciting, watching it keep beating the market all the way to record highs.
Then came June and July. The conditions Lionshare works well in shifted. The strategy was slower to adapt than the market was to change, and week after week I saw the portfolio decline more and more. It's stressful, because of course this is my own money, my portfolio, and other people were copying it. The drawdown from June 22 to July 17 was 30.3% whereas VTI was stable.
But I knew two things that kept me going.
The first is that the decline was in the range my backtest had shown. I knew my backtest, its decline levels, its risk-to-reward, its Sortino and Sharpe ratios, and how well it held up when I tried to break it, and that gave me the confidence that the system would be able to come through even this much of a decline.
The second factor was that the portfolio was falling from an all time high, with a return of about 156% since January, to still a 78% return even at the lowest point, on July 17. What I was losing was some of the gains I had, and I knew that eventually the strategy would adapt and the market would turn again.
While August, September and October have been quieter, the strategy continues to outperform the index every month. When the rules indicate that the conditions are not favourable for equities, then it takes the portfolio out of equities and into one fund. It holds it there until the conditions improve. This set of rules was live from September 2026, and is therefore not part of the test on this page.

So then, summing all of this up, why would you even do a backtest? It cannot predict the future. Markets can change, so why rely on past data?
The first reason is to understand the circumstances in which your strategy is made for success, and in which market circumstances it fails, and then you get a better sense of when to be really comfortable in it and when to improve it. You also get a good sense of what a decline could look like. Are you comfortable with that level of decline, and how long it could last before you start to see profits again? And you get to see the real world through maybe a condensed lens. You get to see that not every day will be profitable, not every week will be profitable. There'll be some stretches where the strategy just fundamentally doesn't make money because the market is not right for it. That doesn't mean the strategy is wrong or broken in that period. It just means you need to wait it out, be smart with the way you use your capital, and wait for the right moment for the market to turn in your favour.
And then I think that's important for when you use your strategy in the live environment. There will be times where the strategy underperforms. There will be weeks where your strategy loses money. There might be months. There might be some extended periods where not a lot happens at all. Looking at your backtest should give you comfort that the strategy isn't broken. It's so easy to oversimplify that if I'm making money, my strategy is perfect. If I'm losing money, my strategy is broken. This is not the case. So by looking at your backtest, and understanding what similar periods looked like in history and how they relate to your live market today, you get a sense of comfort that maybe it's not perfectly tracking, but it's working well.
The final thing I would say is that a backtest could never replace a live record. It's super important that a backtest is only informative. It tells you the kind of conditions in which your model operates, but you should always look at your live record as the proof,
There can be a lot of reasons why a backtest doesn't translate to live conditions, like your slippage costs, the complexity of making it work in real life, and maybe just things you've never thought about before. But if your live record is showing a similar kind of profile to your backtest, in returns, Sortino and Sharpe ratios and declines, this should give you comfort that, one, you did your backtest correctly, and two, that you can be more comfortable in the strategy.
And then, if someone sent me a backtest today and asked me to critique it, the first few questions I would ask are these.
How did you eliminate look-ahead bias? On which days does your data update, and on what day does your system make the decision based on that data?
The second one, as we discussed, is did you consider all of the companies that were listed and available to trade in the period you're backtesting, or just the ones that still exist today?
Next is how do you account for the transaction fees and the additional costs of every trade? Are you bringing in slippage costs on both buying and selling, and any fees the platform you trade on charges you?
Next, I would ask how many versions you've tried and what you did to optimise the backtest, because if you over-optimise it to force-fit the data you have, you might not see the results from the past translate to the future. What did you do to stress test it, by taking out some parts and widening some ranges?
Next, I would ask what is the worst decline your strategy saw, and would you realistically accept it? Imagine the amount of money you plan to invest in your strategy. Take that number, multiply it by your decline percentage, and say to yourself out loud: if I lose that amount of money, will I still invest? On $20,000, a 38% decline is $7,600. If the answer is no, then the strategy doesn't fit your risk level, so you need to tweak it.
And the final thing is that you don't always have to go directly from a backtest to your live account with real money. I think paper trading is undervalued. It's usually a case of patience. If the backtest results excite you, be patient and run it in a paper trading account first, for a few months, to see how the strategy performs live, and only then go for real money.
I now have months of live trading that mirror the shape of what I expected from the backtest, and the growth has been higher than I expected. It went through a big decline the way the test said it could. So I'm feeling more comfortable in the strategy.
Every Monday I still take the same approach. I use the system I tested, with the rules I tested, and I don't overwrite them with my own gut feeling, even if I think it might be wrong. I don't have a perfect memory of the last six years, but my system does, across all of the stocks it looks at. So I let it make the decisions. And every week I still look at how I can make it better. I hope to keep improving it over the next five to ten years of trading it live.
Every Monday before the market opens I share the portfolio in the open, and every Saturday I report the week's result, good or bad. The full list goes to paying readers every Monday before the market opens. It is $39 a month or $350 a year, and the weekend review is free for everyone.
