Prior Movesmirror the world’s best investors

Institutional evaluation

Test the ranking on your own terms.

A rights-cleared sample built only from public SEC 13F filings, the evaluator that scores it, the controls we have run against it, and the protocol for a forward test graded on filings that do not exist yet.

Sample built 2026-10-12Source: SEC EDGAR 13F onlyRights gate: passed for sec external pilot

Run it yourself

Four quarters, scored by the published evaluator.

Out-of-sample rankings from the SEC-only model for 2025-06-30 to 2026-03-31: 28,092 candidate rows across 55 managers, with the realised outcome and a peer-count baseline. Identifiers are one-way hashes, so the sample measures the method without publishing holdings.

curl -O https://priormoves.com/data/sec-eval/predictions.csv
curl -O https://priormoves.com/data/sec-eval/outcomes.csv
curl -O https://priormoves.com/data/sec-eval/pm_evaluate.py
python3 pm_evaluate.py predictions.csv outcomes.csv \
  --sha256 a770c66a9365ca341b4e2e368111c9142933735b2cabbc4efc6aadf1370f7cd5
MeasureSEC-only modelPeer-count baseline
Pair-weighted AUC0.68650.6458
95% interval, resampling managers0.6525 to 0.73240.6099 to 0.6953
Top-decile lift over base rate (1.57%)6.042×5.594×
Precision at 100.10040.0924
Model minus baseline, paired by manager+0.0407 (95% interval 0.0157 to 0.0645; above zero in 100% of 500 resamples)
Integrity: hash, timestamps, duplicateshash matches; 0 late rows; 0 duplicates

Timestamps in this historical sample are simulated: a prediction is dated 45 days after its quarter, when its inputs were last filed, and the outcome 45 days after the next quarter. The same model configuration was evaluated on these quarters before, so this is a reproduction, not a fresh holdout.

Controls

Shuffled labels and simple baselines.

Over 25 quarters (2020-03-31 to 2026-03-31) the SEC-only model averages 0.6635 within-manager AUC. Refitting it 5 times on labels shuffled inside each manager and quarter gives 0.5365 on average (best 0.5583); random scores give 0.5143. The real model beats every shuffle in 18 of 25 quarters. The strongest single input, how many other managers hold the issuer, scores 0.6368 alone, and the model beats the best single input in 15 of 25 quarters. Most of the ranking is peer popularity; the model adds a modest, inconsistent margin over it.

A shuffled-label control rules out skill produced by manager identity, base rates or fold structure. It cannot detect leakage in which rows exist. Source: runs/gates/q25_sec_shuffle_and_baselines.json.

Model cards

Each model, with its own target and evidence.

ModelTargetResultStatus
US per-manager next entryNew position in the next 13F0.6762 pair-weighted, CI 0.6563 to 0.7002; 49 managers, 35 quarters
runs/gates/us13f_pair_weighted_auc.json
Served (feeds board), frozen
Same predictions, stock-only labelsNew share position, options and bonds removed0.6611 on 119,124 rows; same 49 managers
runs/gates/q24_option_rows_in_labels.json
Diagnostic
Shared board ranker (a ranking model)Next-filing appearance across managers0.5603 on 837 scored units; binary control 0.4978
runs/gates/V19_rank_board_promotion.json
Served, frozen
SEC-only rankerNew position in the next first-within-45-days filing0.6635 mean manager AUC over 25 quarters; peer-count baseline 0.6368
runs/gates/q25_sec_shuffle_and_baselines.json
Shadow, rights-cleared
Japan next filingNext large-shareholding report0.7325, CI 0.6357 to 0.8267; 19 investors; shuffled 0.4968
runs/gates/claim_facts.json
Market board
Adds, trims, exitsChange in an existing reported positionAdds 0.581, trims 0.553 (12 managers); exits 0.666
runs/action_heads_gate.json; runs/gates/q8_cap_false_exits.json
Research only
ReturnsExcess return after the filing is publicBest of 8 pre-specified transforms |t| = 1.00 against a 2.57 bar
runs/gates/A1_rank_to_return.json
Not demonstrated

These measure different targets on different populations and are not interchangeable. The US figure is an upper estimate: survivors carry +0.051 AUC per investor, paired, on scored names (28 of 33), a lower bound.

How much to trust these numbers

Every figure, with the tries behind it.

The project has registered 513 hypotheses and settled 498 of them, failures included. The 15-name backtest was chosen among 33 configurations of the same backtest (names per quarter, filing lag, leak-free variants). Corrected for that many tries, its deflated Sharpe ratio is 0.339: the probability that its Sharpe ratio of 0.444 a year beats what the luckiest of 33 skill-free configurations would show. Uncorrected, the probability that it beats zero is 0.957. Telling skill from that much choice needs 22.7 years of quarters; the backtest has 8.8.

  • Delistings: 0 of 525 backtest picks lacked a price over their holding quarter, so none left the average that way. The open risk sits upstream: names without a row in data/tickers/cusip_to_ticker.parquet never enter the ranking; if that map was built from today's listings, names that later delisted are missing from early quarters.
  • Survivorship in the ranking: survivors score higher per manager (28 of 33), so the US figure is an upper estimate.
  • Probability of backtest overfitting: not computed yet. CSCV needs a per-quarter return series for every configuration; the configuration files on disk hold aggregates only.

Method: Bailey and López de Prado (2014). Source: runs/gates/selection_adjust.json; register runs/hypotheses/INDEX.json.

Source filings

Every forecast row names the filing it rests on.

Each of the 138 manager-quarters in the sample cites the 13F its inputs came from and the 13F that graded it. 225 of 225 cited accession numbers appear in the SEC EDGAR full index. 0 manager-quarters carry a flag (no grading filing, or one filed after 45 days). The free sample stays hashed, because an accession number begins with the filer’s CIK; the licence key table carries the manager, CIK, source accession and grading accession for every row.

What a citation looks like: Berkshire Hathaway, quarter ending 2026-06-30, accession 0001193125-26-352200, filed 2026-08-14.

Score band (decile)RowsShare that came true
12,8100.1%
22,8090.0%
32,8090.1%
42,8090.3%
52,8090.3%
62,8090.7%
72,8090.6%
82,8091.2%
92,8092.8%
102,8109.5%

Source: runs/gates/filing_citations.json.

What was knowable then

A point-in-time audit of every input.

Each input classed by whether it was observable at the simulated forecast date. This is an audit, not a certificate: the served US model still has hindsight in its candidate universe and price history.

InputStatusWhy
13F holdings (served labels and features)PIT-sensitiveEach period keeps the LATEST-filed full filing, so a 13F/A filed after the simulated prediction date can replace the original; filed_at is carried onto rows but the choice of filing is not as-of
13F holdings (SEC-only model)Verified PITOnly each manager's first filing within 45 days of quarter end is used; amendments and late filings are excluded by a tested cutoff
Candidate universe (served panel)Known hindsightRows exist only for securities in the price cache, which was seeded from a 2026 forward ranking; survivors are over-represented (+0.051 AUC per investor on scored names, lower bound)
Candidate universe (SEC-only)Verified PITTop 250 issuers by count of tracked managers holding them in the same quarter's filings; no price cache, no later information
Market prices and momentumKnown hindsightyfinance history fetched for a current ticker list; delisted names are mostly absent; adjusted prices are restated after splits and dividends
Analyst revisionsUnknownyfinance-derived; no verified release timestamps and no permission for commercial use
SEC XBRL fundamentalsPIT-sensitivecompanyfacts values carry filing dates, but the ticker list fetched was a 2026 ranking, so coverage itself is hindsight; channel ablated as not load-bearing
Options and GDELT channelsKnown hindsightFetched for a top-N 2026 list; ablated with the coverage flags and not load-bearing
Coverage flagsKnown hindsightFlag presence encodes the 2026 fetch list; ablated, not load-bearing
Option and principal-amount rowsKnown contaminationPUT/CALL and PRN rows are summed with shares by CUSIP; stock-only labels move the frozen-prediction pair-weighted AUC 0.6762 to 0.6611 on the same 49 managers
Training and test windowsVerified PITExpanding window ending before each test quarter, with an embargo on rows whose report period falls inside the gap
Holdout reuseUnknownMany research runs read the same held-out quarters; return tests carry a family-wise bar, AUC figures do not
Forward record timestampsVerified PITReceipts hashed and timestamped before the filing deadline; some OpenTimestamps attestations still pending

Forward commitment

A sealed cohort, graded after the November filings.

On 2026-10-09 the SEC-only model ranked 10,448 candidates for 51 managers’ September-quarter filings. The file stays private until outcomes are graded; its hash and an OpenTimestamps proof commit to it now.

SHA-256 515a9bddd92de91a8673cf69b1eee71ba3fff3b175750ad4f6095a8ab79c04c4 · proof file · status sealed predictions outcome pending. A proof is final only once its Bitcoin attestation confirms.

Forward-test protocol

Fixed before the quarter ends.

  1. The firm names the managers and agrees the candidate universe and metric.
  2. The model identity and configuration are frozen and hashed with the rankings.
  3. Rankings are delivered with a SHA-256 hash and timestamp proof before the 13F deadline.
  4. Outcomes come from each manager’s first filing within 45 days; later amendments are ignored.
  5. The firm grades with this evaluator or its own code, against peer-count, persistence and shuffled baselines.
  6. Pass: the lower bound of the manager-clustered interval clears 0.5 and the best baseline. Fail results are reported too.

What can be delivered today

The SEC-only lane passes the source-rights gate for an external pilot. Hosted API resale is unresolved. The public board also uses five sources without commercial permission (companiesmarketcap, congress-github-aggregates, hackernews-algolia, nyt-article-search, yahoo-finance), so it is not offered as a data product. The SEC-only lane is licensed per firm at USD 30,000 to 50,000 a year, after a 3-month free trial. No hosted feed or service level exists yet.