← Back to Oberlin

Methodology

How the outlook and ASI are calculated

Data Sources

All prices are fetched daily from free, public APIs:

AssetSourceTicker
BitcoinCoinGecko APIBTC/USD
GoldYahoo FinanceGLD × 10
StocksYahoo FinanceSPY
PropertyYahoo FinanceVNQ

Prices update daily at 6 PM ET after US market close.

5-Year Projections

Base case projections use historical growth rates and forward-looking assumptions:

AssetAssumed CAGRBasis
Stocks (SPY)~7%Historical equity returns
Property (VNQ)~5%REIT historical returns
Gold~8%Monetary debasement thesis
Bitcoin~50%Stock-to-Flow model + adoption curve

Bitcoin: Stock-to-Flow Model

Bitcoin's projection incorporates the Stock-to-Flow (S2F) model, which values BTC based on its scarcity.

What is Stock-to-Flow?

Stock = existing supply (circulating BTC)
Flow = annual new production (mined BTC per year)

S2F = Stock ÷ Flow
Price = e^(-1.84) × S2F^(3.36)

Halving Impact

Every ~4 years, Bitcoin's block reward halves, cutting the flow in half and doubling the S2F ratio:

EventBlock RewardS2FModel Price
Pre-2024 Halving6.25 BTC~56~$55,000
Post-2024 Halving3.125 BTC~120~$200,000
Post-2028 Halving1.5625 BTC~240~$700,000
Note: S2F is a model, not a guarantee. It has tracked historical prices reasonably well but may diverge as the market matures. We use it as one input among several.

Probability Bands (Markov Chain)

The shaded bands around projections represent uncertainty, modeled via Monte Carlo simulation with Markov state transitions.

ASI States

Markets cycle through four regimes:

StateASI RangeAvg Quarterly Return
Defensive0–25-2%
Cautious25–50+1%
Constructive50–75+4%
Aggressive75–100+7%

Transition Matrix

Probability of moving from one state to another each quarter:

From/To      Def    Caut   Const  Aggr
Defensive   [0.55   0.30   0.12   0.03]
Cautious    [0.18   0.50   0.27   0.05]
Constructive[0.05   0.18   0.55   0.22]
Aggressive  [0.02   0.08   0.38   0.52]
        

The current ASI state seeds the simulation. 1,000 paths are generated, and we show the 10th–90th percentile range.

ASI: Adaptive Signal Index

ASI is a composite indicator synthesizing multiple market signals into a single 0–100 reading.

Components (Planned)

Adaptive Weights

Unlike static indices, ASI uses Alphagen to evolve component weights based on predictive performance. Weights that better predict forward returns propagate; poor performers are culled.

Status: ASI is currently in development. The displayed value is manually set based on qualitative assessment. Automated calculation coming soon.

Limitations

Open Source

The code powering this site is available at:
github.com/iamoberlin/chorus

Last updated: February 1, 2026