I think the biggest reason for Bitcoins volatility is it is trying to find it's true value. Right now no one knows if Bitcoin should be worth $1000 or $100,000. Once it finds it's true value, I think it will become stable. Until then, it will be a wild ride.
The true value can only be determined when all 21 million coins are in play and even then will it be difficult to ascertain the true value. It also depends on the role that BTC will play... Currency or standard for crypto.