A Causal Approach to Bitcoin Performance Modeling
Pi2 industrial research project, ESILV, with asset manager Ginjer-AM
- Period
- Oct 2025 – Apr 2026, extension Aug 2026
- My part
- Technical pipeline lead in a team of 6 (3 active technical members). Mine: 3 of the 4 causal discovery algorithms (NOTEARS, PCMCI, Granger), the consensus mechanism, the DoWhy falsification framework, the whole sentiment and on-chain data layer, the main analysis notebook, and the Ginjer-AM strategy extension (designed and backtested solo).
- Stack
- Python
- pandas
- scikit-learn
- statsmodels
- causal-learn
- NOTEARS
- tigramite (PCMCI)
- DoWhy
- networkx/pyvis
- Plotly
Technical pipeline lead on a causal ML research project with asset manager Ginjer-AM: reduced 288 features to the 10 validated causal drivers of Bitcoin returns, then built a monthly exposure strategy (Sharpe 1.03 vs 1.00 buy-and-hold, max drawdown -49% vs -83%).
- Built a causal discovery pipeline (NOTEARS, PCMCI, Granger + consensus + DoWhy falsification) on 10 years of Bloomberg, CoinMetrics and Google Trends data, reducing 288 features to 10 validated causal drivers of Bitcoin returns. No macro variable survived falsification.
- Engineered the sentiment and on-chain data layer end to end (REST APIs, 50 Google Trends keywords, ADF/KPSS stationarity testing, leakage-safe preprocessing), and rebuilt it on free-tier APIs when premium access was denied, keeping the project on schedule.
- Tested whether the validated drivers carry predictive signal: at 60 days a Random Forest on all 138 features fell below chance (18% balanced accuracy, chance 33%), while the best set of 4 validated drivers reached 50% on the same held-out period.
- Designed a rules-based monthly BTC exposure strategy backtested 2017–2026 at Sharpe 1.03 vs 1.00 for buy-and-hold, with half the volatility and a -49% vs -83% max drawdown. Ran the full one-at-a-time sensitivity grid after freezing parameters.
The question
What actually causes Bitcoin performance, as opposed to what merely co-moves with it, from the point of view of an institutional investor.
Findings
- No macro variable is causal: all 12 macro features failed falsification despite significant correlations.
- 7 of the 10 validated drivers are blockchain-native.
- Factor families rotate with horizon: on-chain dominates at T+1, sentiment at T+7, macro emerges at T+30.
- The Fear & Greed index is reverse-causal: Bitcoin drives the index, not the reverse.
Caveats
- The 50% result comes from one test split and is the best of four feature sets, so it shows a direction, not a precise estimate.
- Driver selection overlaps the backtest period. Parameters were fixed in advance, but this is not an out-of-sample track record.