# A Latent-Factor System Model for Real-Time Electricity Prices in Texas
## 3 The Latent Factor Systems Model  
Following [23; 24], suppose there are \(k\) endogenous variables. Let \(n_{f}<k\) denote the number of unknown or hidden latent factors. Then, the system of equations that represent the prices in the \(k=8\) zones in ERCOT with \(n_{f}=1\) is given by:  
\[\mathbf{y}_{t}=\lambda\mathbf{f}_{t}+\beta\mathbf{x}_{t}+\mathbf{u}_{t}\mathbf{ f}_{t}=\delta\mathbf{z}_{t}+\rho\mathbf{f}_{t-1}+\mathbf{w}_{t}, \tag{1}\]  
where the first equation is called the _observation equation_ and the second is termed the _latent factor equation_. The dimensions of the various quantities in Equation (1) are: \(\mathbf{y}_{t}\) is a \(k\times 1\) vector of endogenous variables; \(\lambda\) is \(n_{f}\times n_{f}\); \(\mathbf{f}_{t}\) is \(n_{f}\times n_{f}\); \(\beta\) is a \(k\times n_{x}\) vector of parameters; \(\mathbf{x}_{t}\) is an \(n_{x}\times 1\) vector of exogenous variables; \(\mathbf{u}_{t}\) is a \(k\times 1\) vector of random errors that are assumed to be normally distributed with mean zero and unknown standard deviation \(\sigma_{u}\); \(\delta\) is an \(n_{f}\times n_{z}\) of parameters; \(\mathbf{z}_{t}\) is an \(n_{z}\times 1\) vector of exogenous variables;\(\rho\) is an \(n_{f}\times n_{f}\) matrix of parameters; and \(\mathbf{w}_{t}\) is an \(n_{f}\times 1\) vector of random errors that is normally distributed with mean zero and unknown standard deviation \(\sigma_{w}\). It is possible to introduce another Equation in (1) that represents an autoregressive structure for the observation error \(\mathbf{u}_{t}\). However, this leads to a larger number of parameters than is dictated in most applications. Moreover, convergence issues abound when the parameter space and the sample size are large. As it is, the class of models contained in (1) is quite rich. By appropriately restricting \(n_{f}\), \(p\) and \(q\), we can obtain [PERSON]'s Seemingly Unrelated Regression model, Vector Autoregressive models; Dynamic Factors with Errors models, etc; see, for example [25; 26]. [PERSON] et al. [1] developed an alternative Bayesian latent factor model, using nonparametric methods, that complements the latent factor model in Equation (1). We could also add higher-order latent factors (\(n_{f}>1\)), but again we err on the side of parsimony. Indeed, we could also increase the dimension of the autoregressive component of the latent factor vector \(\mathbf{f}_{t}\) which we have set as an AR(1) process. But we refrain from doing this since we also include the lagged weighted price of all the zones as an exogenous variable in the vector \(\mathbf{z}_{t}\); i.e., we allow the weighted values of lagged prices from the eight zones to guide the hidden factors that could drive each zone's price in the observation equation where these prices are endogenous in the system given in (1). Thus, \(\mathbf{y}_{t}\) is the endogenous matrix of prices from the eight zones; \(\mathbf{x}_{t}\) contains the exogenous variables wind, nuclear and solar generation, where the last one appears only in the sunlight hours; the Henry Hub gas price; and a dummy variable for real-time prices exceeding USD 500, which will not appear in the night and early morning hours since prices do not rise to very high levels at these times. _The endogenous factor variable \(\mathbf{f}_{t}\) also appears as an exogenous input in the observation equation_. The implication is that these hidden factors could influence prices throughout the day. In the latent factor equation, the exogenous variables in \(\mathbf{z}_{t}\) use system-wide load (MWH) and lagged weighted price (USD/MWH) across all eight zones; these are contemporaneous in time. Additionally, we assume the latent factor follows a first-order autoregressive process. Since we separate our analysis for each hour of the day, the lagged variables are the variables of the previous day. Since \(\mathbf{f}_{t}\) enters the observation equation exogenously, the system-wide load affects system-wide prices via \(\mathbf{f}_{t}\).