Does buying below the model's valuation improve trading results?
We tested one entry rule: buy only when the Punk's recorded sale price is below its PunkPredictor valuation. The buy-all benchmark accepts every eligible entry. Both replays use the next recorded sale of the same Punk as the exit. The buy-all strategy gives us a benchmark; it does not represent every trader who trades without PunkPredictor.
The public backtest contains 3,628 price observations and 1,820 completed price pairs. Each pair joins a purchase price to the next sale price in that dataset. The model filter retains 1,098 pairs.
| Measure | Buy every eligible entry | PunkPredictor filter |
|---|---|---|
| Completed price pairs | 1,820 | 1,098 |
| Gross ETH profit | +1,492.6 ETH | +2,230.8 ETH |
| Gross USD-equivalent profit | −$3.05m | +$3.73m |
| Profitable pairs in ETH | 67.4% | 74.7% |
| Profitable pairs in USD | 57.5% | 62.2% |
| Median ETH gain per pair | +3.82% | +4.95% |
| Median USD gain per pair | +2.79% | +4.31% |
| Gross purchase outlay | 74,580 ETH | 42,409 ETH |
USD equivalents use the ETH price on each purchase and resale day, with the previous available day for a missing rate. The stored series is ETH/USDT, used as a USD proxy. Gross purchase outlay counts capital again whenever it is used for another purchase.
At the October 1, 2026 snapshot, the filter produced 49.5% more closed-pair ETH profit while reducing gross purchase outlay by 43.1%. That supports a practical use for valuation: passing on entries where the asking price leaves little room.
The buy-all strategy led in cumulative gross ETH profit through January 2026; the filter was ahead by the February month-end. The ending date matters.
These totals assume enough capital was available for every entry. The replay assumes historical transaction prices were available and follows the next observed resale rather than a live exit signal. It does not model competition for fills, gas, marketplace costs, financing or taxes.
A stricter ownership check narrows the advantage. Of 1,820 public backtest pairs, 490 (26.9%) do not pass every additional check for matching ownership, consecutive ordinary cash sales and a later resale. When we require consecutive ordinary cash sales with matching ownership, the filter still leads, but both groups show positive gross USD profit. The ETH advantage narrows to about 110 ETH, compared with 738 ETH in the public backtest.
| Ownership-checked subset | Buy every eligible entry | PunkPredictor filter |
|---|---|---|
| Ownership-linked pairs | 1,330 | 843 |
| Gross ETH profit | +1,873.9 | +1,983.8 |
| Gross USD-equivalent profit | +$0.83m | +$3.01m |
PunkPredictor's current curated wallet-to-entity map links purchases and resales across an owner's wallets. These are ownership-linked gross price outcomes, not audited investor net profits. Records that fail this check are unverified here, not necessarily invalid sales.
Realized profit and unsold CryptoPunks
After a sale
Measure what the owner paid against what they received. A transfer between the owner's own wallets carries the original purchase cost forward. The resale is what realizes the trading gain or loss.
Net realized profit = sale proceeds − purchase cost − transaction costs
While still held
A listing price is a seller's ask. A model valuation estimates a possible sale price. Neither is cash received, and neither guarantees a buyer at that price.
We can estimate an unsold Punk's value with the model. We keep that estimate separate from the money received on completed sales.
The unsold holdings change the picture
We checked the last performance observation for each Punk against the fuller sales database. For entries with no later recorded sale, the October 1, 2026 model estimates show losses in both currencies:
| Unrealized estimates · October 1, 2026 | Buy every eligible entry | PunkPredictor filter |
|---|---|---|
| Open positions with a current estimate | 1,741 | 658 |
| Estimated unrealized ETH P&L | −9,176.7 | −1,006.7 |
| Estimated unrealized USD P&L | −$40.04m | −$7.97m |
Hypothetical open positions under the resale rule, not verified current investor holdings. Estimates captured at 10:30 UTC; USD proxy 2,681.63 per ETH. Entries with unmatched records or a later sale are excluded. Current model values are estimates, not executable bids.
The positive USD claim applies to the public backtest. For the extended study, we used the next sale in the fuller sales database, then added estimated gains and losses on the remaining holdings. The filter's combined result is about −$4.62m, versus −$42.08m for buy-all, before costs. The same extended study shows +968 ETH for the filter versus −8,000 ETH for buy-all. The filter improves the result in both currencies, while the USD total remains negative.
The extended study covers 1,737 filtered entries and 3,511 buy-all entries, including 658 and 1,741 open positions respectively. It excludes 117 unresolved buy-all entries (49 filtered). It uses different entries and resale records from the public backtest. Do not add the earlier tables together. See the methodology.
CryptoPunks trading profits by resale year
An all-time average can be dominated by Punks bought cheaply in the early years. We matched 22,969 ordinary cash purchase/resale pairs across the longer history, including years before PunkPredictor's recorded performance dataset began. Our wallet groups let us link a purchase in one wallet to a resale from another wallet belonging to the same owner.
This table groups trades by the year of resale. A purchase may have happened years earlier. It shows the median completed trade, not the return from buying on January 1 and selling on December 31.
| Resale year | Pairs | Median ETH gain | Median USD gain | Profitable in ETH |
|---|---|---|---|---|
| 2017 | 162 | +49.6% | +47.4% | 68.5% |
| 2018 | 118 | +50.0% | +11.1% | 68.6% |
| 2019 | 302 | +56.0% | +27.2% | 90.7% |
| 2020 | 2,852 | +39.3% | +49.5% | 89.8% |
| 2021 | 7,765 | +33.1% | +50.7% | 87.6% |
| 2022 | 2,397 | +6.9% | +2.0% | 70.2% |
| 2023 | 6,283 | +0.0% | +0.0% | 49.6% |
| 2024 | 1,295 | +1.1% | +6.6% | 52.6% |
| 2025 | 1,184 | +4.1% | +5.7% | 64.4% |
| 2026 YTD | 611 | +1.7% | −1.8% | 56.0% |
V2 CryptoPunks only. 22,969 consecutive ordinary cash-sale pairs with matching buyer-to-seller entities. Before costs; unsold holdings omitted. 2026 ends October 1. Current entity links are used retrospectively. ETH and USD have complete coverage in this table.
The typical completed trade made far larger ETH gains in 2020 and 2021 than in recent years. In 2023 the median ETH price change was zero. And a positive ETH outcome can still mean a dollar loss when ETH falls while the Punk is held.
The table only includes Punks that sold again. Owners who did not sell are absent, and Punks that traded repeatedly appear more than once. Historical success does not tell us that the remaining holdings can be sold profitably today.
How much do trading costs change the profit?
We applied an illustrative 1% cost to both the purchase and the resale of every completed pair. This is a stress test, not a statement of the fees on a particular marketplace.
On the public backtest, the filtered result falls to about +1,360 ETH and +$1.10m. Buy-all falls to about −14 ETH and −$7.65m. At 2% per leg, the filtered closed-pair USD result also turns negative.
The positive filtered gross result is not entirely due to one spectacular trade: removing its five largest winning pairs still leaves about +1,976 ETH, or +$2.85m when the five largest dollar winners are removed separately. Neither check accounts for the unsold positions.
Understanding CryptoPunks returns
Why can a CryptoPunk gain in ETH and lose in dollars?
The ETH exchange rate can move more than the Punk's ETH price. For example, buying at 20 ETH when ETH is $3,000 costs $60,000. Selling at 24 ETH when ETH is $2,000 returns $48,000. That hypothetical trade gains 20% in ETH and loses 20% in dollars, before costs.
Does a profitable ETH trade mean CryptoPunks beat holding ETH?
For a completed purchase and resale, a positive ETH gain leaves you with more ETH than you spent, before costs. But this study does not show that an entire CryptoPunks portfolio beat holding ETH: that comparison also needs unsold holdings, idle cash, costs and matching entry and exit dates. The closed-trade totals cannot answer it alone.
Can I use the floor price to calculate my profit?
The CryptoPunks floor price is the lowest available asking price. It gives you market context, but it does not tell you what someone will pay for your Punk. For a completed sale, compare proceeds with your purchase cost and fees. For an unsold Punk, use a Punk-specific valuation as an estimate and label the result unrealized.
Sources, rules and limits
This is PunkPredictor's study of its own valuation filter. We publish the results that weaken the headline as well as those that support it, and link to the backtest so you can inspect how it works.
Which data and strategy rules did we use?
The public backtest table reproduces PunkPredictor's live backtest from a fixed October 1, 2026 snapshot. Entries run from September 24, 2024 to October 1, 2026. The filter requires the recorded model estimate to exceed the entry price. All 3,628 prediction timestamps precede their associated sale; this timestamp check is not an independent audit of every historical publication. The entry rule comes from the existing public backtest. Historical entries use their recorded predictions.
Why are there several different samples?
The public backtest pairs adjacent performance records. The ownership-checked subset retains only pairs that also match two consecutive ordinary cash sales in the fuller corpus, with the entry buyer and exit seller linked to the same entity, with a later resale timestamp and neither leg a same-entity sale. The year-by-year table applies that ownership rule to the longer history. It does not backfill PunkPredictor signals into years before the recorded model data.
The extended study starts with uniquely matched performance entries and exits at the next recorded sale in the fuller corpus, even if that resale lacks a model prediction. Only positions without a later sale in either source receive the October 1, 2026 model estimate. Unmatched or contradictory records are excluded and counted. It uses price pairs, not a fully reconstructed economic ledger.
What is excluded from the historical ownership table?
We retain ordinary native-market, wrapped-Punk and selected marketplace sale records. We exclude zero-price entries, same-entity sales, unmatched ownership transitions, and pairs involving synthetic, noncash or other protocol/auction records outside that narrow cash-sale scope. Excluded events still interrupt the sale sequence; we do not skip them and invent a longer holding period.
Are these portfolio returns or proof that the model caused the gains?
No. The headline figures add gross gains and losses across completed price pairs. Purchase outlay is turnover, not starting capital. The replay does not size positions to a fixed bankroll, mark every position daily, or supply a tradable exit rule. The same Punk can contribute several observations, so those observations are not independent. Differences may also reflect which Punks and holding periods the filter selected. We do not present CAGR, a probability of making money, or a causal claim about subscriber returns.
How can I check an individual trade or holding?
Use the profit tracker to inspect acquisition cost and realized outcomes, and the model performance page to review prediction evidence. Confirm sale details and any fees before treating a gross price gain as a net profit.
Research snapshot: October 1, 2026. V2 CryptoPunks; V1 outcomes require a separate study. This article publishes aggregates only. It does not make the curated transaction dataset available for download.