Multivariate Linear Regression of bitcoin’s Market Capitalization
Introduction
Time vs. MarketCap and Scarcity vs. MarketCap bivariate regression have been applied to bitcoin in a series of articles (for an overview see Power-law price models of bitcoin). In this article, multi-(three)-variate regression is applied to the three variables in one go.
Methods
The source data is here:
Data preparation is described in A more modest role for Scarcity on bitcoin?Excel has the capabilities to perform bivariate and multivariate regression, and that is all that is needed.
Results
Data used for this analysis is up-to-date until yesterday (October 6, 2019). See Appendix for the full Excel regression output. The best fitting models, with all parameters in 4 significant digits (ln is the natural logarithm) are:
Time vs. MarketCap (bivariate)
- ln(MarketCap) = -27.75 + 6.492 * ln(Time);
- R = 0.9693, R² = 0.9396
Scarcity vs. MarketCap (bivariate)
- ln(MarketCap) = 14.21 + 3.354 * ln(Scarcity)
- R = 0.9405, R² = 0.8846
Compare to PlanB: ln(MarketCap) = 14.62 + 3.320 * ln(Scarcity)
Time vs. Scarcity (bivariate)
- ln(Scarcity) = -11.60 + 1.816 * ln(Time)
- R = 0.9671, R² = 0.9352
Time & Scarcity vs. MarketCap (trivariate)
- ln(MarketCap) = -25.76 + 6.181 * ln(Time) + 0.1708 * ln(Scarcity)
- R = 0.9694, R² = 0.9398
- P-value for Time: 5.789E-159: Highly significant
- P-value for Scarcity: 0.09820: Not significant
- P-value for the Intercept: 1.164E-79: Highly significant
Conclusions
- Regression weight of the multiple regression for Time on MarketCap is more than 36 times (6.181 vs. 0.1708) higher than the regression weight for Scarcity on MarketCap.
- Time in days (today 3927) is also a much larger number than Scarcity (stock-to-flow today 26.15), meaning that the contribution of Scarcity on MarketCap is near-zero.
- Scarcity is not needed to improve the quality of strictly Time driven MarketCap models.
Thank you for reading!
Appendix
Excel output
Scarcity smoothing
Time has no noise (randomness) in it. Scarcity has, because we’re using as a proxy stock-to-flow, or new-coins/existing-coins to estimate. Additional to the analysis above, I used smoothing of the Scarcity signal to reduce the high-frequency (day-to-day) noise, until the point that a nice step-like function was obtained. When I replaced the Scarcity signal by this SmScarcity signal and reran the model, it changed to
- ln(MarketCap) = -23.26 + 5.788 * ln(Time) + 0.3890 * ln(SmScarcity)
- R = 0.9695, R² = 0.9400
- Still a big separation of the regression coefficients of Time and SmScarcity: same conclusion.