Releases: kaustubhspatil/beatnothing
Release list
0.2.2: the page shows the board it is talking about
Presentation only. The engine, the statistics and every number on the board are unchanged
from 0.2.0, which is
the release worth reading.
Both fixes exist because a published version cannot be replaced, so each correction needed
a version of its own.
0.2.1. The README pointed at its figures with repository relative paths. GitHub
resolves those against the repo; PyPI has no repo to resolve against, so every figure on
the package page rendered as a broken box while the badges, already absolute, rendered
fine. All six now use absolute URLs and render in both places from one source.
0.2.2. The chart at the top of the page pointed at the survivor track and showed eight
contestants, directly above a paragraph claiming twenty five. The twenty five contestant
chart lives in the point in time track's figure directory under the same file name, which
is how that slipped through. The top of the page now shows the board the headline is about,
the season one chart moved down into the season one scoreboard where it is accurate, and
both carry a caption naming the universe they are drawn on. Every committed figure
regenerates byte identical from the current boards, so nothing was stale; the page was
pointing at the wrong one.
Also here: a five minute starter kit, so a stranger can go from clone to a scored entry
with no API key and no download, plus contributor scaffolding including a template for
challenging a published result.
pip install --upgrade beatnothing0.2.0: a point in time universe, a long short engine, and a board of twenty five
Twenty five contestants. None of them clears the bar.
The bar is doing nothing: hold every name at equal weight, never think again, pay the same
10 bps on every trade. The score is Net Edge, your net Sharpe minus the bar's net Sharpe on
the same days, with a 95% bootstrap interval. You clear the bar only when the whole
interval sits above zero. Four neural architectures, gradient boosted trees, the classic
cross sectional factors, a cross sectional ranking network and a 2026 financial foundation
model have tried, on a sealed 2022 to 2025 window and on 2026 to date. The lowest
familywise adjusted p value on the board is 0.97.
What 0.2.0 adds over 0.1.0
- A second track on a point in time universe. Every S&P 500 member on each day, dead
names included, membership by effective date. The first track was 48 survivors chosen in
2026, and the difference between them is measurable: picking that universe with hindsight
is worth +0.44 Sharpe, interval [+0.19, +0.76]. On the honest universe it is +0.03. - A long short engine. Three position rules a contestant declares: long every positive
name, long the top decile, or long the top and short the bottom decile, dollar neutral,
with a borrow charge. A dollar neutral book is judged against cash, not against the index. - The statistics, validated against themselves. Studentized circular block bootstrap
for Sharpe differences, HAC covariance with prewhitening and automatic bandwidth, block
length from the influence function, Romano and Wolf stepdown across the board. Measured
size 4.8% at a nominal 5%. On simulated boards where nothing has an edge, 61% of
uncorrected leaderboards produce a false winner and 1% of corrected ones do. - Season three: models retrained on the honest universe, which removed the last
hindsight. The best of them ranks names within each day, has the highest information
coefficient on the board at +0.0154, and still loses, because that information is gone
within five days and harvesting it daily costs three times what it produces gross. - A five minute starter kit.
python scripts/starter_submission.py --name my_first_try
builds a valid entry from the returns panel that ships in the repo. No API key, no
download.
Install
pip install beatnothingThe full method, with references and the mistakes made along the way, is in
docs/technical_report.md.
If you think a number here is wrong, the
"challenge a result"
template exists for exactly that, and it is worth more to this project than another entry.