In this paper we develop a model for electricity spot price dynamics. The spot price is assumed to follow an exponential Ornstein-Uhlenbeck (OU) process with an added compound Poisson process, therefore the model allows for mean-reversion and possible jumps. A sinusoidal factor is also introduced to capture the seasonality component of prices. The mean-reverting level, speed of adjustment and volatility of the OU process as well as the mean and variance of the normally distributed jump sizes of the compound Poisson process are all modulated by a hidden Markov chain in discrete time. The parameters are able to switch between different economic regimes representing various levels of supply and demand. Through the application of reference probability technique, adaptive filters are derived, which in turn, provide optimal estimates for the state of the Markov chain and related quantities of the observation process. The EM algorithm is applied to find optimal estimates of the model parameters in terms of the recursive filters. Since the parameters are updated everytime a new information is available, the model is self-calibrating. We implement the model on a deseasonalized series of daily spot electricity prices from the Nordic exchange Nord Pool. On the basis of one-step ahead forecasts, we found that the model is able to capture the stylised features of Nord Pool spot prices.