Data-Driven Storage Operations: Cross-Commodity Backtest and Structured Policies
Posted: 14 Jun 2019 Last revised: 3 Feb 2022
Date Written: August 23, 2021
Abstract
Storage assets are critical for temporal trading of commodities under volatile prices. State-of-the-art methods for managing storage such as the reoptimization heuristic (RH), which are part of commercial software, approximate a Markov decision process (MDP) assuming full information regarding the state and the stochastic commodity price process and hence suffer from informational inconsistencies with observed price data and structural inconsistencies with the true optimal policy, which are both components of generalization error. Focusing on spot trades, we find via an extensive backtest that this error can lead to significantly suboptimal RH policies and qualitatively different performance compared to the known near-optimality and behavior of RH in the full-information setting. We develop a forward-looking data-driven approach (DDA) to learn policies and overcome generalization error. This approach extends standard (backward-looking) DDA in two ways: (i) it uses financial-market features and estimates of future profits as part of the training objective, which typically includes past profits alone; and (ii) it enforces structural properties of the optimal policy. To elaborate, DDA trains parameters of bang-bang and base-stock policies, respectively, by solving linear-and mixed-integer programs, thereby extending known DDAs that parameterize decisions as functions of features without enforcing policy structure. We backtest the performance of DDA and RH on six major commodities from 2000 to 2017 with features constructed using Thomson Reuters and Bloomberg data. DDA significantly improves RH on real data, with base-stock structure needed to realize this improvement. Our research advances the state-of-the-art for storage operations and suggests modifications to commercial software to handle generalization error.
Keywords: commodity storage, price uncertainty, generalization error, data-driven optimization
Suggested Citation: Suggested Citation