# Last edited on 2015-03-07 22:27:00 by stolfilocal ANALYSING THE PRICE HISTORY AS A SUM OF SEPARATE BUBBLES The premise is that the BTC price history can be explained as the result of several bubbles of demand by separate communities/markets that added together. 1. Each bubble starts with an exponential rally *from zero*, due to utilitarian demand and amplified by speculative demand. 2. Eventually that community is saturated, and utilitarian demand stops growing. 3. Speculative buyers realize that the utilitarian demand stopped growing, and dump as fast as possible as they expect other to dump too. Demand often drops by more than 50% in a few days. 4. That first drop undershoots the steady state demand (see below), perhaps because some of the utilitarian users dump it too, for fear that it will become useless; 5. The demand bounces back from that bottom and may overshoot again, by a smaller amount. Phases 3--5 may repeat a few times in succession, with lower highs and shallower lows, like a few cycles of a damped oscillation. 6. A steady state is then reached where the demand is approximately stable or growing very slowly as that community grows. 7. Sometimes the steady state lasts only a couple of months, and is followed by a slow exponential decline in demand, as the community becomes disenchanted and abandons BTC. The demands are cumulative. There is an unknown non-linear relation between demand and price, but as long as each new bubble happens after the previous one has reached a steady state, the price bubbles can be assumed to so the price too is the sum of CREATING THE BUBBLE FILES We start with the smoothed reference price computed in the ../ref-price subdirectory, with {hrad} = 3. A bubble is defined by parameters {btag} = a tag identifying the bubble, e.g. '2014-11'. {dini} = date of start of rally. {dfin} = last day before next bubble. {drate} = assumed decay rate (0 for constant plateau). {color} = a color to use when plotting. Once we have subtracted from the price all the previous bubbles, the price should be zero up to but not including {dini}. The next bubble is defined as a copy of the price from {dini} up to {dfin}, and a decaying eponential {P(d) = P(dfin) * drate**(d-dfin)} for all dates {d} after {dfin}. rundate="2015-02-27" hrad="14" rundate="2015-03-07" hrad="07" split_all_bubbles.sh \ "${rundate}" "${hrad}" \ "../smooth-price/out/2010-07-17--2015-02-20-PREF-USD-01d-sm${hrad}.txt"