Free lesson · Point-in-time data
Universe membership and disappearing assets
Open interactive lessonPractice calculationsExplore labs
Start with the idea
A strategy’s opportunity set must include assets that existed at the decision date, including those that later failed.
Symbols, units & horizon
- U_t: investable universe known at decision t
- w_i,t: signed capital weight set at t
- R_i,t+1: complete next-period total return, including terminal events
- R_p: portfolio period return before separate costs
- weights may include cash explicitly
When and why to use this
Audit equity factors, token lists and exchange listings before claiming performance.
A strategy’s opportunity set must include assets that existed at the decision date, including those that later failed.
Joining today’s ticker list to historical returns removes failed and acquired names. Tickers can be reused; stable identifiers and dated membership intervals are essential. Delisting returns and final cash consideration must be reconciled rather than silently dropped.
Evaluate missing returns by reason. A halted asset cannot simply inherit the surviving assets’ return. Where the final recovery is unknown, present sensitivity bounds and explain the data gap.
Universe membership and disappearing assets
- Freeze the universe and weights at the decision time.
- Retrieve each member’s complete period return even if it later disappears.
- Multiply each return by its original weight and sum; do not renormalize survivors retrospectively.
Two stocks each receive .5 weight. One gains .1 and the other loses 1.0 on failure. Portfolio return=.5×.1+.5×(−1)=−.45; survivor-only reporting shows a misleading +.1.
Apply it in a strategy
- Freeze inputs at the stated decision time and record their units.
- Audit equity factors, token lists and exchange listings before claiming performance.
- Recompute the example, then change the material assumption and explain the difference.
Research deliverable
Universe membership and disappearing assets: produce the worked calculation, a timestamped input record and a written decision addressing this limitation: Incomplete terminal-event data can invalidate apparently clean cross-sectional backtests.
These are synthetic mechanics examples, not historical performance or paper replications. Module evidence and research boundaries record the 12 September 2026 review.
Python implementation
Self-contained teaching example. Python 3.10+; dependencies and input conventions are shown in the code and notation. Run in your own Python environment.
# Python 3.10+; standard library and NumPy only.
# Synthetic teaching inputs; conventions and units are defined in the notation above.
def portfolio_period(weights,returns):
if len(weights)!=len(returns) or any(x is None for x in returns): raise ValueError('Complete matched returns required')
return sum(w*r for w,r in zip(weights,returns))
assert abs(portfolio_period([.5,.5],[.1,-1])+.45)<1e-12
print(portfolio_period([.5,.5],[.1,-1]))Continue learning
Data: Availability, Revisions & Reproducible Research — all lessons- Four clocks for one observation
- An as-of join that never selects the future
- First prints and revisions can reverse a signal
- Reconcile splits and cash distributions
- Universe membership and disappearing assets
- Coverage, missingness and stale values
- Purging labels that cross a test boundary
- Reproducible snapshots and discrepancy ledgers
Quantitative finance and development glossary · Python resources and libraries · Research sources and limitations