2021 Review – Initial Top Five


In this first part of my 2021 review I look at the different measures of stock picking / trading performance through the year, before comparing them and then doing a deep dive into what were my initial top 5 positions at the start of the year as well as a couple I didn’t carry forward from 2020 to 2021.

Notional Annual Top 5

For 2021, as with 2020, my Annual Top 5 is defined by my Stockopedia Stock Picking Challenge entry, which was my top 5 real-world equity positions at the point of entry. 

Their rules do not include dividends or deduct spreads which means for most portfolios it will be an underestimate of real world performance. They do not allow substitutions even in the case of a cash takeover, which affected me this year. Performance for 2021 can be found here and at +27.5% was significantly down on the exceptional +57.5% achieved in 2020.

The Stockopedia competition does not seem to be running for 2022 and so my Annual Top 5 for 2022 will be defined by the closing prices of my end of December tweet.

Notional Monthly Top 10

My Monthly Top 10 is defined by my monthly tweets of my real world portfolio. Performance is measured with a weighting of 14% for each of the top 5 and 6% for each of the next five. I try to include all actual dividends and a realistic estimate of spread. Unlike Stockopedia, cash is allowed and was in my top 5 at the start of the year. Detailed calculations, notes and performance can be found here.

Performance here was +39.5%. Compared to the Annual Top 5, this is helped by including dividends, but on the other hand it included cash which will have diluted returns this year.

Real Portfolio

My real-life portfolio is a frequently traded share portfolio typically consisting of between 15 and 20 positions. As I have said on twitter and discussed in a presentation at the December Small Caps Live meet, I don’t think unsubstantiated performance claims from investors are constructive and so I have decided to stop making any detailed claims.

However I will make two unsubstantiated claims:

  1. Using round numbers, my Stockopedia entry represented over half of my liquid assets at the time and over a quarter of my total net assets. This means it is not directly comparable to entrants who will have entered in an attempt to win or as a bit of fun, or, more generally, people reporting returns on tiny fractions of their wealth.
  2. My real world portfolio performance exceeded my notional portfolios.


In my 2020 portfolio review I discussed different benchmarks in detail. Here are my returns this year in full context:

Benchmark / PortfolioTotal Return
CPI Inflation (year to November)+5.1%
FTSE AIM All-Share+6.1%
RPI Inflation (year to November)+7.1%
Notional Annual Top 5, excluding best performer+13.8%
FTSE 250+16.9%
FTSE 100+18.4%
FTSE SmallCap+23.0%
FTSE Fledgling+27.3%
Notional Annual Top 5+27.5%*
Notional Monthly Top 10+39.5%
Real Portfolio>40%

Sources: FTSE Russell, FT.com, ONS, Stockopedia, Holdings
* Dividends excluded. 

I was pleased to see that this year my real (frequently traded) portfolio outperformed my Monthly Top 10 which in turn outperformed my Annual Top 5, and that they all outperformed the benchmarks. Progressively more work should mean a progressively higher return, and if it doesn’t then the time spent constantly reanalysing my positions would have been wasted.

As outperformance over a lesser traded portfolio is such a key metric for me I go into lots of detail below about how trading throughout the year added (or subtracted) value.

Capital (CAPD)

A new investment for the annual portfolio, this achieved a return of +25.7% under the Stockopedia rules.


Capital is a mining services provider specialising in gold and Africa.

The initial attraction with Capital for me was that their historical performance showed increasing utilisation in their core drilling rig business at that point in their business cycle and consequent very strong cashflow that did not appear to be reflected in the share price. Other operations and investments have also been performing well.

I bought into Capital for the first time in November 2020, but it didn’t even make the top 10 in December’s monthly tweet. Heavy weightings in Wey Education and UPGS lowered the bar enough that heavy additional buys during December 2021 were enough for it to make the top 5 at the end of December.

With Hindsight…

The pattern with Capital is that consistently strong results lead to a mildly disappointing price rise before the share price succumbs to profit taking and insider selling. This happened in mid January, mid March, mid April and mid October. A rise in mid May did not follow an update, but was killed off by a secondary placing from a founder/director. Apparently wise to the pattern, investors bought ahead of the mid July update, with the price again selling off soon afterwards. A new contract announcement in December didn’t seem material, but apparently excited people, but … you’ve guessed it … the share price fell back again immediately afterwards.

Throughout this time the valuation got cheaper as the fundamentals improved more quickly than the share price rose. This, along with the frequently wide spread made it difficult to sell at the peaks with a view to buying back lower later, despite some predictability in movements.

My Trading Performance

My first trade was actually a sell as I worried about the impact of IG Index forcibly closing leveraged holders, but I then bought back lower, added lower still and later higher as some signs of price momentum emerged.

They then failed to issue their FY 2020 results on time without any explanation. For an overseas domiciled company with operations in Africa I felt this left me with little choice but to drastically cut my exposure, and a relatively healthy demand for shares allowed me to sell around half for a small loss. When the results finally rocked up at 8:41 I was able to quickly establish that there was nothing wrong with them and buy back a little higher, but with confidence in management severely dented I only bought back half of what I’d sold and flipped some of those later in the day for a small profit. Shortly afterwards I was able to reverse that sale at a lower price and add some more.

Then at the end of April I was unable to join their AGM because, it turned out, they had published the wrong starting time and it had already finished. Presented with the option to reduce holdings again, this time for a good profit, I again dumped half my shares.

Enquiries indicated that both problems appeared to have been caused by an single office administrator rather than anything more fundamental and I have since become more confident with the company, but this is exactly the sort of thing that tends to happen with non-premium LSE listed shares who don’t have an AIM NOMAD to check things and hand-hold.

The net effect of all this trading to mid June was actually to leave me with approximately the same number of shares I started the year with and a net cash profit of over 15% of my original investment. However, unlike UPGS the starting number of shares was the low point and much of this return came from temporarily added capital.

Fortunately with Capital Drilling there is always an insider seller to waiting in the wings to push down the share price, so following this I was once more able to buy back at a lower price than my most recent sales. With the very strong H1 trading update in July I made the mistake of adding more thinking that a break out must be imminent, but in the event they fell back again.

Broadly happy with my portfolio weighting and a bit more trusting of the company, since then I have been able to be more disciplined in trading, even managing to sell on a modest rise caused by what I thought were knock-out Q3 results and buying back later on the (almost) inevitable fall. Later I was able to take advantage of falls in mid December to buy before selling on subsequent rises.

Overall my decision to raise my holding over the year has proven profitable, and even taking the sales due to delayed results onwards, trading has added value, but only because I increased the weighting from low to high. While the real IRR (Internal rate of return for capital employed) was healthy, it is well below my real portfolio as a whole. I am hopeful for a better outcome next year.


Impact of initial weighting: Neutral
Impact of trading: Mixed
Real IRR relative to real portfolio: Underperformed.

CMC Markets (CMCX)

This was the only losing position in my initial top 5, with a return of -32.6%. If I’d picked something that broke even instead, my annual portfolio according to Stockopedia would have been up 34.2% instead of 27.5%.


This spread betting / CFD provider entered the year with very strong momentum and increasing evidence that their hedging algorithms would continue to keep revenue retention high by protecting against client wins at minimal cost. Their Australian white-label stockbroking operation was also performing well.

I entered the year with the smallest weighting in my top 5 and the knowledge I had badly missed out on the exceptional share price performance in the previous year.

With Hindsight…

Clearly the best strategy with would have been to sell in early April and not return, and the worst strategy would have been to average down all the way. Buying the dip in early March would also have been smart, at least for investors happy to play with fire.

My Trading Performance

I started the year by adding further, reasoning that the lockdown looked likely to continue to Easter leaving people with little to do. I noted that compared to BOTB which was also benefiting from the lockdown it looked very cheap. (BOTB is now down 75% from that point whereas CMCX is “only” down 40%).

I was slightly concerned by the Q3 update which was merely inline, and sold these buys (and a little more) back for a small profit.

In early March I bought back at lower prices noting that the short-term outlook was improving and a beat looked likely. On the downside I noted increasing costs and ever-present regulation risk. Later in the month I reduced slightly into the surge caused by IG Index’s Q3 update, despite noting that CMCX was “now sure to beat”.

That sale quickly looked premature and combined with being underweight at the start of the year, this was where things started to go wrong with my trading strategy. In late March they upgraded the 2022 revenue outlook from £266m to £330m. Despite explicitly noting “I believe guidance is too optimistic / premature”, I ran this through my model and came out with EPS and a conservative DCF of 590p. Looking only at the increased client numbers I persuaded myself that revenue guidance was supported after all. Determined not to miss out again I added very heavily at around 465p.

In the short term this was a good move as there was a rapid rise to 530+p. However, I only sold a small amount. Within three weeks it was clear that this was a serious mistake and I did a post-mortem, concluding (albeit through the cloud of hindsight), that I failed to sell more due to high cash levels.

I then compounding the error by not taking proper advantage of an opportunity to sell at almost 500p in early June, presumably anchoring on the 530p price and overly swayed by broker forecasts, despite me commenting that their update “Points to slowdown” due to the lack of an upgrade to forecasts for the first time for over a year, costs guided higher and apparent resistance at 500p. I also noted I was “Overweight under the circumstances”.

Inexplicably I compounded the error by buying back the minimal sales I had made, and more, again at around 460p.

By late July it was clear from the Q1 Update that the game was up and I started selling at a small loss to FIFO matched buys, but not in any size.

The BOTB Update in August led me to make a further sale at a slightly larger loss.

When the profit warning finally came in September I sold early in reasonable size at a considerable loss, but made the mistake of buying back just 10% lower later in the day, I can only imagine in an idiotic attempt to win back my money in the same share where I lost it, which I understand is a common mistake.

It wasn’t until the interim results in October that I finally capitulated and sold the remainder of my position for a large loss, mainly due to a lack of explanation of why revenue retention had fallen and whether it would recover. This was also a time of exceptionally high risk / return in certain opportunities elsewhere.

Fortunately this capitulation did not turn out to be the bottom and so far it has proven a case of “better late than never”. Selling entirely may have also had the benefit of at least partially clearing the psychological baggage as, after a six-week break, I started buying back and am now in profit on these buys.

Overall, my trading caused an extra 33% of losses on my starting position, but that was due primarily to increasing my weighting from a very low level at the start of the year. In fact, CMCX was my number 6 position at the start of the year and was only included in the Stockopedia entry because cash was not a valid entry. Therefore my portfolio loss was far less than the 37% reported by Stockopedia. The loss was also small in absolute terms, and I have in fact made money on CMCX since I first bought in 2019 until fully selling in October with an IRR of 15%, with more profits since.

The most annoying thing about this episode was that the large purchases in late March despite my misgivings about the revenue guidance were inspired. Uncritical broker upgrades dribbled out over the next several days and within two weeks I was up 15% on a considerable amount of cash, but I neither took the profits nor later bailed when the trade started to go wrong. Doubtless I would have still been caught with some when the profits warning came, but I should have significantly outperformed an annual buy and hold, and my failure to do so also badly hit my Monthly Top 10.

Lack of knowledge / research was not the problem here. My failure to do much better was down to psychological factors: missing out in the previous year, cash burning a hole in my pocket, loss aversion and an attempt to win back losses on the same share.


Impact of initial weighting: Positive
Impact of trading: Negative
Real IRR relative to real portfolio: N/A

Creightons (CRL)

This is another company carried over from my top 5 in 2020, returning +38.9% this time according to Stockopedia.


Creightons make personal care and beauty products. They are an idiosyncratic company, currently capitalised at just £60m with a small float, but listed on the main market rather than AIM, a situation that seems at times to be to avoid the attentions of an AIM NOMAD. They don’t do trading updates or pay any brokers to produce research / guidance, but they have an almost cult following amongst private investors because of the outstanding quality of their results presentations. This situation creates significant extra risks and also contributes to large share price swings.

In 2020 they did very well out of hand sanitiser sales, more than compensating for headwinds elsewhere, but in December they described the market as “flooded”. My information showed there were a few more government sales to be recognised however and my portfolio weighting was enough to get them into the top 5 again.

With Hindsight…

While this is a strong annual return, as you can see from the above chart it has been much higher throughout the year and first reached the current share price in April. The best strategy would have been to sell then and buy the dip in July, before completely exiting in the crescendo of small investor hype in September.

My Trading Performance

With further evidence of some more government hand sanitiser sales to be recognised, my first action in 2021 was to add a few more. A potential for a hostile bid for poorer quality Innovaderma was enough for me to reverse that purchase before buying back when they walked away. With a large variable spread and jumpy share price, careful execution is vital, but objectively I can’t put the profits I made in those few weeks down to anything more than luck.

Due to the higher risk nature of the company, as the price rose in late March / April I found myself forced to reduce to avoid an excessive weighting. I was able to buy back cheaper in late April / May and forced to reduce again in June. Again, not much skill involved there.

In July they announced a delay to results, which led me to take further profits. Former bid target Innovaderma then reported it had previously misstated their inventory position which discouraged me from buying back lower. That was a pity because results turned out to be fine. Their excellent presentations are always well received by investors and so I followed my recent successful approach of selling into the subsequent rise. Unusually for me I was out of cash and my next sale was specifically to fund a small trade elsewhere which subsequently worked out well.

A small but high quality acquisition followed and the subsequent presentation was exceptionally bullish, leading to what I can only describe as a private investor frenzy bidding up prices to some crazy levels. By mid August I was completely out, although unfortunately only getting the best prices for a small number of shares.

In October I dipped my toe back in the water at lower prices, but prematurely as the failure to issue H1 results caused further price falls. I bought some more lower, including after they eventually confirmed a results date of the 30th December, and again when the results turned out to be fine, but my tolerance of this kind of shenanigans is limited and it remains a relatively small position.

To date my trading of Creightons added a useful 12% to the return from a buy and hold (even assuming sales went uninvested), but my weighting was low and clearly I could have done much better by risking a higher one.

Looking at my monthly tweets, this was in the top 5 for the first 3 months of the year, before dropping to the top 10 as the price rose, and then outside the top 10 in August as the price rose further. This will have led to some good outperformance versus buy and hold.


Impact of initial weighting: Negative
Impact of trading: Positive
Real IRR relative to real portfolio: Outperformed

UP Global Sourcing (UPGS)

My top performer at +69.3% (Stockopedia basis) was also a feature in my 2020 entry.


UPGS design branded consumer goods which are largely manufactured in China and sold in UK and European discount stores, supermarkets and online. Brands include Beldray, Progress, Russell Hobbs and Salter. They pay Russell Hobbs a license to use their brand outside of electricals, and an equivalent arrangement existed with Salter before they bought the company during 2021.

Although I had started to reduce my holding due to the effect of the Delta variant on European retailers, they were a large weighting within my top 5 at the start of the year because I saw strong underlying growth, conservative forecasts and a modest valuation.

With Hindsight…

As with 2020, a buy and hold strategy was not the best one here, and looking at the graph the ideal strategy would have been to load up in late April just before the rise triggered by strong H1 results, sell everything in mid September and buy back at the end of October. Other smaller tradable opportunities were also available.

My Trading Performance

Looking at my trading journal, I continued sales at the end of 2020 throughout January due to the Delta covid wave, noting in particular that non-essential retail in Netherlands and then Germany were closed. However a trading update in February made me realise that I’d been too pessimistic, leading me to buy back some at higher prices. A strong price rise and concerns over actual or perceived issues with the Ever Given blocking the Suez Canal led me to temporarily reduce before buying back at lower prices. Although I bought a few more prior to the H1 results, I was again surprised by the strength of their trading and ended up buying many more on results day at significantly higher prices than I’d sold in January and than were available the day before. The net effect of my transactions between 1st January and 1st May was to have the same number of shares I started with, but having incurred modest losses compared to just holding. However, biting the bullet and buying back at higher prices was definitely the right course of action as the price continued to rise.

My performance over the next few months was considerably better. From mid-May onwards I progressively reduced as they approached and then exceeded the 200p broker target. The update from major UK stockist B&M stores at the start of June predicting YoY falls, despite B&M lapping some very easy comparables on the European side. Above 220p they just started looking too expensive. The fundraise for the acquisition of Salter in late June provided the opportunity to buy back cheaper on an improved earnings outlook, but I reduced again for a small profit in the August full-year update that seemed rather lackluster. Sure enough, the price fell back once more, but I held off over shipping cost concerns. Below 170p such concerns seemed to be more than in the price and I noted:

Thesis: Booked containers and persuaded customers to order well in advance, plus outperformed due to relationships in China. Strengthened reputation of delivery amongst existing customers. High margins and customers gained for sales not already contracted as competitors not so well organised. Strong growth in Germany / Europe where cases are very low. Strong balance sheet protects against delayed deliveries / payment.

In the event this thesis was largely proven and FY Results were in line with earlier forecasts. With the price remaining lower I added further, turning a significant intraday profit.

Since the start of November I have again become concerned over closures of non-essential retail in Europe, first due to Delta and now Omicron variants. China is also increasingly a concern, with their zero-covid policy apparently untenable in the face of Omicron and likely to cause very significant manufacturing disruption until it is abandoned. The political situation in China also continues to deteriorate rapidly, and it is now my opinion UPGS urgently need to diversify manufacturing, but they have no strategy to do so. While my recent sales average around the current share price, it is too soon to say whether they were wise.

Despite all this trading activity UPGS has never dropped out of a top 5 portfolio position, and clearly more aggressive trading in May to early November would have improved returns. However, I certainly got it badly wrong early in the year and it was good that I was not more aggressive then. Overall, my trading this year added around five percentage points to my return on UPGS, lower than I imagined before doing this analysis, and little more than I received in dividends. But that 5% rather misses the point: Ever since the 4th January I held less UPGS than I started the year with, and at times considerably less, and yet I still beat the returns I would have had by holding all of it from start to end. Real IRR was therefore massively in excess of the real portfolio as a whole. What then matters is what I did with the cash I freed up, and my overall returns suggest I did well in the months where I was lighter in UPGS.


Impact of initial weighting: Positive
Impact of trading: Positive
Real IRR relative to real portfolio: Outperformed

Wey Education (WEY)

This was my top performer in 2020, and if I’d held through 2021 it would have returned +37.0%.

Here there is no doubt that my trading resulted in a severe underperformance in the first 4-6 months of the year.

I started the year with a significantly overweight position partly because the share price had risen by 30% in a Santa rally driven by private investors. It was starting to look overbought in the short term. On the 13th January they issued a strong trading update, but announced that they would start charging VAT. My calculations indicated that this would significantly hit EPS and I started selling. The CEO then sold a large number of shares and so I sold some more. Further analysis indicated that forward revenue targets also looked hard to achieve and there was evidence of a slow down in admissions. In February IG Index announced they would effectively force leveraged holders to sell which made me nervously sell some more, even though I was not directly affected. A small recovery in the share price in March led me to reduce further.

By the time the cash takeover was announced I had sold 40% of my start of year holding with the intention of buying back more cheaply once the full effect of VAT was more widely appreciated or following a period of likely drift between results. Immediately prior to the announcement the share price was well below by average sell price during the year.

Like UPGS, this never dropped out of my top 5 in my monthly tweets, although I recategorised it as cash after the takeover offer.

So I’m not sure what lessons there are to learn here, at least beyond my commentary on cash levels (later). At some stage I will look at their limited company accounts to see how they performed subsequently, assuming there is enough visibility despite any restructuring.

Clearly though by Stockopedia Stock Picking Challenge results was harmed by the inability to reinvest the proceeds from Wey (received 3rd June).


Impact of initial weighting: Positive
Impact of trading: Negative
Real IRR relative to real portfolio: Outperformed


Although cash was a top 5 position at the start of the year, as reflected in my first monthly tweet, it is not allowed in the Stockopedia Challenge and therefore not present in my Annual Top 5. To square the circle and because it had a major direct and indirect on my performance this year, I am including as a 6th entry in this review of my initial top 5.

Unbelievably, I started the year with cash as my second largest position after Wey. It was already very high at the start of December, and it looks like a combination of reducing my number of holdings to focus on my best ideas, selling most of my remaining fund positions and reducing positions in shares that had shot up during the Santa rally. In terms of justification for this crazy state of affairs, I think it was partly to balance the risks of my very high weighting in Wey Education.

Although my first reaction to the agreed cash takeover of Wey Education was to try to spend some of this excess cash, I wasn’t very successful and at the start of May the combination of Wey and cash was approaching a third of the total portfolio.

Not only did this high level of cash significantly dilute returns, but I believe it also distorted investment decisions, contributing to my failure to take profits in CMCX in particular. So definitely a lesson learned there.


Impact of initial weighting: Negative
Impact of trading: Positive

Beeks (BKS)

Within my Annual Top 5, the top 3 performing positions were carried forward from 2020. This means there were two positions I chose not to carry forward, and as it happens neither of them ever appeared in my Monthly Top 10 during 2021 either.

The first of these was Beeks. This was a loser in 2020, but I had actually sold out early at a profit.

My reason both for selling and for not revisiting is that Beeks appeared to have saturated their original market for off-the-shelf solutions for smaller customers, and contracts with larger customers were slower to agree, more complex and capital intensive.

In retrospect it would have paid to revisit this as it was up 87% in the year which would have made it the top performing position.

So the key question is whether this performance was foreseeable. My opinions on investment psychology will be biased by hindsight, but I can confidently say whether there has been a fundamental improvement to trading or outlook that might justify an 87% rise.

At the end of 2020 they had sustained their record of missing forecasts and in particular the cash outlook had significantly deteriorated. Following the H1 results in March 2021, full year forecasts were updated to include a further sharp deterioration in their expected cash position. This was shortly followed by a placing for £5m at 115p a share which was claimed to be for investment purposes. The founder also sold £0.5m of the £2.0m he was looking to place at the same price.

In August they announced the launch of their private cloud product “Proximity Cloud” (at least as a proof of concept) and a slight upgrade in forecasts. In the event the results significantly missed revenue forecasts made 6 weeks after the year end, some acquired intangibles were written down and they cancelled the dividend. The missed revenue apparently moved into the FY 2022 forecasts, and FY 2023 was significantly upgraded, albeit only to the same EPS level as earlier 2020 forecasts and far below original 2021 guidance.

The launch of the Proximity Cloud appears to be the cause for excitement and subsequent FY 2023 upgrades appear to have been the main cause of the share price outperformance. But with a history of missing targets, appalling cash flow and both attempted and actual director share sales, I don’t think this was either predictable or explicable. Even taking FY to June 2023 forecasts of £0.9m FCF and 4.4p EPS at face value, a share price of 40-70p looks more appropriate.

Volex (VLX)

The other share I chose not to roll from 2020 to 2021 was Volex. This proved a wiser decision, with a rise of just 7% in the year, although there was significant potential for profitable trading during the year in my Monthly and Intraday portfolios.

The main rise occurred in August apparently triggered by a cash acquisition that was expected to take a year to complete due to required regulatory approvals. I recall some sustained ramping about the same time on twitter which may also have had an effect. So realistically I don’t think I could have traded this.

With FY2024 EPS expected to match that of FY2021 and a relatively high risk acquisition strategy that threatens to repeat the mistakes of the past, a reasonable earnings multiple seems to be 10-15x, giving a share price range of 190p to 330p.

It is an entirely different proposition to the company I successfully held and traded in 2019 and 2020. 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s