| Had a free hour, so I made a very basic statistical model for the conspiracy theorists out there. It makes a lot of shaky assumptions (as I only had an hour) but I thought I would share the bottom line, which I believe to be accurate within an order of magnitude - the RMA + crop insurers saved approximately $2 billion based on the October rally from $3.21 to $3.76 (and final harvest price of $3.49 vs Oct 1 price of $3.21).
I have no idea how much cash it would take to cause the rally ($20m, $200m, $2bn $20bn) which is why I am posting here, but if it is relatively small, then there would be a large incentive for folks on the other side of the insurance market to see what they can do to increase prices. Anyone know what sort of $$ it would take based on volume seen last month?
I put my code below in case anyone wants to play around with the model assumptions (it is written in R, which is free to use).
#Assume you have a sample of 100000 acres with a mean yield of 174 and sd of 17 #would choose a better distribution if I had more time yields.2014 = rnorm(100000, mean=174, sd=17) #Assume those acres have an average TA APH of 160 and sd of 16 yields.average = rnorm(100000, mean=160, sd = 16) #Assume those acres are insured based on farmdocdaily's analysis #http://farmdocdaily.illinois.edu/2014/07/will-crop-insurance-make-payments-2014.html #with 90% GRIP HR assigned to 80% RP and 85% GRIP HR assigned to 75% RP insured = c(rep(.65,1000),rep(.7, 3000),rep(.75,12000), rep(.8,33000), rep(.85,35000), rep(0,16000)) #Feb prices feb.price = 4.62 oct1.price = 3.21 harvest.price = 3.49 #Get distributions of guarantees and outcomes guarantees = yields.average*insured*feb.price outcomes.oct1price = yields.2014*oct1.price outcomes.harvestprice = yields.2014*harvest.price #Get payout distributions diffs.oct1price = guarantees-outcomes.oct1price diffs.harvestprice = guarantees-outcomes.harvestprice #Fix 'negative' payouts diffs.oct1price <- sapply(diffs.oct1price,function(x){max(0,x)}) diffs.harvestprice <- sapply(diffs.harvestprice,function(x){max(0,x)}) #scale this to 91.6 million planted acres to get final answer sum(diffs.oct1price-diffs.harvestprice)*(91600000/100000) |