
There is no vendor category for public trader positioning, so this defines the object first, then shows how it behaves against the questions a fund actually asks.

Centaur · Research
October 19, 2026 · 15 min read

There is no established alternative-data category for this. Search the vendor catalogues and you will find social media sentiment, social listening, media intelligence and consumer insight. Nothing sits under a heading like public trader positioning, so a dataset built from what named traders publicly said they were doing tends to get filed next to retail signal products, which is the wrong shelf.
So this page does the boring thing first and defines the object, then says what the published research supports, then shows how the dataset behaves against the questions a desk actually asks in an evaluation. If the conclusion is that it does not fit your process, that is a useful conclusion to reach in ten minutes rather than ten weeks.
A trade event is a record that a named account publicly disclosed a market action. Six fields carry it: the asset, the direction, the market price at the moment the post went out, a timestamp, the account, and a link back to the original message.
It is a disclosure, not a fill. Centaur measures trades disclosed publicly by traders and does not verify broker or onchain activity, so confirming that capital moved needs records this dataset does not hold. It carries no position size either, meaning notional, weight and allocation are absent and cannot be inferred.
The category is defined against sentiment and wallet tracking in what social trading data is, and the field-level specification is public at docs.centaur.io.
This is the part that matters most in an evaluation, and it is the part most social datasets leave in prose.
Each event carries flags describing its own provenance. assumed marks an action inferred from the sequence of positions rather than stated by the trader. A message reference is present when the row traces to a specific post. A separate flag, retrospective, marks a post that described a position the trader already held rather than one being opened as they wrote.
Those flags are returned in the data, not described in a document and left there. The distinction is worth drawing because it is where most vendors stop: a page explaining that some values are modelled is not the same as a field telling you which ones.
The resulting split, over the 90 days to 18 October 2026. Rows the system writes to close out a stale position are excluded, because that housekeeping is being removed from the positioning data:
| Event type | Events | Traceable to the trader's own post |
|---|---|---|
| Adds (Increase) | 3,624 | 100% |
| Trims (Decrease) | 1,052 | 100% |
| Opens | 5,367 | 61.3% |
| Closes | 3,190 | 68.7% |
| All events | 13,233 | 76.8% |
Increases and decreases are wholly stated, roughly three in five opens are, and roughly two in three closes are. Every position is scored from its entry on a fixed clock, so a close the trader never posted does not change the result. What matters here is that the split is queryable: a desk that wants declared events only can filter to them, and one that wants the full behavioural series can keep the rest and know which is which.
Deloitte's guidance on institutionalising alternative data names two biases firms must adjust for when backtesting a dataset: look-ahead bias, "wherein information that was not available at the time of making investment decisions gets used in the investment model," and survivorship bias, "wherein only data for elements that survived an event or process are considered". Both are structural risks in social data. Both are what the flags above exist to handle.
Look-ahead. A post saying "I bought this last week and it is up 50%" is not a call. A trader can claim any opening time, so the entry price is assigned at the moment the position is disclosed and the row is flagged as a retrospective open. Scored from that moment it reads as a spectacular call, while the return the trader actually saw may be different, because the position was already open when they posted. That is what retrospective marks, and in September 4.1% of opens carried it, 85 of 2,054. The rate is low and it concentrates in the tail, which is exactly where a ranking looks. A performance study that does not filter it will put a non-call at the top.
Survivorship. Posts get deleted, and not at random. Around 11% of tweets are eventually removed, and a peer-reviewed study of deletion behaviour found deleted tweets differ systematically from retained ones: they carry more negative sentiment and more swear words, and the accounts doing the deleting skew more extroverted and neurotic and less conscientious (Bhattacharya and Ganguly, ICWSM, 2016). Work on trading discussion specifically has documented the removal of posts carrying poor predictions.
The consequence is that a dataset assembled by scraping history is a survivor's record, and it flatters everyone in it. This one is captured at post time and priced at that minute, so a post deleted afterwards stays in the record. That property cannot be added later at any budget, which is the main reason this dataset exists in the shape it does.
A third failure mode is worth naming because it is documented rather than theoretical. Asset resolution breaks when tickers collide: a peer-reviewed study of financial cashtags found that the arrival of cryptocurrencies caused a significant degradation of cashtag-based aggregation, since the same symbol can mean a token or a listed company. Resolution therefore runs before direction and timing. A trader posting $VTWO produces a row on the Russell 2000.
Worth being exact here, because a desk will check.
Positioning data is informative about crowding and regime. Short interest negatively predicts aggregate stock returns in 24 of 32 countries, and the effect survives out-of-sample, persists outside recessions and is not subsumed by other known predictors (Gorbenko, Review of Asset Pricing Studies, 2023). Hedge fund option holdings carry information as well (Anand, Hua and Puckett, Management Science). Neither is a trade trigger. Both establish that knowing who is positioned where tells you something.
Public posts from identifiable people carry short-horizon information. A study of roughly 250,000 stock-related messages posted over six months in 2010 found associations between sentiment and returns, message volume and trading volume, and disagreement and volatility (Sprenger, Tumasjan, Sandner and Welpe, European Financial Management, 2014).
All three run in the same direction: bullish sentiment goes with positive abnormal returns, message volume predicts next-day trading volume, and disagreement goes with higher volatility. The same paper found that accounts giving above-average advice are retweeted and followed more, so the forum weights itself toward the better callers. The work is built on daily aggregation, which is the horizon this dataset lives at.
So the defensible claim is narrow. Public trader positioning shows where a book is crowded and where it is not, which way the bias runs, which names a strong trader is in before the wider market has moved, and which setups are worth taking the other side of. It surfaces names worth a closer look, annotates events and prioritises follow-up research, at intraday to daily horizons. It is not a standalone return signal, this page does not claim it is, and a vendor telling you otherwise is selling past the evidence.
Deloitte's list of the dimensions firms assess includes uniqueness and breadth of adoption, meaning exclusivity against competitive saturation. It is a fair question to put to any vendor, so here is the answer for this dataset. Three properties are not purchasable.
There is no rate card for it. Followers, engagement and reach are all commodities with public prices. There is no market price for a multi-year record of public calls scored against the market price at the minute each one was made, because the only way to hold one is to have been watching at the time.
Nobody enrolled. The tracked accounts have no relationship with Centaur. None registered, none are ranked in exchange for anything, and none are paid, so the behaviour in the record is not shaped by the fact that it is being measured. For a research use that independence is the point: the series is not a product anyone is performing for.
It cannot be assembled after the fact. This follows directly from the deletion problem above. Posts that are already gone cannot be collected, and the ones that go missing are not a random sample. Any competitor starting today begins their history today, and the gap does not close.
Most datasets in this neighbourhood stop at crypto. This one follows the person rather than the venue, which produces a split worth seeing before you assume what is in it.
| Source | Positions in the window | Market composition |
|---|---|---|
| X | 2,499 | 71.1% non-crypto |
| Telegram | 2,860 | 88.9% crypto |
On X, roughly seven in ten tracked positions are not crypto. The twelve most crowded assets on 18 October make the same point by name:
| Asset | Traders | Long / short |
|---|---|---|
| BTC | 56 | 48 / 8 |
| ETH | 25 | 22 / 3 |
| META | 23 | 23 / 0 |
| ZEC | 18 | 15 / 3 |
| SOL | 17 | 16 / 1 |
| AMD | 16 | 15 / 1 |
| HYPE | 15 | 15 / 0 |
| DRAM | 13 | 12 / 1 |
| PAXG | 13 | 12 / 1 |
| PUMP | 13 | 12 / 1 |
| NBIS | 13 | 13 / 0 |
| MU | 13 | 13 / 0 |
A single stock, Meta, sits third, ahead of every crypto asset except bitcoin and ether, and AMD is sixth. Gold and a memory-chip ETF share eighth place with Nebius, Micron and Pump.fun. Those are four asset classes in one list, crypto, stocks, commodities and index products, and a desk studying rotation can read them in one query rather than reconciling three vendors.
Every response returns the trader count behind it, so a per-asset read always arrives with its sample size.
A single day's open book shows what was crowded on that one date, and nothing more. The table below is a different cut: every position held across the full 90-day window, grouped by theme. That shows where the tracked accounts are positioned over time, which is the question a desk asks before it asks anything else.
Across the 90 days to 8 September 2026, a book of 9,529 positions, the AI hardware and memory complex came first at 2,386 positions across 142 traders. That is more than twice the BTC and ETH majors combined, at 996. Its heaviest names were MU at 222 positions, DRAM at 194, NBIS at 155, NVDA at 152, SNDK at 139, SKHX at 135, SMH at 121 and AAOI at 101.
| Theme | Positions | Traders |
|---|---|---|
| AI hardware and memory | 2,386 | 142 |
| Majors, BTC and ETH | 996 | 168 |
| AI software | 593 | 102 |
| Memes | 445 | 91 |
| Indices | 424 | 124 |
| Layer 1 | 371 | 91 |
| Metals | 278 | 74 |
Read the top two rows together and the shape of the record is plain. Crypto is one theme within it rather than the substance of it. The trader counts are counts across the whole window, so the 168 against majors means 168 accounts held a BTC or ETH position at some point in the 90 days, not on any single day.
One specification to know before an integration is scoped. Asset class is on the data: every asset carries assetClass and resolvedAssetClass, which splits equities into stocks and indices, so the crypto against non-crypto and the stock against index cuts above come straight from the API. Sector and theme do not exist as fields, so a grouping like the table above rests on a mapping applied over the asset symbols, either one you maintain or one we supply.
The theme set used here covered 7,238 of the 9,529 positions, about 76%, and the rest sat outside it. Symbol resolution and asset class are handled upstream. The theme layer above them is a modelling choice, and it should be yours.
The theme figures describe the book as it stood on 8 September, while the other counts on this page are taken on 18 October, so the totals differ. The window rolls daily, which is the property described next.
This decides how a desk uses the data, and it is shorter than most integrations assume.
Among closes traceable to a trader's own post over the 90 days to 18 October 2026, the median position lasted 24.1 hours. Just over a fifth closed inside four hours and half inside a day. By market the split is wide: 21.2 hours median for crypto against 73.1 hours for non-crypto.
A daily review cycle fits this. A weekly one does not, because more than four in five of these positions closed inside seven days. Context Analytics reaches the same cadence from the other direction, building rolling 24-hour attention and sentiment measures on Stocktwits data and rebalancing daily.
History behaves the same way by design. The positions endpoints serve a rolling 90 days, so a query run today covers a different window from one run next month, and evaluations should be scoped to that.
The cleanest applications are indirect, and none of them require taking a posted trade.
Watchlist construction. Aggregate positioning in a name is a reason to look, not a reason to buy. Sort by trader count per asset and read down: the count tells you whether a name is crowded or barely held, the long and short split tells you which way the bias runs, and either one can be a reason to take the other side.
Event annotation. Place posted events beside price, funding and news in a market note. The source post is attached to every row, so an analyst reviewing the annotation later can read what was actually said.
Source monitoring. Track how specific public accounts behave across regimes and asset classes over time. Hold periods, direction bias and market mix are all queryable per account, and so is how well a given trader has traded a given asset, which is a different question from how they have done overall.
Cross-dataset joins. Join posted positions to onchain flows, exchange data or internal models. The use is confirmation and timing: when public positioning and the onchain flow agree, the read is firmer, and when a trader with a record is in a name nothing else has moved on yet, that is the gap worth working. The provenance flags matter here more than anywhere else, because a join that silently mixes stated and inferred events produces a result nobody can interpret.
These create evidence rather than dependence, which is the only footing on which a social dataset belongs in a research process at all.
A dataset like this should be put through the same diligence as any other alternative-data purchase: provenance, point-in-time behaviour, coverage limits, known biases, revision risk and integration cost. Five of those are answered above. The sixth, revision risk, is answered by the capture method: rows are written at post time and priced at that minute, so a row is not restated afterwards when the post behind it is edited or deleted.
The endpoints are documented at docs.centaur.io, so the specification is readable in full before you commit to anything, and what social trading data is sets the category against sentiment and wallet tracking. If you are building an agent rather than running a desk, the agent case covers a different use of the same record. If a conversation would be faster than a specification, book a call.
This is a record of what people posted and how it scored against market prices. It describes behaviour and recommends nothing.