Short Selling Course Project: Build a Point-in-Time Dilution Study
Build a dilution study with dated filings, point-in-time cohorts, abnormal returns, borrow caveats, squeeze risk, and robust failure analysis.
Alphanume Team · August 3, 2026
A dilution filing can describe new supply, an existing holder's resale, employee shares, or standby shelf capacity. The first job in this short-selling project is classification. The return calculation comes after you prove that every event belongs in the cohort.
Our Python dilution screener tutorial shows how to find and filter candidates. This project rubric emphasizes study validity, point-in-time classifications, abnormal returns, borrow, and squeeze risk rather than another screen.
Pin the dilution hypothesis
State the mechanism carefully. A primary issuance can expand supply while signaling financing pressure, and the market response may depend on offering size, issuer condition, float, and the path from registration to effectiveness. The project tests that conditional claim.
Define which forms and transaction types qualify, how primary issuance differs from resale registration, what counts as dilutive, and which timestamp starts each event window. A registration statement and its effectiveness notice can create two distinct research clocks.
- Event: a filing classified with information available at acceptance time.
- Mechanism: potential supply and financing pressure, stated conditionally.
- Outcome: raw and benchmark-adjusted forward returns.
- Implementation: locate, borrow fee, liquidity, and exit clock.
- Failure: benign cohorts, squeezes, costs, or regime instability erase the effect.
Build the filing ledger
Create one row per filing with issuer identifier, accession number, accepted timestamp, form, primary-versus-resale classification, estimated offering size, float, market capitalization, effectiveness status, withdrawal status, and links to amendments.
Preserve the state through time. A filing later declared effective should not carry that label on the registration date. An amendment can change size or transaction structure, so the ledger needs version history rather than one final cleaned row.
Join point-in-time prices, benchmark returns, delistings, symbol history, liquidity, and any available borrow observations. Report missing borrow separately. Treating an unavailable short as a zero-cost position would describe a trade that did not exist.
Manual filing review should remain in the workflow even if classification is automated. Draw a stratified sample from primary issuance, resale, shelf, amendment, and ambiguous groups, then compare the labels against the source documents. Record disagreements and update the guide before measuring returns. A classification error that moves benign filings into the dilutive cohort changes the economic object being tested.
| Project layer | Required output | Key challenge |
|---|---|---|
| Classification | Auditable filing ledger | Primary issuance versus resale |
| Timing | Registration and effectiveness clocks | No future status leakage |
| Measurement | Raw and abnormal return panels | Delistings and benchmarks |
| Implementation | Borrow and liquidity report | Unavailable or costly shorts |
| Risk | Tail and squeeze analysis | Negative skew hidden by averages |
Measure conditional cohorts
Start with the full classified population and fixed windows. Report count, mean, median, hit rate, quantiles, drawdowns, and abnormal returns. Then examine conditions motivated by the mechanism, such as issuance relative to float, financing type, issuer size, or effectiveness.
Keep exploratory thresholds visible. If you test 20 size cutoffs, record all 20 and reserve a final period for the selected rule. A sharp threshold found in sample should receive more skepticism than a broad monotonic relationship.
Add an implementation panel. Estimate whether shares were borrowable, apply conservative fees where data permit, impose liquidity and position limits, and show how exclusions change the cohort. The paper result and tradeable result should be presented side by side.
Capacity needs a plain estimate. For each event, calculate a conservative position size as a fraction of recent dollar volume and compare it with float and observed spread. Aggregate simultaneous events to show how many positions compete for capital on busy dates. This does not establish executable capacity, though it prevents a small-cap study from assuming unlimited size at the close.
- Pin the filing and dilution definitions.
- Build a versioned point-in-time ledger.
- Join complete price and benchmark histories.
- Measure full and mechanism-based cohorts.
- Apply borrow, liquidity, and capacity constraints.
- Attack tails, squeezes, and alternative clocks.
Attack the short
Separate registrations from effectiveness, remove the largest winners, include squeeze days, and test different benchmarks. Review whether one period of speculative small-cap activity dominates the result. Check overlapping financings and repeated issuers because events from one distressed company are not independent observations.
Discuss recalls, buy-ins, dividend liability, halts, and gap risk. A stop order cannot guarantee an exit through a halt or overnight jump. These risks belong in the project even when historical borrow data are incomplete.
The Dilution Study lesson runs the core population measurement. The full project adds the versioned filing ledger, tradeability panel, robustness tests, and written short-side defense.
Grade validity before returns
Submit the research contract, classification guide, filing ledger, data-quality report, abnormal-return tables, implementation panel, attack memo, and reproducible code. Include five manually audited filings that demonstrate the classifier handles ambiguous cases.
Add one counterexample appendix containing filings that looked dilutive from a headline and failed the documented classification after reading the source. Show the exact field or document language that changed the label. This appendix demonstrates why the project cannot be replaced with a keyword screen and gives the next researcher concrete tests for the most expensive classification mistakes.
Preserve a dated candidate list before each forward review. Later outcomes should be appended to that frozen list rather than used to revise the original membership. The log provides a clean check on classification drift, missing borrow, and the difference between a paper cohort and an observable opportunity set.
The quant course projects hub holds related rubrics. A project can pass with no usable short edge if it identifies benign registrations, data leakage, or borrow constraints that invalidate the original claim. Finding the failure honestly is the work.