RBOB vs CL

The ratio between RBOB and CL has gone through the roof lately. From what I understand due to strikes at refineries. So a spread seems like a winner as soon as those strikes end. Any thoughts on this?
 
Last edited:
You mean the spread has grown large or what? It is a simple crack spread. I know they had come down significantly but have spiked quite a bit lately. Not sure if they are high or not though, still new to them.
 
You mean the spread has grown large or what? It is a simple crack spread. I know they had come down significantly but have spiked quite a bit lately. Not sure if they are high or not though, still new to them.

Not the crack spread in dollars, but the ratio between RBOB and CL is near a multi-year high.
 
As FCXo suggests, it is all about gasoline crack spread, that is the difference between gasoline (product out of the refinery process) and crude oil (the main feedstock). In the industry, they use for USGC unleaded 87 conv. - WTI at Cushing, for instance.

Well, it seems unplanned repairs at some major US refineries, as colleral damage of US nationwide strike of United Steelworkers, took its toll on gasoline prices this week. I am not sure actual runcuts are that big, but there is a 'risk' and market is paying for it.

With this week's bounce, gasoline crack is now hovering over last year's level ... which is just in the middle of the 5-year range.

Some dirty work (using futures, almost ignoring seasonality, ...) seems to confirm this.

# I'm not sure why I cannot download any longer several series at a time
# Quandl doesn't seem to support square brackets, now
# And I'm unable to download only selected fields eg the 4th column (that is 'settle')
# Hum ... That worked before, if I remember well
import Quandl
tok = 'blablabla'
start= '2005-01-01'
rbob_qdl_code = 'OFDP/FUTURE_RB1' # $/gal
wti_qdl_code = 'CHRIS/ICE_T2' # $/bbl
rbob = Quandl.get(dataset=rbob_qdl_code, trim_start=start, authtoken=tok)
wti = Quandl.get(dataset=wti_qdl_code, trim_start=start)
df = pd.concat([rbob['Settle'], wti['Settle']], axis=1)
crack = 42 * df.ix[:,0] - df.ix[:,1] # crack into $/bbl
plot(crack) # quick chart
crack.describe()

'''
count 2263.000000
mean 15.325448
std 10.079828
min -7.945400
25% 7.215600
50% 12.717800
75% 23.770700
max 47.804000
Name: Settle, dtype: float64
'''
 
Back
Top