Finfluencers underperform market
1. Introduction
So hmmm. There is this thing on the internet where individuals give others advice which stocks to buy (“finfluencers”). Essentially profiles on social media sites or on dedicated trading platforms, they leave you a record of their stock trades, you copy them.
In all these cases there is a public record of trades made online, at least for the brief time period where the post is online (some platforms only show the post for a brief period of time, such as 24h).
From the perspective of a prospective follower, this should intuitively look like a bad idea. It’s bad from an Econ 101 perspective: individual traders always do worse than the index on any kind of platform. You. Can’t. Beat. The. Market. In addition to lower overall returns (bad bad bad), you would also expect higher volatility (bad bad) and fees (bad).
They monetise this kind of advice by acting as investment funds (earning a management fee), promoting services with affiliate links (like a particular trading platform), a paid newsletter or not at all.
Without babbling on for too long on this, there are just plainly no inefficiencies in public equity markets that can be captured by a retail trader and you and I being both sensible people in this world, both assume the market to be perfectly efficient.
And yet, if you look at some of these profiles - uhm it’s super weird but they seem to be doing quite well actually if you do the math? Many do seem to indeed outperform the market. By a huge margin. Over long time periods. And this is what is uhm unexpected?
The obvious reply to that is “Have you heard of survivorship bias?“
Clearly, you say, with a scolding tone to your voice, what happened here is that successful traders attract more capital and continue doing what they are doing while unsuccessful ones drop out and thus become invisible, potentially also deleting their profile. There is a “graveyard” of profiles with subpar returns which you don’t see if you only look at it in the current moment.
Obviously, you continue to say, that some profiles outperform is to be expected - a normal outcome in a normal stochastic process in a normal, efficient market. They got lucky but there is no way t know beforehand which ones will. The market works. The world is in order. All is well.
So uhm eeeehmm, so, it looks like you’re right, sorry if you thought this post would have any interesting conclusion and sorry for wasting your time.
I dug into it, very superficially but still, the result is that finfluencers indeed seem to underperform the index. By quite a bit actually eeeeeeehm.
Click to skip to the results, see pretty charts and stop the blablabla.
The rest of this post is me defending myself, what I was thinking, how I was wrong and a bit of “what if”. But the main conclusion is the above.
I was not so sure about it when I looked at it manually, which again, was dumb. I gave in to my temptations, I thought I saw a pattern and have been led astray!!!
My initial, incorrect, observation was, that it does indeed look like they were indeed a little bit too good at picking stocks that go up.
You might also have said that all this may then maybe not even be survivorship bias but due to retail traders picking stocks that performed better than the broader in that timeframe. Individuals were far likelier overall to buy well-known stocks like Apple or Google compared to institutional investors (or index funds) which bought and held a more diverse set of companies, with individuals outperforming the rest due to pure luck etc etc pp.
Like, I was not so sure about this either. A lot of these accounts do buy unusual, small-cap, and not at all retail-like stocks. They really do! Gold mine in Africa, then another mine, this time Lithium, then a tech marketplace, then a medical company that depends on the outcome of exactly one phase 3 trial etc., all from the same person. It gets completely wild sometimes. And so, for a for a bit I was like “ok, everyone is overcalling survivorship bias”.
Basically it could be similar to prediction markets such as Polymarket and Kalshi. There do seem to be users on these platforms who indeed make good predictions (this is not a new thought).
Basically, my hypothesis was, for a little while, that there is insider information involved and that it could somehow be separated from the noise.
The thought chain was:
The trader will not have access to privileged information directly but receives it through an informant
That the informant also shares that bit of information with other traders
That the trader also shares that bit of information with other traders as there is a strong incentive to trade, as information is scarce but can be duplicated at no cost
And that this leads to an information trading economy between Finfluencers.
And thus, my original post title was Traders trade information or they don’t.
And in summary, it looks like, mostly, they don’t.
So it is something that could be a thing but mostly just isn’t and chance and bias seem to be much more important. Again, I never said this would be an interesting read :D
3. Methods
The scraper was written by hand and checked for some basics (like avoiding duplicate rows), the analysis was done with AI and not manually checked. I was pretty lazy and I just checked in on how it is going like once a year real quick and then forgot about it again.
3.1 Data
The scraped data covers three things, each used for a different part of the analysis:
- Trades from 2018 to January 2026, each with a timestamp, an anonymized portfolio ID, the ISIN, the price and the direction (buy or sell). The network analysis uses the 2.2 million stock trades (buy and sell orders, excluding other security types and corporate actions such as dividends) made by about 11,300 portfolios in 2023 and 2024; the prediction model uses the trades of 2020–2025.
- Daily portfolio prices from January 2023 to February 2025, used for the returns in Section 4.1.
- Average portfolio price levels from December 2024 to January 2026, shown for comparison in Section 4.1.
One person can run several portfolios; “trader” below refers to a portfolio. Trade sizes are not available, and because the platform does not allow short selling, sells close earlier long positions without a known pairing. Daily closing prices come from Yahoo Finance.
3.2 Coordination detection
- Monthly positions. For each month, trades are aggregated per trader and stock; the net position (buys minus sells) gives the direction, long or short, and neutral positions are dropped.
- Coordination. Two traders coordinate when they take the same direction in the same stock in the same month.
- Profitability. A coordination is profitable when the stock’s return over the following month matches that direction.
- Filters. A pair is kept only if the stock was traded by at most 100 traders and in at most 1,000 trades, each trader made at most 1,000 trades in the period, and the average profitable return exceeded 20%. The stock’s trade count is summed once per trader pair, so this filter is stricter than 1,000 trades.
The filters are deliberately strict, isolating repeated coordination on rare, illiquid stocks with exceptional returns.
3.3 Network analysis
The remaining pairs form an undirected network of traders, each edge weighted by the pair’s average profitable return (for the few pairs that coordinated on more than one stock, the return on only one of those stocks is used). For each trader we compute the degree (number of coordination partners), the degree centrality (degree as a share of all possible partners) and the node return (average return over the trader’s edges), and we identify the connected components. A bipartite trader–stock graph of the largest component shows which stocks link the traders. The network analysis covers 2023 and 2024, each year analysed separately.
3.4 Prediction model
Individual coordination events are too rare to predict: most trader pairs coordinate only once, on a different stock each time. The prediction model therefore asks a broader question: does the combined activity of the traders who have anticipated a stock’s moves in the past tell us whether its price will be higher 30 weekdays from now?
The model works on one stock at a time and makes one prediction per business day:
- Select informative traders. For each trader who traded the stock in the previous 1,250 business days (about five years), we measure how well changes in their position anticipated the stock’s subsequent price changes, using the Pearson correlation. A trader’s position is cumulative buys minus cumulative sells; its change is the 30-day minus the 90-day average position. Traders with a correlation of at least 0.10 are kept; all others are ignored.
- Summarise their activity. Each day, the selected traders’ activity in the stock is condensed into ten features. Each feature compares the last 30 days with the last 90 days, so it captures whether activity is picking up or fading: buy and sell trades, the number of traders net buying and net selling, the largest single-day buy and sell, the largest portfolio weight bought and sold, and the best and worst performance of their trades.
- Define the target. The label is 1 if the closing price 30 weekdays later is higher than today’s, and 0 otherwise.
- Train. A CatBoost classifier, an ensemble of 100 small decision trees in which each tree corrects the errors of the previous ones, is fitted to the previous 1,250 business days (Table 1). Only days whose 30-day outcome is already known on the prediction date are used, so the model never sees the future, and CatBoost processes the training days in time order.
- Predict. The model outputs the probability that the price rises; a probability above 0.5 counts as a predicted rise.
- Repeat. The whole procedure, including the trader selection, is rerun for every business day from January 1 to September 30, 2025, giving a series of out-of-sample predictions.
| Hyperparameter | Value |
|---|---|
| objective | Logloss |
| iterations | 100 |
| boosting_type | Ordered |
| grow_policy | SymmetricTree |
| has_time | True |
| l2_leaf_reg | 3 |
| subsample | 0.7 |
| rsm | 0.7 |
The predictions are evaluated with three measures: accuracy (the share of correct up or down calls), ROC-AUC (the probability that a randomly chosen day on which the price rose gets a higher predicted probability than a randomly chosen day on which it fell, where 50% is chance) and the confusion matrix. Each figure shows, from left to right, the 30-day price change and the predicted probability over time, the ROC curve and the confusion matrix. Accuracy and ROC-AUC exceed 60% for all four stocks tested (Figure 1, Figure 2, Figure 3 and Figure 4); Section 4.3 tests whether this holds for a random sample of stocks.
4. Results
4.1 Finfluencer sample vs the market
Below are the aggregate returns of a sample of finfluencers over about two years (January 2023 to February 2025) against two major index benchmarks over time, which is likely exactly the type of chart you expected to see 200ms after reading the headline of the article, so there you go:
This is not a very reliable chart and there are some issues with it, some things, like traders dropping out may are not handled correctly, not all available data was included due to some issues, and of course I will not have scraped everything in full. It should be loosely accurate but it is more of an approximation, sorry :/
I made a code change in late 2024 and it tracks not returns anymore but the average price level of all EUR portfolios relative to the first day. I do not remember anymore why I did this and it does not strike me as useful in retrospect.
So, unfortunately, there is a second chart from that point on:
So you would need to sort of concatenate Figure 5 with Figure 6 but also that would not be exactly right but only loosely.
(This whole thing was done a bit quick and dirty, sorry for that, so while it should be loosely accurate and uhm there is a fair margin for error until the conclusion changes, it definitely is not a good source ^^).
Volatility is a bit lower than for either index in the time period analysed:
| Annualized Volatility | |
|---|---|
| Finfluencer sample | 9% |
| S&P 500 | 13% |
| EuroStoxx 50 | 14% |
There is a high correlation with the benchmarks, mostly they follow the index. It is not a factor-neutral investment if you already buy the index.
| Correlation | |
|---|---|
| S&P 500 | 77% |
| EuroStoxx 50 | 63% |
4.2 Coordination networks
Both years produce small networks of traders coordinating on illiquid stocks (Figure 7 and Figure 8). Traders with more coordination partners earn slightly higher returns, but the relationship is weak and not significant in either year (2023: β = 0.0111 per partner, p = 0.41; 2024: β = 0.0068, p = 0.78). Degree centrality is degree rescaled by network size, so it gives the same result. Fitted returns are around 29–33% in 2023 and 35–39% in 2024, with a wider confidence band in 2024.
The most profitable coordinated trades are in obscure small caps (Figure 9 and Figure 10). In 2023, two traders went long an Irish green hydrogen company in October, ahead of a rise from about $25 to over $55 by late November. In 2024, five traders bought a US augmented reality company in November, before its price more than doubled to about $5.25 in late December.
The trades with the most coordinated traders follow the same pattern (Figure 11 and Figure 12). Six traders bought a US medical diagnostics company in October 2023 at about 29, before it reached 46 in December (+59%), and seven traders bought an African energy company in April 2024 at about CA$0.90, before it rallied to CA$1.45 in June.
The largest connected component is organised around two hub stocks in each year (Figure 13 and Figure 14): a US synthetic biology company and a US cancer biotech company in 2023, and the African energy company and a Canadian gold explorer in 2024. Light blue circles are traders, dark blue squares are stocks.
These “largest connected components” are still pretty small, so there is not really that much going on in terms of information duplication.
Whenever I wrote “connected component”, what I meant is not that it is necessarily connected by intent, it could simply be a random outcome.
4.3 Prediction model on 250 random stocks
The four stocks in Section 3.4 are large, heavily traded companies. To see whether the results generalise, we reran the same backtest (daily retraining from January 1 to September 30, 2025) on 250 stocks drawn at random from the 1,723 stocks with price data for 2025. The rerun reproduces the four original stocks closely: accuracy of 73%, 74%, 67% and 59% and ROC-AUC of 76%, 75%, 78% and 61%, compared with 74%, 73%, 62% and 61% and 76%, 73%, 77% and 62% in Section 3.4.
For 99 of the 250 stocks, no trader passed the 10% correlation threshold, so the model made no predictions, and 22 more had fewer than 50 prediction days. On the remaining 129 stocks (21,729 stock-days), the model does not beat simple benchmarks (Table 4). On average it is less accurate than always predicting a rise, and its ROC-AUC is below the 50% of a coin flip (Figure 15 and Figure 16). Only 16 of the 129 stocks reach both 60% accuracy and 60% ROC-AUC, and only 45 beat the always-rise benchmark.
| Measure (129 stocks) | Mean | 95% CI |
|---|---|---|
| Accuracy of the model | 52.3% | 49.6–54.9% |
| Accuracy of always predicting a rise | 56.6% | 53.6–59.6% |
| ROC-AUC of the model | 43.6% | 40.2–46.9% |
| Stocks with accuracy and ROC-AUC above 60% | 12.4% | |
| Stocks where the model beats “always rise” | 34.9% |
The four stocks shown in Section 3.4 are therefore not representative: across a random sample, the model does not predict 30-day price moves better than chance. A ROC-AUC below 50% would mean the predictions point the wrong way more often than not, which could reflect patterns from the five training years reversing in 2025; it is not a usable signal either way. The confidence intervals treat stocks as independent; because all stocks share the same 2025 market moves, such as the April sell-off, the true uncertainty is larger.
=> The backtesting shows that the model does not work and the approach is moot.
5. Discussion
The results can be summarised like this:
a) Finfluencers as a whole underperform the market
b) A model trained on the activity of selected traders does not predict stock price moves better than chance or than always predicting a rise
There isn’t really anything interesting to discuss.
Comments
Comments are hosted by Disqus. Showing them loads content from disqus.com, which may set cookies; see the Disqus privacy policy.