What you are really looking for in an earnings calendar is the event priced differently in the two options by a large enough amount to overcome expected transaction costs. Is that how you are analyzing them?
Post the code here, publicly. That way others can learn from the discussion also. I, and others, will probably comment on it. I've been reading R since before it existed.
# I will be using AVGO as an example here as they have there earnings tomorrow
# Both its current implied move and it's past implied move will be used to show
#the spread in which I want to take advantage of.
#First I calculate the volatlity of closest expiration to event using the
#straddle price.
# front month vol = straddle price /(sqrt(t/T)*sqrt(2/pi)*Stock Price)
vol_front = 9.95/(sqrt(2/365)*sqrt(2/pi)*263.5)
# vol June 8 = .639
#next I calculate the second closest vol.
vol_back = 12.15/(sqrt(9/365)*sqrt(2/pi)*263.5)
#vol June 15 = .368
#Now I calculate the event vol.
#Event vol = Vol - diffuse(ambient vol)
#I have created a function called vol_jpm that does this
vol_jpm = function(v1,v2,t2,t2)
{
vj = sqrt((v1^2 - v2^2) * (t1 * t2/(t2 - t1)))
vj
}
#Plug in the number to the fucntion
volj = vol_jpm(.639, .368, 2,9)
#The vol of the event is 84.7%
#We can calcualte the expected move using this.
volj*sqrt(2/pi)*263.5*sqrt(1/365)
#We get an expected move of 9.21.
#Now lets go back a few weeks
#May 14. roughly 3 weeks ago.
#spreads are only .30 cents wide. small for a $250 stock.
# We repeat the same steps to calculate the expected move at that time.
vol_front_past = 15.80/(sqrt(25/365)*sqrt(2/pi)*244.76)
vol_back_past = 17.55/(sqrt(32/365)*sqrt(2/pi)*244.75)
volj2 = vol_jpm(vol_front_past, vol_back_past, 25, 32)
#this implies an event vol of only 62%....22% less than the first one!!
volj2 * sqrt(2/pi)*244.76*sqrt(1/365)
#This implies an expected move of only 6.40.
#The 240 calendar on may 14 was priced at 2.50. It ran up to 3.05 withing 2.5 days.
#Hope you guys can contribute cheers