BTC–VOOG Contribution Allocator

A per‑contribution splitter that targets a BTC weight, tilts by drift and recent 2‑week BTC return, and maps to a smooth, bounded BTC fraction with a logistic function.

What this page is: a compact spec for the algorithm and its variables, optimized for the web version. Host this file as a standalone page alongside your tool.

How it decides

For an investment amount M this run:

BTC  = f · M
VOOG = (1 − f) · M

Signals:

w_cur = btc_value / (btc_value + voog_value)
e     = w_tgt − w_cur                                # drift (deadbanded)
# Either derive from prices or pass directly:
r_2w  = (price_today / price_14d_ago) − 1           # two‑week return

z = a + c·e − (r_2w / k)
σ = 1 / (1 + exp(−z))
f = f_min + (f_max − f_min) · σ

Choose a so that steady state equals b when on‑target and flat:

σ0 = (b − f_min) / (f_max − f_min)
a  = log(σ0 / (1 − σ0))

Deadband: if |e| < band, set e = 0.

Safeguards

  1. Per‑contribution bounds: f_min ≤ f ≤ f_max.
  2. Crash throttle (optional): if r_2w < severe_drop, cap f ≤ throttle_cap.
  3. Post‑trade cap: trim BTC buy so simulated post‑trade weight ≤ w_max (spill the rest to VOOG).

Parameters

NameWhat it controlsTypical
MDollars to invest this run500–1500
w_tgtTarget BTC portfolio weight0.40–0.60
w_maxMax BTC weight after this contributione.g., 0.60
bSteady split when on‑target & flate.g., 0.50
f_min, f_maxBTC fraction bounds per run0.10 to 0.90
bandIgnore small drift within ±band0.02–0.03
cDrift sensitivity (pull toward target)2.0–4.0
kMomentum scale (smaller = stronger tilt)0.08–0.12
severe_dropCrash threshold for two‑week return−0.25
throttle_capMax f during crash0.70–0.85

Tuning tips. Faster pull to target → raise c. Stronger buy‑the‑dip/fade‑the‑rip → lower k. Smoother cashflow → narrow [f_min, f_max] or increase band. Limit BTC risk → lower w_max and set crash throttle.

Inputs (for the web tool)

Portfolio: M, btc_value, voog_value.
Prices: enter price_today & price_14d_ago or provide r_2w directly.
Policy: w_tgt, w_max, b, band, f_min, f_max, c, k, severe_drop, throttle_cap.
Verbose toggles visibility of signals and post‑trade weights in the UI.

Output (from the web tool)

Buttons: Save/Load preset (browser localStorage) and Download CSV (one row with inputs & results).

Good practice


© You. Static page; no network calls. View‑source to audit.