As with any commodity, I’m starting my analysis by building up my various databases. In this case, I’m mostly using USDA annual reports, which compile detailed data by country on acerage, yields, stocks, production, trade, and consumption. It’s a lot of copy pasting, similar to what I used to do when I worked as an equity analyst. One can only imagine how many times the same work is done around the world in our field…
In any case, in the process of building up the database I also naturally took to a bit of forecasting. The idea will be to eventually build up an idea of total supply and demand. The first step I’ll be taking in this forecasting will be the projection of global acerage devoted to cotton planting. In part 1 here, we will be creating a function to help us project future acerage, which we will then use in a Monte Carlo simulation later on, perhaps in part 2.
Creating our Function
Of course, acerage (hectarage, technically) devoted to cotton will undoubtedly reflect a combination of observed cotton prices, planters’ expectations, and the relative competitiveness of other crops. Clearly it would be very difficult to effectively include all these variables to come up with a precise forecast. In fact, if we are hoping to make a forecast of cotton prices, and plan on using acerage as one of our inputs, then we can’t also use prices in projecting acerage – it would be a recursive calculation. It would also be a bit of overkill for what is, in the broader scheme of things, a small part of my analysis.
Instead, to get things started I’ll be forecasting global acerage using a mean reverting geometric brownian motion function, or, at least a kind of GBM, of the form:
Here, we project next year’s acerage based on last year’s figure (Xt), the speed of adjustment coefficient (k chapeau, as it is called in french; this determines how quickly the function will revert to its mean), the long term average of global acerage (mu chapeau), and a stochastic error term (which itself is distributed according to the volatility of yearly acerage). Last year’s prices are observable, but we’ll need to estimate k chapeau, mu chapeau, and the standard deviation of our stochastic error term.
We could do this using a simple regression (of Xt+1 on Xt) on excel or Matlab, but for this particular data series I’ve decided to just wing it: in our case, the volatility of annual planting is growing as farmers become more methodical about crop planting, so the regression results are a bit misleading. We should be able to produce a reliable function in any case.
For our model, I simply use the average acerage of our data set as the long term average (I use USDA FAS data here going back to 1966), and have estimated k chapeau at 0.65 (for eyeballing this coefficient, we can calculate the half-life of our mean reversion, which for 0.65 is about HL=ln(2)/0.65 = 1.06, so we would expect the difference between annual acerage and the long term average to reduce by about half within a period of just over one year). Standard deviation is just calculated as the annual volatility for our data sample, from 1966.
So my final function on excel was:
As for what this means in projecting global acerage, we now have the building blocks for Monte Carlo or other statistical analyses. Below we can see a sample of projections from the function: a Monte Carlo analysis would involve repeating the experiment ten or a hundred thousand times and extracting probabilities from these results.
So there we have it, a function to help us project annual cotton acerage, which will, in turn, be useful in calculating global production and supply. Of course, these remain just rough estimates; Putting too much emphasis on models is dangerous, but for my purposes in getting a grip on the dynamics of the cotton market, we’re off to a good start!