Abstract Risk premia are difficult to identify in nonstorable commodities such as electricity. In this article, we propose a modified Fama–French regression framework and show that when the spot prices do not follow a martingale—a common assumption in the electricity market—model specifications play an important role in detecting time-varying risk premia in the futures market. With this insight, we propose a multi-factor model that captures important dynamics in electricity prices and an estimation method based on particle Markov chain Monte Carlo to separate risk factors in energy prices. Using spot and futures data in the Germany/Austria electricity market, we demonstrate that our proposed model surpasses alternative models that ignore some of risk factors in forecasting spot prices and in detecting time-varying risk premia. Based on our proposed model, we separately identify risk premia carried by individual risk factors and document large variations in the premia of each factor.