Novel Price Estimator Guaranteed to Produce Non-Negative Prices

The following report was produced by our research team and we felt it was worth sharing for discussion and comment.

The recent price action in crude oil prompted us to spend a little effort thinking about how to manage around negative prices. The motivation for this is the fact that negative prices make the calculation of returns pretty much meaningless. Also, negative prices can affect the allocation of capital if we are using weights to calculate nominal positions.

The result of this exploration is a new (and potentially novel) price estimator that is guaranteed to never result in a negative price. The new price estimator is:

price \approx \frac{std(\Delta price)}{std(returns)}

When applied to the Close prices for the CL 2020K Crude Oil contract, the new price estimator produces a “realistic” price of Crude Oil even during the day when the actual price turned negative. In the chart below, the actual closing price is depicted in blue; an EWMA with span of 4 is depicted in orange (notice it goes negative), and the proposed price estimator is depicted in green.

Figure 1. CL 2020K Crude Oil contract

Time in days

Source: Data from CSI Data. Analysis by ReSolve Asset Management. For illustrative purposes only.

The remainder of this note will cover the conceptual basis for the proposed price estimator and an attempt at a mathematical proof of its validity.

Conceptual Background

The idea behind the estimator started with the observation that typically the price of an asset determines the amount of capital put at risk when taking a position in that asset (if we don’t use some form of leverage). However, a position in a risk asset places a certain amount of capital at risk even if the asset’s price is negative (for example, shorting a stock still puts capital at risk, or holding a position in CL0K even at a negative price still puts capital at risk). So, price is not really a very good estimate of the amount of capital that is being put at risk given a position in an asset. Specifically, risk is not a function of the price of the asset, but a function of the daily profit and loss of a position in the asset. But, the daily profit and loss on a position in the asset is a function of the daily price changes, not as a proportion of price, but the outright differences in price from one day to the next. So, we can state that:

riskcapital \: \alpha\: std(\Delta price)

If we want to standardize the risk capital on a specific target risk, lets say 20% volatility annually, then we can do that as follows:

riskcapital_{targetrisk} \: \approx \: \frac {std(\Delta price)}{targetrisk}

Specifically, let’s say that a security has an expected daily change in price of $1; if we want to commit an amount of capital to such security in an amount that would result in 20% annual risk, then the daily risk target is \frac {20\%}{\sqrt(252)} = 1.26\%.  So, the amount of risk capital needs to be such that 1.26% of that capital (the daily target dollar risk) is equal to $1 (the expected daily change in price in the security).  In this example, the risk capital turns out to be $79.37 because \frac {\$1}{1.26\%} = \$79.37.  To validate this, we can see that the target annual risk on $79.37 is $15.87 (20% of $79.37 = $15.87), which we can divide by \sqrt{(252)} to determine the daily risk budget, which is $1 ( \frac {\$15.87\%}{\sqrt(252)} = \$1 ).
At this point, we have a guaranteed positive estimate of the amount of capital we can allocate to a market in order to maintain a target level of risk exposure to the market.  While this result is useful, it is not a very good estimate of the price since the risk of returns in a asset is time varying and prices reflect this time varying nature of risk.  So, if we wish to calculate a price as opposed to risk capital at a constant risk, then we need to account for the time varying nature of risk in the underlying asset.  But, the time varying risk of the underlying can be expressed by the ratio of the target risk to the standard deviation of returns in the underlying asset.  Applying this approach to our risk capital yields the following: 

riskcapital_{marketrisk} = riskcapital_{targetrisk} * \frac {targetrisk}{std(returns)}

Putting things together, leads us to the formula below:

price = riskcapital_{marketrisk} \: \approx \: \frac {std(\Delta price)}{targetrisk} * \frac {targetrisk}{std(returns)} = \frac {std(\Delta price)}{std(returns)}

This simple formula can be used to calculate a surprisingly accurate, and yet guaranteed to be positive, price estimate.  Below is a chart of the CLOSE price of the CL 2020K contract; the blue line is the CLOSE price, the orange line is a EWMA of the CLOSE (with a 4 day span), and the green line is the price estimate calculated with the proposed method.  Notice that the blue and orange lines do go below $0 towards the end of this contract.  However, the green line, the proposed price estimate, never turns negative and in fact bottoms out at $18.27.

Figure 2. CL 2020K Crude Oil contract

Time in days

Source: Data from CSI Data. Analysis by ReSolve Asset Management. For illustrative purposes only.

The Maths

In this section, we will show that the proposed price estimator is indeed sound mathematically.  To start with, it will be easier to begin with a ratio of the variance of price changes to the variance of returns.  This is just a square of the ratio of standard deviations of the two.  We can then expand the variance of price changes and the variance of returns as below.


 \frac {std(\Delta price)^2}{std(returns)^2} =\left(\frac {std(\Delta price)}{std(returns)}\right)^2 = \frac {var(\Delta price)}{var(returns)} = \frac {E\left[{\Delta_{price}}_{i}^2\right]-E\left[{\Delta_{price_{i}}}\right]^2}{E\left[ \left(\frac {\Delta price_{i}}{price_{i-1}}\right)^2\right]-E\left[ \frac {\Delta price_{i}}{price_{i-1}}\right]^2}

When we expand the price change, we get:

= \frac { E \left[ \left(price_{i}-price_{i-1}\right)^{2}\right]-E \left[ price_{i}-price_{i-1}\right]^{2} } { E \left[ \left(\frac{ price_{i}-price_{i-1}}{price_{i-1}}\right)^{2} \right]-E \left[ \frac{ price_{i}-price_{i-1}}{price_{i-1}} \right]^{2} }

For markets that are not trending, the expected value of daily price changes is 0, therefore we can drop the second term of the numerator and denominator and simplify to the expression below:

\approx\frac { E \left[ \left(price_{i}-price_{i-1}\right)^{2}\right] } { E \left[ \left(\frac{ price_{i}-price_{i-1}}{price_{i-1}}\right)^{2} \right] }

Expanding the squares, we get:

= \frac { E \left[ price_{i}^{2}-2price_{i}price_{i-1}+price_{i-1}^{2}\right] } { E \left[ \frac{ price_{i}^{2}-2price_{i}price_{i-1}+price_{i-1}^{2}}{price_{i-1}^{2}} \right] }

We can readily see in the expression above that if only the expected value of a ratio were equal to the ratio of the expected values, then we’d have our proof.  But alas, that is not the case; we can’t claim that the expected value of a ratio is equal to the ratio of expected values.  However we can use second order Taylor series expansion to arrive at:

 E \left[\frac { A } { B }\right]= \frac {E \left[ A \right] } {E \left[ B \right] } \left\{ \frac{Cov\left(A, B \right) } { E \left[ A \right]E \left[ B \right] } + \frac{Var\left(B \right) } { E \left[ B \right]^{2} } \right\}

Applying the Taylor expansion to our problem, we get the following:

 E \left[ \frac { price_{i}^{2}-2price_{i}price_{i-1}+price_{i-1}^{2}}{{price_{i-1}^{2}}}\right]=E \left[\frac { A}{ B}\right]

Luckily, when we estimate the multiplier on the ratio of expected values, it is very close to 1.

\left( 1-\frac{Cov\left(A, B \right)}{E \left[ A \right]E \left[ B \right]}+ \frac{Var\left(B \right)}{E \left[ B \right]^{2}}\right) \approx 1

Using this result, we can simplify our expression to:

 \frac { E \left[ price_{i}^{2} -2price_{i}price_{i-1}+price_{i-1}^{2}\right] } { E \left[ \frac{ price_{i}^{2} -2price_{i}price_{i-1}+price_{i-1}^{2}}{price_{i-1}^{2}} \right] } \approx \frac { E \left[ price_{i}^{2} -2price_{i}price_{i-1}+price_{i-1}^{2}\right] } { \frac{ E \left[ price_{i}^{2} -2price_{i}price_{i-1}+price_{i-1}^{2}\right]}{E \left[price_{i-1}^{2}\right]} } = E \left[price_{i-1}^{2}\right]

Now going back to the beginning we notice that our expression was for the ratio of the variances.  

 \left(\frac {std(\Delta price)}{std(returns)}\right)^2 = \frac {var(\Delta price)}{var(returns)} = E \left[ price_{i-1}^{2} \right]

So, by taking the square root of our expression, we can obtain the ratio of standard deviations, which is what we wanted to show.

\frac {std(\Delta price)}{std(returns)} = \sqrt {E \left[ price_{i-1}^{2} \right]} \approx E \left[ price_{i-1} \right]