1 Introduction

Crude oil is one of the most important fuel sources in the world and in consequence the crude oil market is strongly linked to the performance of the global economy, financial markets and energy policy (Kang et al. 2015; Zhu et al. 2015; Yao and Kuang 2019; Sun et al. 2020). Crude oil, either as an export or import product plays an important role in the macro-economy of many countries, among them most prominently are Saudi Arabia, Iraq, Norway, U.S., Russia, and China. Crude oil is carefully monitored by policy-makers, consumers and market participants. Unsurprisingly, crude oil futures have been one of the world’s most actively traded commodity futures over the last decades.

Crude oil prices are highly volatile. Reasons for that may be changes in global demand and supply, the global financial crises and its aftermath as well as military and political conflicts. Examples of significant and sudden large movements in the crude oil price include the market stress triggered by the Soviet war in Afghanistan in 1979, the following Iran hostage crisis in 1980, the invasion of Kuwait in 1991 and the following Iraq war and the invasion of Iraq in 2003, the sub-prime crisis in 2008, the Eurozone crisis in 2011, the recent economic sanctions for Iraq and Venezuela in 2018, the bombing of oil installations in Saudi Arabia in September 2019 and most recently the emergence of the COVID19 crisis . More recently, the crude oil price dropped from a high of above $80 in September 2018 to a low of about $50 in December 2018 in consequence of changes in the OPEC+ oil output policy and the US-China trade war. After that, the price of crude oil fluctuated widely around $60 before dropping to $20 on April 20th 2020 in the midst of the COVID19 crisis. After that it has strongly recovered upwards to above $70 in June 2021.

Understanding the stochastic behaviour of commodity prices is vital for the valuation of financial derivatives. In addition it is crucial for designing successful hedging and investment strategies (Schwartz 1997; Ewald and Ouyang 2017). As stated in Schwartz (1997), knowledge about the shape of the forward curve, i.e. futures prices for differing maturities, is essential for making optimal decisions. When it comes to commodity pricing, the presence of convenience yield is always a prominent feature. Convenience yield acts as a continuous dividend to the holder of the spot commodity. According to the theory of storage, there is a negative relationship between supply/inventories and convenience yields (Brennan 1958). Fama and French (1987) tested the theory of storage and found that the variation of convenience yield for most agricultural and animal products has seasonal behaviour. Pindyck (2001) presented a framework that describes the cash market and the storage market to identify the relationship between spot price, futures price, inventories and convenience yield. Brooks et al. (2013) examined the theory of storage and extended the analysis of Fama and French (1987) by using a much larger dataset which covers the period from early 1966 to mid-2010. They confirmed that convenience yield plays an important role for most commodities.

In fact, many academic studies have considered convenience yield as an important factor for commodity futures pricing. Schwartz (1997) and Cortazar and Schwartz (1997) presented a one factor model to price futures, assuming that the convenience yield of commodities is constant. However, a constant convenience yield represents a very strong assumption. Schwartz (1997) took the stochastic nature of the convenience yield into account, presenting a two factor model to price futures. Others, like Gibson and Schwartz (1990) and Schwartz and Smith (2000) also treated the convenience yield as a stochastic variable in their own two factor models. Schröder (1989) and Cortazar and Schwartz (2003) developed three factor models, featuring stochastic interest rates. They demonstrated that in particular for longer term futures contracts, the stochastic nature of interest rates can have a significant influence on futures prices. Based on (Schwartz 1997; Hilliard and Reis 1998) extended the two factor and three factor model by introducing jumps in the spot price of commodities. They found that a deterministic convenience yield can lead to a significant error for the price of futures options. Miltersen and Schwartz (1998) developed a new model that considers all of the information in the initial term structures of both interest rates and futures prices. The convenience yield of forward and futures was first distinguished in their paper. Casassus and Collin-Dufresne (2005) studied a three-factor model containing spot price, convenience yield and interest rate. By using weekly data on crude oil, copper, gold, and silver futures contracts, they detected a positive relationship between spot price and convenience yield. More recently, Date et al. (2013) confirmed that the performance of one-factor models is relatively poor and in consequence developed a multi-state regime switching model to determine futures prices.

A large number of empirical studies have shown that the distributions of returns of equities, currencies and commodities have higher peaks and fatter tails than a normal distribution, see (Gatheral 2011; Cassese and Guidolin 2006; Chiarella et al. 2016) for example. Even so, all models mentioned above assume that the logarithm of spot prices follow a normal distribution. Mathematically, the reason for this is that these models assume constant volatilities in both spot price and convenience yield of the commodity, essentially the same assumption as in the Black-Scholes model. Although this assumption will make the pricing problem easier, time series of observed volatilities reveal that volatility is variable and unpredictable. There are a number of studies that take account of this. The most well known among these is Heston (1993). The so called Heston model has an analytical solution for option prices. However, most stochastic volatility models are developed with the intent of pricing options rather than futures, while most stochastic convenience yield models consider futures rather than options. The model present in this paper can therefore be considered as a hybrid of both worlds.

In this paper, we propose a new three factor model to determine the value for Brent crude oil futures.Footnote 1 It is based on the Schwartz (1997) two-factor model but allows for stochastic volatility. The model provides a closed form solution for futures prices. A positive relationship between spot price and convenience yield is demonstrated, consistent with Casassus and Collin-Dufresne (2005) and many others. Our model is also related to the more sophisticated and more general three factor model presented in Ewald and Zou (2021). However, the latter only presents semi-closed form solutions (relative to the solution of a Riccati differential equation), while in our paper, thanks to some simplifications and assumptions on the market prices of risk, a "true" closed form solution can be obtained. While the latter paper focuses on its empirical application of modeling aquaculture products, the empirical application in the current paper focuses on Brent Crude oil. We further compare the new three factor model with the benchmark (Schwartz 1997) model for pricing futures. All parameters in the models are estimated for Brent crude oil daily spot prices by using the extended Kalman filter technique. The same methodology has been successfully applied to calibrate one factor, two factor, and three factor models for crude oil data in Schwartz (1997) and Schwartz and Smith (2000). We find that our new three factor model provides a superior fit to the data.

Additionally, we assess risk premia estimated from our Brent crude oil data set. It is well known, that risk premia play an important role in forecasting of spot prices. Understanding commodity futures risk premia is also important, for their role in hedging and investment decisions of companies and institutions (Szymanowska et al. 2014). A lot of research has been done in this area. Longstaff and Wang (2004) found that there are significant risk premia in electricity forward contracts, looking at high-frequency data. Erb et al. (2011) provided evidence for a relationship between the future basis and risk premia. They also found that past performance and roll yields are key to modeling the risk premium for commodity futures. Gorton et al. (2013) studied the time-series variation and cross-sectional variation in commodity futures risk premia and found that risk premia are determined by the level of inventories of the commodity in the economy. Basu and Miffre (2013) found that the risk premia rise with the volatility of commodity futures markets and depend on considerations relating to both speculators’ hedging pressure and inventory levels. Szymanowska et al. (2014) identified two types of risk premia of commodity futures, i.e., spot premia and term premia. Hamilton and Jing Cynthia (2014) estimated time-varying risk premia on oil futures and showed that the risk premia changed significantly with growing trade volume. Koijen et al. (2018) assumed that the return can be constructed with carry and price appreciation and found strong evidence of time-varying risk premia by using a set of predictive regressions of future returns of each asset on its cost of carry. Hahn et al. (2018) followed Schwartz and Smith (2000) and estimated the short and long term risk premia using a suitable asset pricing model. Bakshi et al. (2019) suggested that the risk structure in commodity markets is multidimensional in nature. They modelled the commodities return using three factors (average, carry and momentum) and obtained a positive and sizeable risk premium from the exposure of commodities to the carry and momentum factors. Cifuentes et al. (2020) analyzed the data of copper futures between October 2010 and June 2018 and find that both exchanges exhibit a positive average risk premium for each maturity. Sakkas and Tessaromatis (2020) suggested that the risk premium of commodities is a compensation for generally negative performance during recessions. Baker (2021) found that risk premia can be reduced through financialization when studying the crude oil market. In this paper, we show that relative to our new three factor model, the Schwartz (1997) model overestimates risk premia for Brent crude oil.

The remainder of this paper is structured as follows. In Sect. 2 we introduce our new three factor model with stochastic volatility, we present both its theory and guidance for its empirical application. Following that, in Sect. 3, we discuss the dataset and carry out our empirical investigation. This includes a detailed discussion and interpretation of our empirical results as well as benchmarking against the classical Schwartz (1997) two-factor model. Consequences on differences in risk premia are discussed in Sect. 4. In Sect. 5 we summarize the main conclusions.

2 Model

In this section, we present a three factor model for commodities featuring stochastic volatility and stochastic convenience yield. The model is based on the Schwartz (1997) two factor model and extended to allow for stochastic volatility of Ornstein–Uhlenbeck type. We then derive a formula for pricing futures contracts in this model.

2.1 Valuation model

Schwartz (1997) assumed that under the risk-neutral measure \({\mathbb {Q}}\), the spot price of the commodity S and the instantaneous convenience yield \(\delta \) follow the dynamics

$$\begin{aligned} dS_{t}= & {} (r-\delta _{t})S_{t}dt+\sigma _{1}S_{t}dW_{1}, \end{aligned}$$
(1)
$$\begin{aligned} d\delta _{t}= & {} (\kappa (\alpha -\delta _{t})-\lambda )dt+\sigma _{2}dW_{2}. \end{aligned}$$
(2)

where r is the risk-free interest rate; \(\kappa \) is the mean reversion speed of the convenience yield; \(\sigma _1\), \(\sigma _{2}\), \(\alpha \) and \(\lambda \) are constants, denoting respectively the spot price volatility, the convenience yield volatility, the long-term level of convenience yield, and the market price of convenience yield risk; \(W_{1}\) and \(W_{2}\) are Brownian motions with correlation \(dW_{1}dW_{2}=\rho dt\). This model shows good performance in pricing commodity derivatives, and we will use this model as the benchmark model.

In our model, both convenience yield \(\delta \) and spot price volatility V follow the Ornstein–Uhlenbeck stochastic process.

We assume that under physical measure \({\mathbb {P}}\):

$$\begin{aligned} \begin{array}{ll} dS_{t}=(\mu -\delta _{t})S_{t}dt+S_{t}V_{t}dW_{S}\\ d\delta _{t}=(\kappa _{1}(\alpha -\delta _{t}))dt+\sigma _{1}dW_{\delta }\\ dV_{t}=(\kappa _{2}(\theta -\sigma _{t}))dt+\sigma _{2}dW_{V},\\ \end{array} \end{aligned}$$
(3)

with \(dW_{S}\cdot dW_{\delta }=\rho _{1} dt\), \(dW_{S}\cdot dW_{V}=\rho _{2} dt\) and \( dW_{\delta }\cdot dW_{V}=\rho _{3} dt\).

Under the pricing measure \({\mathbb {Q}}\) this becomes

$$\begin{aligned} \begin{array}{ll} dS_{t}=(r-\delta _{t})S_{t}dt+S_{t}V_{t}d{\widetilde{W}}_{S}\\ d\delta _{t}=(\kappa _{1}({\hat{\alpha }}-\delta _{t}))dt+\sigma _{1}d{\widetilde{W}}_{\delta }\\ dV_{t}=(\kappa _{2}({\hat{\theta }}-V_{t}))dt+\sigma _{2}d{\widetilde{W}}_{V}\\ \end{array} \end{aligned}$$
(4)

with \(d{\widetilde{W}}_{S}\cdot d{\widetilde{W}}_{\delta }=\rho _{1} dt\), \(d{\widetilde{W}}_{S}\cdot d{\widetilde{W}}_{V}=\rho _{2} dt\) and \(d{\widetilde{W}}_{\delta }\cdot d{\widetilde{W}}_{V}=\rho _{3} dt\), where

$$\begin{aligned} \begin{array}{ll} {\hat{\alpha }}=\alpha -\lambda /\kappa _{1}\\ {\hat{\theta }}=\theta -\beta /\kappa _{2}. \end{array} \end{aligned}$$
(5)

Here \(\lambda \) and \(\beta \) denote the market price of convenience and volatility risk respectively. Futures prices \(F(S,\delta ,V,T)\) at current time 0 and time to maturity T must satisfy the following partial differential equation:

$$\begin{aligned}&\frac{1}{2}S^2V^2F_{SS}+\frac{1}{2}\sigma _{1}^2F_{\delta \delta }+\frac{1}{2}\sigma _{2}^2F_{VV}+S\sigma _{1}V\rho _{1}F_{S\delta }+S\sigma _{2}V\rho _{2}F_{SV}+\sigma _{1}\sigma _{2}\rho _{3}F_{\delta V}\nonumber \\&\quad +(r-\delta _{t})SF_{S}+(\kappa _{1}({\hat{\alpha }}-\delta _{t}))F_{\delta }+(\kappa _{2}({\hat{\theta }}-V_{t}))F_{V}-F_{T}=0 \end{aligned}$$
(6)

subject to the terminal boundary condition \(F(S,\delta ,V,0)=S\).

The solution to Eq. (6) subject to its terminal boundary condition is as follows:Footnote 2

$$\begin{aligned} F(S,\delta , V, T)= S \exp (A(T)+B(T)\delta +C(T)V), \end{aligned}$$
(7)

where

$$\begin{aligned} B(T)=\frac{1}{\kappa _{1}}(\exp (-\kappa _{1}T)-1) \end{aligned}$$
(8)

and

$$\begin{aligned} C(T)= -\frac{\sigma _{1}\rho _{1}}{bf\kappa _{1}}(\kappa _{1}\exp (bT)+b\exp (-\kappa _{1}T)-f), \end{aligned}$$
(9)

where \(b=\sigma _{2}\rho _{2}-\kappa _{2}\), \(f=b+\kappa _{1}\). The expression for A(T) is provided in Appendix A.

Before we calibrate the three factor model, it is worthwhile to undertake a little bit of comparative statics to see how key variables affect the futures price. We first plot the function \((V, T)\mapsto F(\delta , V, T)\) for some fixed \(\delta _0\), as shown in Fig. 1, which clearly demonstrates the impact of volatility on futures prices. We further compare the three factor model with the Schwartz (1997) two factor model.

Fig. 1
figure 1

Futures price: a \(\delta _{0}=-0.3\); b \(\delta _{0}=0\); c \(\delta _{0}=0.3\) Note We obtain futures prices via the three factor model by assuming \(S=100\), \(r=0.06\), \(\sigma _{1}=0.5\), \(\sigma _{2}=0.5\), \(\kappa _{1}=0.5\), \(\kappa _{2}=1.8\), \(\alpha =0.3\), \(\theta =0.5\), \(\rho _{1}=0.8\), \(\rho _{2}=0.3\), \(\rho _{3}=0.7\), \(V_{0}\in [0,1]\), \(T\in [0,1]\)

Figure 2 shows the futures prices obtained via our three factor model and the Schwartz (1997) two factor model. In this case, the three factor model provides higher prices than the two factor model for longer time-to-maturities. For shorter time-to-maturities the effect is less prominent and even negligible for very short time-to-maturities. The reason for stochastic volatility to have a larger effect on the longer times-to-maturity contracts is of course that in this case volatility has more scope to grow, in the two-factor model volatility is tied to a constant.

Fig. 2
figure 2

The prices of futures contract Note we obtain futures prices via the three factor model and two factor separately by assuming \(S=100\), \(\delta _{0}=0.5\), \(V_{0}=0.8\), \(r=0.02\), \(\sigma _{1}=1.1\), \(\sigma _{2}=1.1\), \(\kappa _{1}=1.1\), \(\kappa _{2}=5\), \(\alpha =0.3\), \(\theta =3\), \(\rho _{1}=0.3\), \(\rho _{2}=-0.7\), \(\rho _{3}=0.5\), and \(T\in [0,1]\). The spot volatility in the two-factor model is 1.1478 in this case

2.2 Empirical model

We assume that all three factors in our model, i.e., the commodity price S, the convenience yield \(\delta \), and the spot price volatility V, are unobservable. Only the futures prices F can be observed. The state space approach is a powerful way to deal with situations in which the state variables are not observable. Once the model has been cast in state space form, model parameters can be estimated by the filtering technique. The basic idea of filtering is simple: based on Bayes theory, filters can use the information from current observations to predict the values of unobservable variables at the next time point, and then update the information and forecast the situation at the next time point (Pasricha 2006).

Under appropriate assumptions, the classical Kalman filter provides an optimal algorithm for solving a system with unobserved state variables. However, it requires a normality assumption for the posterior density at each point in time. The extended Kalman filter is essentially a linearization around the current mean and covariance at the appropriate step in the recursion. In consequence, using the extended Kalman filter, the measurement function and the state function do not need to be linear anymore. Our model can therefore be calibrated with the extended Kalman filter. Beyond linearization, the main principles of the Kalman filter algorithm and the extended Kalman filter algorithm will remain the same.

Let \({\mathbf {f}}_t\) denote an \((n\times {1})\) vector of futures prices observed at time t and let \(\varvec{\Phi }_t\) denote a \((3\times {1})\) vector of state variables, i.e., the log spot price \(X_t\), the convenience yield \(\delta _t\) and the volatility \(V_t\). The state space representation can be written as

$$\begin{aligned} {\mathbf {f}}_t= & {} {\mathbf {c}}_t + Z_t \varvec{\Phi }_t + \varvec{\epsilon }_t \end{aligned}$$
(10)
$$\begin{aligned} \varvec{\Phi }_{t + 1}= & {} {\mathbf {d}}_t + J_t \varvec{\Phi }_t + \varvec{\eta }_t, \end{aligned}$$
(11)

where Eq. (10) is the measurement equation with components

$$\begin{aligned} {\mathbf {f}}_t = \begin{pmatrix} \ln {F(T_1)}\\ \vdots \\ \ln {F(T_n)} \end{pmatrix},&{\mathbf {c}}_t = \begin{pmatrix} A(T_1)\\ \vdots \\ A(T_n) \end{pmatrix},&{\mathbf {Z}}_t = \begin{pmatrix} 1 &{} B(T_1) &{} C(T_1)\\ \vdots &{} \vdots \\ 1 &{} B(T_n) &{} C(T_n) \end{pmatrix} \end{aligned}$$
(12)

and \(\varvec{\epsilon }_t\) is an \((n\times {1})\) vector of serially uncorrelated disturbances with

$$\begin{aligned} \mathrm {E}(\varvec{\epsilon }_t)=0,&\mathrm {Var}(\varvec{\epsilon }_t)=R. \end{aligned}$$
(13)

Equation (11) represents the transition equation with components

$$\begin{aligned} \varvec{\Phi }_t= & {} \begin{pmatrix}X(t)\\ \delta (t)\\ V(t)\end{pmatrix} \end{aligned}$$
(14)
$$\begin{aligned} {\mathbf {d}}_t= & {} \begin{pmatrix} \mu \Delta t+ \frac{1}{2} V_{t-1} ^2 \Delta t \\ \kappa _1 \alpha \Delta t\\ \kappa _2 \theta \Delta t \end{pmatrix} \end{aligned}$$
(15)
$$\begin{aligned} {\mathbf {J}}_t= & {} \begin{pmatrix} 1 &{} -\Delta t &{} -V_{t-1}\Delta t\\ 0 &{} 1-\kappa _1 \Delta t &{} 0\\ 0 &{} 0 &{} 1-\kappa _2 \Delta t \end{pmatrix} \end{aligned}$$
(16)

and \(\varvec{\eta }_t\) represents serially uncorrelated disturbances with

$$\begin{aligned} \mathrm {E}(\varvec{\eta }_t)=0,&\mathrm {Var}(\varvec{\eta }_t) = \begin{pmatrix} \sigma _X^2(\Delta {t}) &{} \sigma _{X \delta }(\Delta {t}) &{} \sigma _{X V}(\Delta {t})\\ \sigma _{X \delta }(\Delta {t}) &{} \sigma _\delta ^2(\Delta {t}) &{} \sigma _{\delta V}(\Delta {t})\\ \sigma _{X V}(\Delta {t}) &{} \sigma _{\delta V}(\Delta {t}) &{} \sigma _V^2(\Delta {t}) \end{pmatrix}, \end{aligned}$$
(17)

where \(\Delta {t}=t_{k+1}-t_k\) represents the time interval in the discretization and \(T_i\) denotes the given and fixed maturity of the i-th closest-to-maturity futures contract. The functions B(T) and C(T) are defined in Eqs. (8) and (9) respectively, and A(T) is illustrated in Eq. (21) in Appendix A.

3 Data and estimation

We use price data for Brent crude oil futures to calibrate the proposed model. The empirical results are discussed.

3.1 Data

Our data set consists of 2214 daily futures prices of Brent crude oil from 26/04/2010 to 28/01/2019. Taking liquidity and presence into consideration, five contracts, i.e., F1, F3, F5, F7, and F9, are chosen to construct the panel data in the empirical study. We follow Schwartz (1997) denoting F1 as the contract closest to maturity (with average maturity of 0.040 year) counting up to F9 which represents the contract farthest to maturity (with average maturity of 0.705 years). Table 1 describes some features of the sample contracts.

Table 1 Descriptive statistics, 26/04/2010–28/01/2019

In this paper, weekends and other non-trading days are omitted, which means that the trading days are considered to be continuous. Based on the efficient market hypothesis, relevant information from non-trading days (e.g. weekends and holidays) will be reflected in the prices after the non-trading day. The other assumption is that each future contract will be executed immediately at maturity. In other words, the last trading day of the contract is chosen to represent the expiration date. Based on this assumption, the length of the maturity can be accurately measured.

3.2 Empirical results

As indicated before, we can use the extended Kalman filter to calibrate the model once it has been cast in the state space form. We use our sample data ranging from 2010 to 2019 and choose the average rate for 10-year U.S. treasury notes during the sample period as the risk-free rate r; it is of \(2.38\%\). The results of the calibration are shown in Table 2. Table 3 presents the evaluation of the model fit.

As shown in Table 2, the mean reversion speed of spot price volatility \(\kappa _{2}\) is much higher than that of the convenience yield \(\kappa _{1}\). This means that shocks to the convenience yield, which could indeed be tied to supply and demand, are much more persistent than pure volatility shocks, which may be caused by the availability of new information. Moreover, the estimated level of spot volatility (\(\sigma _{2}\)) and that of the convenience yield (\(\sigma _{1}\)) are quite close. It is also worth noting that the correlation coefficients between all three factors are positive. Specifically, a strong positive correlation between spot price and convenience yield (\(\rho _{1}=0.8939\)), which supports the theory of storage; the expected return (\(\mu \)), and the market price of risk (\(\lambda \) and \(\beta \)) are all positive, which indicates compensation is required for bearing the corresponding risk. Figure 3 depicts the state variables spot price S, convenience yield \(\delta \) and spot price volatility V, filtered by the model. From there we can observe a positive correlation between variables.

Table 2 Parameter estimates for the three factor model
Table 3 MAE and RMSE of log price: 26/04/2010–28/01/2019
Fig. 3
figure 3

State variables: (i) spot price; (ii) convenience yield; (iii) spot price volatility

Figure 4 shows the term structure of Brent crude oil, where the left part displays the actual term structure and the right part displays the model generated term structure. Overall, our model performs very well: the model generated forward curves match the actual forward curves and the filtered spot price is near the price of the closest-to-maturity futures. We also compare the fitted futures price with the actual futures price, and find that our model can provide a very good fit to market prices, see Fig. 5.

Fig. 4
figure 4

Term structures: actual forward curves on the left, model generated forward curves on the right

Fig. 5
figure 5

Fitted versus actual futures price

Following Schwartz (1997), we further evaluate the performance and robustness of the model by using contracts that are not used in the calibration, i.e., F2, F4, F6 and F8, namely cross-section evaluation. Table 4 reports the MAE and RMSE. In general, the performance is still very good and robust.

Table 4 Cross-section test of log price: 26/04/2010–28/01/2019

3.3 Comparison with Schwartz (1997) two factor model

As mentioned before, the Schwartz (1997) two factor model serves as a benchmark model for our work. Therefore, we use the same data set to calibrate this classical model. Estimation results are reported in Table 5. Compared to the parameter values in Table 2, we can find that the estimatesFootnote 3 are close to each other except for the spot price volatility. In the two factor model, the spot price volatility \(\sigma _1\) is a constant, while in our three-factor model it is treated as a stochastic variable. Nevertheless, the long run mean of spot volatility \(\theta \) in the three factor model is close to \(\sigma _1\) in the two factor model, so the estimates are consistent. Moreover, the effectiveness of the model as well as the comparison between the two-factor and the three-factor model, is given in Tables 6 and 7. Table 6 contains an in-sample comparison of F1, F3, F5, F7 and F9; while Table 7 contains a cross-section comparison of F2, F4, F6 and F8, i.e., the contracts that are not used in the calibration. According to these results, we may conclude that both models are useful in pricing Brent crude oil. Nevertheless, as shown in Table 6, the MAE and RMSE for futures contracts with longer maturity (F3 and above) are much smaller when using the three factor model, indicating that our model is more effective in dealing with contracts that have longer maturities. However, the two factor model performs slightly better than the three factor in cross-section comparison, see Table 7.

Table 5 Parameter estimates for the two factor model
Table 6 In-sample comparison of log price: 26/04/2010–28/01/2019
Table 7 Cross-section comparison of log price: 26/04/2010–28/01/2019

4 Risk premium

In this section we investigate the futures risk premium for Brent crude oil. The risk premium can be defined as the extra payoff required by a risk averse agent relative to a risk neutral agent. Mathematically it corresponds to the difference of the expected spot price under the real-world measure and the expected spot price under the risk neutral (pricing) measure:

$$\begin{aligned} \pi (T) = {\mathbb {E}}(S(T))-{\mathbb {E}}_{{\mathbb {Q}}}(S(T)) \end{aligned}$$
(18)

Here \({\mathbb {E}}_{{\mathbb {Q}}}(S(T))\) can be identified with the futures price F.

The futures risk premium derived from our three factor model is given by

$$\begin{aligned} \begin{aligned} \pi _T^{Three}&= F(S, \delta , V, T)\cdot \Biggl ( \exp \biggl ((\mu -r)T-\lambda \left( \frac{T}{\kappa _{1}}+\frac{e^{-\kappa _{1}T}-1}{\kappa _{1}^2}\right) -1\\&+\beta \left[ \frac{(\kappa _{1}-\kappa _{2})\sigma _{1}\rho _{1}T}{bf\kappa _{1}} + \frac{\sigma _1\rho _1 (1-e^{bT})}{b^2 f}+\frac{(\kappa _2\sigma _1\rho _1-\sigma _1\sigma _2\rho _1\rho _2)(e^{\kappa _1 T}-1)}{bf\kappa _{1}^{2}e^{\kappa _{1}T}}\right] \biggr )-1 \Biggr ). \end{aligned}\nonumber \\ \end{aligned}$$
(19)

As a comparison the futures risk premium in the Schwartz (1997) two factor model is given by

$$\begin{aligned} \pi _T^{Two} = F(S, \delta , T)\cdot \biggl (\exp \left[ (\mu -r)T-\lambda \left( \frac{T}{\kappa }+\frac{e^{-\kappa T}-1}{\kappa ^2}\right) \right] -1\biggr ). \end{aligned}$$
(20)

A descriptive statistics of the two risk premia based on the two-factor and three-factor models is provided in Table 8. Compared to the Schwartz (1997) two factor model, the risk premium associated with the three factor model is lower. The risk premia obtained from both models and the difference between them are presented in Fig. 6. Comparing expression (19) and (20) we see that the market price of volatility risk \(\beta \) along with the various correlations and the difference in the speed of mean reversion in convenience yield and volatility mainly determine the difference in the risk premia formula. This is important to keep in mind when using our model or the Schwartz (1997) model for forecasting. The conclusion that we can draw from our results here is that the Schwartz (1997) model generally forecasts with an upward bias as compared to our model.

Table 8 Descriptive statistics: risk premia, 26/04/2010–28/01/2019
Fig. 6
figure 6

Risk premium: a two factor model; b three factor model; c difference

5 Conclusion

In this paper, we developed a new three factor model to price commodity futures contracts, which allows not only convenience yield but also volatility to be stochastic. This new three factor model has a closed form solution for future prices. We have calibrated our model to price data for Brent crude oil using extended Kalman filter methodology. Our empirical results demonstrate that our three factor model can fit market prices very well and better than the conventional (Schwartz 1997) two factor model. We further detect a positive relationship between spot price and convenience yield, which provides empirical evidence for the theory of storage. Furthermore, we have assessed the two models in terms of their predicted risk premia and observed that relative to our model, the Schwartz (1997) overestimates risk premia. Our results are important for the valuation of financial derivatives as well as designing hedging and investment strategies. This study can be extended in a number of ways. One is to include a structural break, possibly in a regime-switching framework. Another is to study how financialization of commodities affects commodity prices.