I am not sure as what is the major factor that affects the volatility of the prices but I think that speculation of the market prices is one of them because with speculation, trades are continuously happening which means that there is a lot of buying and selling which affects the supply and demand which is the direct reason for the prices of bitcoin which means that the more the trading volume, then the more the volatility will be. We don't have to worry about volatility though as it is present in almost any markets, its just that bitcoin market has a more prominent and noticeable price changes.
Speculations with money are obviously one of the major factors but to my mind the another one major factor that stimulates all investors to buy BTC is their greed. People desire to earn more and more money so they insanely trade.