Skip to content

Retrieved 2026-10-07T10:00:55+00:00

The print, with the file still attached.

One page for the Cushing spot, Brent, weekly barrels, the four NYMEX months EIA publishes, and CFTC managed money. A blank cell stays blank. The date under a figure is the last stored print, not today.

The date, the series, and the regime cut the chart and the sheet together. Study verdicts stay on the split in the code: train before 1 Jan 2020, holdout from that day. CL1 minus CL4 ends 2024-04-05. Spot RWTC runs through 2026-09-29. A curve regime drops dates after the futures file.

RWTC in the window

Loading the chart.

Sheet

Loading the sheet.

Risk worksheet

Tick value is the contract spec. Margin is whatever your clearing statement says today. This archive does not store a live margin. The volatility sample is the mean absolute close-to-close change over the last 14 gaps of 1 to 5 days inside the date window. EIA posts one price, so this is not a high-low ATR. Regime filter does not enter this sample.

The date window does not have 14 usable closes for RWTC.

MCL is 100 barrels. Tick 0.01 is $1. One dollar per barrel is $100 a contract. Size is the minimum of the risk cap, the daily-loss cap against the in-window 99th percentile close-to-close gap, and the unused drawdown room. Spec: Micro WTI.

Derived metrics

Each column is arithmetic on stored prints. The formula is on the row. Held means the precommitted bar was met. It is not a trade. Failed means the bar was missed. 6 met the bar. 4 missed it. Implied volatility is absent. RV20 is realized volatility only. Every row is derived from stored government series.

Metrics scored on the holdout that starts 2020-01-01
IdLastVerdictFormula and result
INV_SURPRISE698.076923077
2026-09-25
failedWeekly change in EIA WCESTUS1, kept only when the week-ending dates are 7 days apart, minus the mean of the prior 52 kept changes. The mean uses weeks strictly before the current week. This is a trailing baseline, not an analyst survey. Train correlation of the mean-baseline surprise with the release-day RWTC log return is -0.098. Holdout correlation is 0.022. The holdout correlation is not negative. The bar was missed.
CUSHING_COVER1.49480224
2026-09-25
heldCushing crude stocks (thousand barrels) divided by US refiner net inputs of crude (thousand barrels per day) on the same Friday. The result is days. Low cover is a print below the train 20th percentile, frozen at 1.403 days. Train 20th percentile of days of cover is 1.403. Train gap, low cover minus the rest, is -0.204% (145 low, 581 rest). Holdout gap is -0.319% (60 low, 290 rest). The holdout kept the train sign.
CURVE_Z1.52005774
2024-04-05
held(CL1_MINUS_CL4 minus the train mean) divided by the train population standard deviation. Train mean -0.142 dollars per barrel. Train standard deviation 1.850. Both moments stop at 31 Dec 2019 and are applied to every later print. A positive CL1_MINUS_CL4 means the front NYMEX contract is above the fourth. Train gap, z above 1 minus z below -1, is -1.331% (927 high, 996 low). Holdout gap is -5.886% (336 high, 39 low). The holdout kept the train sign.
COT_Z-1.693210604
2026-09-29
failedManaged-money net divided by open interest on CFTC 067651. Z-score uses the train mean and the train population standard deviation of that ratio. Train mean 0.1146. Train standard deviation 0.0386. The percentile is the share of train ratios at or below the current print. Spreads are not inside the net. Train gap, z above 1.5 minus the rest, is -0.128% (39 extreme, 480 rest). Holdout gap is 1.722% (11 extreme, 340 rest). The holdout flipped the train sign.
CRACK_GAP13.265
2024-04-05
failedCRACK_321 minus its train median. Train median 16.739 dollars per barrel. CRACK_321 is ((2 * RBOB_F1 + HO_F1) / 3) * 42 minus RCLC1. A date is absent when any input is absent. The futures workbooks end before the spot series. Train correlation of the crack gap with the next five-print RWTC return is 0.036. Holdout correlation is -0.030. The holdout flipped the train sign.
RV200.821029835
2026-09-29
heldPopulation standard deviation of the last 20 adjacent RWTC log returns, times the square root of 252. A return enters only when the two prints are 1 to 5 calendar days apart. High realized vol is at or above the train 80th percentile, frozen at 0.4535. Implied volatility is not in this archive. No implied-versus-realized ratio is computed. Train gap in mean absolute five-print return, high vol minus the rest, is 2.618%. Holdout gap is 3.946% (383 high, 1295 rest). The holdout gap is positive, which was the bar.
EIA_PROFILEheldheldThe same weekly WCESTUS1 surprise as the inventory study: change minus the prior 52-week median. Train quartile edges are frozen. Each week is placed in one of four bins. The score is the Spearman correlation of the train bin-mean release return with the holdout bin-mean. Train quartile edges, thousand barrels: -3060.0, 39.5, 2773.0. Spearman correlation of the bin means is 0.400. The correlation is above zero, which was the bar.
SEAS_STOCK103424.35625
2026-09-25
heldWCESTUS1 level minus the train mean level for that calendar month. Month means are frozen on weeks before 2020. A later January is compared with the pre-2020 January mean, not with a mean that includes itself. Train correlation of the seasonal deviation with the Wednesday RWTC return is 0.006. Holdout correlation is 0.119. The holdout kept the train sign.
UTIL_DEV2.1
2026-09-25
heldWPULEUS3 minus its train median, in percentage points of utilization. Train median 90.40 percent. An anomaly is an absolute deviation at or above the train 90th percentile of absolute deviations, frozen at 7.10 points. Train gap in mean absolute Wednesday return, anomaly minus the rest, is 0.264%. Holdout gap is 0.787% (62 anomalies, 286 other weeks). The holdout gap is positive, which was the bar.
SPR_FLOW-785
2026-09-25
failedWeekly change in EIA WCSSTUS1, the Strategic Petroleum Reserve, thousand barrels. Kept only when the two week-ending dates are 7 days apart. A negative change is a draw. Train correlation of the SPR change with the Wednesday RWTC return is 0.019. Holdout correlation is 0.047. The holdout correlation is not negative. The bar was missed.

Studies

Train prints end 31 Dec 2019. Holdout starts 1 Jan 2020. Thresholds used as rules are frozen on the train window. The date filter above does not move these verdicts. Each study is also a notebook in the repository.

20 studies
#StudyVerdictResult
01SeasonalityheldCorrelation of the 12 train month-means with the 12 holdout month-means is 0.309. Signs match in 5 of 12 months. The correlation is above zero, which was the bar. 5 matching signs out of 12 is a thin map.
02Inventory surprisefailedTrain correlation of surprise with the release-day RWTC log return is -0.099. Holdout correlation is 0.024. The holdout correlation is not negative. The bar was missed.
03Term structureheldTrain mean five-print RWTC return in backwardation minus contango is -0.133%. Holdout difference is -0.055%. A negative gap means backwardation did not pay more than contango. The holdout kept the train sign.
04COT positioningfailedThe frozen 90th percentile of managed-money net over open interest is 0.1653. Train five-print return above that line minus the return below it is -0.444%. Holdout difference is 1.034%. The holdout flipped the train sign.
05EIA report dayheldTrain ratio of mean absolute Wednesday log return to other days is 1.059. Holdout ratio is 1.043. Both windows clear 1, which was the bar. The margin is small.
06CushingfailedTrain correlation of surprise with the release-day RWTC log return is -0.064. Holdout correlation is 0.151. The holdout correlation is not negative. The bar was missed.
07Crack spreadfailedTrain correlation of the 3-2-1 crack with the next five-print RWTC return is 0.036. Holdout correlation is -0.030. The holdout flipped the train sign.
08Inventory tailsheldFrozen train tails are -5648 and 5678 thousand barrels. Train draw-minus-build five-print return is -0.348%. Holdout difference is -2.035%. A negative number means the draw tail was followed by a lower return than the build tail. The holdout kept the train sign.
09Anomaly flagsheldTrain median daily log return is 0.071%. MAD scale is 1.852%. Holdout days with |z| above 4: 53. Their mean absolute five-print return is 16.789%, against 4.483% on the other holdout days. The flagged days were followed by larger absolute moves. The holdout contains the 2020 break, and a large print often sits next to another large print.
10ForecastheldHoldout months: 81. Mean absolute error of the train calendar-month mean is 10.162%. Mean absolute error of a flat zero forecast is 10.365%. The difference is 0.204%. The calendar mean is lower error, which was the bar.
11Inventory surprise proxyfailedTrain correlation of the mean-baseline surprise with the release-day RWTC log return is -0.098. Holdout correlation is 0.022. The holdout correlation is not negative. The bar was missed.
12Cushing days of coverheldTrain 20th percentile of days of cover is 1.403. Train gap, low cover minus the rest, is -0.204% (145 low, 581 rest). Holdout gap is -0.319% (60 low, 290 rest). The holdout kept the train sign.
13Curve regime scoreheldTrain gap, z above 1 minus z below -1, is -1.331% (927 high, 996 low). Holdout gap is -5.886% (336 high, 39 low). The holdout kept the train sign.
14Positioning z-scorefailedTrain gap, z above 1.5 minus the rest, is -0.128% (39 extreme, 480 rest). Holdout gap is 1.722% (11 extreme, 340 rest). The holdout flipped the train sign.
15Crack gapfailedTrain correlation of the crack gap with the next five-print RWTC return is 0.036. Holdout correlation is -0.030. The holdout flipped the train sign.
16Realized volatilityheldTrain gap in mean absolute five-print return, high vol minus the rest, is 2.618%. Holdout gap is 3.946% (383 high, 1295 rest). The holdout gap is positive, which was the bar.
17EIA-day reaction profileheldTrain quartile edges, thousand barrels: -3060.0, 39.5, 2773.0. Spearman correlation of the bin means is 0.400. The correlation is above zero, which was the bar.
18Seasonal stock deviationheldTrain correlation of the seasonal deviation with the Wednesday RWTC return is 0.006. Holdout correlation is 0.119. The holdout kept the train sign.
19Refinery utilizationheldTrain gap in mean absolute Wednesday return, anomaly minus the rest, is 0.264%. Holdout gap is 0.787% (62 anomalies, 286 other weeks). The holdout gap is positive, which was the bar.
20SPR flowfailedTrain correlation of the SPR change with the Wednesday RWTC return is 0.019. Holdout correlation is 0.047. The holdout correlation is not negative. The bar was missed.

01 Seasonality

held

Do WTI's calendar-month mean returns from before 2020 show up again after it?

Correlation of the 12 train month-means with the 12 holdout month-means is 0.309. Signs match in 5 of 12 months. The correlation is above zero, which was the bar. 5 matching signs out of 12 is a thin map.

Notebook 01-seasonality.ipynb

0.309

train vs holdout month-mean correlation

Train mean daily log returnHoldout mean daily log return
Mean daily log return of RWTC by calendar month
MonthTrain nTrain meanHoldout nHoldout meanSign
01638-0.042%1410.172%not the same
02603-0.032%1340.081%not the same
036760.170%154-0.180%not the same
046250.192%1430.448%same
05633-0.001%1460.285%not the same
066550.030%1460.041%same
076380.007%1490.220%same
087070.059%153-0.167%not the same
096340.039%144-0.003%not the same
10677-0.106%129-0.038%same
11630-0.201%117-0.185%same
12651-0.001%1280.140%not the same

02 Inventory surprise

failed

Does a WCESTUS1 build versus its own prior 52 weeks show up as a lower RWTC print on the nominal EIA Wednesday?

Train correlation of surprise with the release-day RWTC log return is -0.099. Holdout correlation is 0.024. The holdout correlation is not negative. The bar was missed.

Notebook 02-inventory.ipynb

0.024

holdout correlation, surprise vs release-day return

Correlation
WCESTUS1 surprise versus RWTC release-day log return
WindownCorrelation
Train, release before 2020-01-011584-0.099
Holdout, release on or after 2020-01-013480.024
Skipped, no Wednesday RWTC print307

03 Term structure

held

Does the gap between five-print RWTC returns in backwardation and in contango keep its sign after 2019?

Train mean five-print RWTC return in backwardation minus contango is -0.133%. Holdout difference is -0.055%. A negative gap means backwardation did not pay more than contango. The holdout kept the train sign.

Notebook 03-term-structure.ipynb

-0.055%

holdout backwardation minus contango, five-print return

Mean five-print log return
Five-print RWTC log return by the sign of RCLC1 minus RCLC4
WindowStatenMean return
TrainBackwardation (spread > 0)3485-0.007%
TrainContango (spread < 0)39490.126%
HoldoutBackwardation (spread > 0)7170.196%
HoldoutContango (spread < 0)3490.251%

04 COT positioning

failed

After managed money net on WTI-PHYSICAL is extremely long versus the pre-2020 book, is the next five-print RWTC return higher?

The frozen 90th percentile of managed-money net over open interest is 0.1653. Train five-print return above that line minus the return below it is -0.444%. Holdout difference is 1.034%. The holdout flipped the train sign.

Notebook 04-positioning.ipynb

0.1653

frozen train 90th percentile, net / open interest

Mean five-print log return
Five-print RWTC return after CFTC_CL managed-money net / open interest
WindowBucketnMean return
TrainAt or above 0.165352-0.471%
TrainBelow the frozen line467-0.027%
HoldoutAt or above 0.1653161.023%
HoldoutBelow the frozen line335-0.011%

05 EIA report day

held

Is the absolute RWTC move larger on Wednesdays than on other published days, in both windows?

Train ratio of mean absolute Wednesday log return to other days is 1.059. Holdout ratio is 1.043. Both windows clear 1, which was the bar. The margin is small.

Notebook 05-report-day.ipynb

1.043

holdout Wednesday absolute return / other days

Mean absolute log return
Mean absolute adjacent RWTC log return
WindowDaynMean absolute return
TrainWednesday15841.852%
TrainOther published days61831.750%
HoldoutWednesday3482.209%
HoldoutOther published days13362.118%

06 Cushing

failed

Does a CUSHING build versus its own prior 52 weeks show up as a lower RWTC print on the nominal EIA Wednesday?

Train correlation of surprise with the release-day RWTC log return is -0.064. Holdout correlation is 0.151. The holdout correlation is not negative. The bar was missed.

Notebook 06-cushing.ipynb

0.151

holdout correlation, surprise vs release-day return

Correlation
CUSHING surprise versus RWTC release-day log return
WindownCorrelation
Train, release before 2020-01-01630-0.064
Holdout, release on or after 2020-01-013480.151
Skipped, no Wednesday RWTC print22

07 Crack spread

failed

Does a richer 3-2-1 crack line up with a higher five-print RWTC return, and does that sign survive 2020?

Train correlation of the 3-2-1 crack with the next five-print RWTC return is 0.036. Holdout correlation is -0.030. The holdout flipped the train sign.

Notebook 07-crack.ipynb

-0.030

holdout correlation, crack level vs five-print RWTC return

Correlation
CRACK_321 level versus the next five RWTC prints
WindownCorrelation
Train33710.036
Holdout1066-0.030

08 Inventory tails

held

Do the outer deciles of the WCESTUS1 surprise, cut on the train window only, still separate five-print RWTC returns after 2019?

Frozen train tails are -5648 and 5678 thousand barrels. Train draw-minus-build five-print return is -0.348%. Holdout difference is -2.035%. A negative number means the draw tail was followed by a lower return than the build tail. The holdout kept the train sign.

Notebook 08-events.ipynb

-2.035%

holdout draw minus build, five-print return

Mean five-print log return
Five-print RWTC return by frozen WCESTUS1 surprise tail
WindowTailnMean return
Traindraw159-0.169%
Trainmiddle12660.181%
Trainbuild1590.179%
Holdoutdraw47-1.377%
Holdoutmiddle2550.319%
Holdoutbuild450.658%

09 Anomaly flags

held

Do RWTC days that sit more than four robust z-scores from the pre-2020 center lead larger five-print absolute moves?

Train median daily log return is 0.071%. MAD scale is 1.852%. Holdout days with |z| above 4: 53. Their mean absolute five-print return is 16.789%, against 4.483% on the other holdout days. The flagged days were followed by larger absolute moves. The holdout contains the 2020 break, and a large print often sits next to another large print.

Notebook 09-anomalies.ipynb

53

holdout days with |z| > 4

Mean absolute five-print log return
Holdout RWTC days scored with the frozen train center and MAD
BucketnMean absolute five-print return
|z| > 45316.789%
The rest of the holdout16254.483%

10 Forecast

held

On holdout months, does the pre-2020 mean for that calendar month beat a forecast of a zero monthly log return?

Holdout months: 81. Mean absolute error of the train calendar-month mean is 10.162%. Mean absolute error of a flat zero forecast is 10.365%. The difference is 0.204%. The calendar mean is lower error, which was the bar.

Notebook 10-forecast.ipynb

10.162%

holdout MAE, seasonal naive

Holdout mean absolute error
Holdout monthly RWTC log return, mean absolute error
ForecastHoldout monthsMAE
Train mean for that calendar month8110.162%
Flat zero8110.365%
TimesFM median, one month ahead8110.535%

11 Inventory surprise proxy

failed

Is the holdout correlation between this mean-baseline stock surprise and the nominal EIA Wednesday RWTC return negative?

Weekly change in EIA WCESTUS1, kept only when the week-ending dates are 7 days apart, minus the mean of the prior 52 kept changes. The mean uses weeks strictly before the current week. This is a trailing baseline, not an analyst survey.

Train correlation of the mean-baseline surprise with the release-day RWTC log return is -0.098. Holdout correlation is 0.022. The holdout correlation is not negative. The bar was missed.

Notebook 11-inv-surprise.ipynb

0.022

correlation

correlation
WCESTUS1 change minus the prior 52-week mean, versus the Wednesday RWTC log return
WindownCorrelation
Train1584-0.098
Holdout3480.022
Skipped, no Wednesday RWTC print307

12 Cushing days of cover

held

Does the gap between five-print RWTC returns when Cushing days of cover are below the pre-2020 20th percentile, and when they are not, keep its sign after 2019?

Cushing crude stocks (thousand barrels) divided by US refiner net inputs of crude (thousand barrels per day) on the same Friday. The result is days. Low cover is a print below the train 20th percentile, frozen at 1.403 days.

Train 20th percentile of days of cover is 1.403. Train gap, low cover minus the rest, is -0.204% (145 low, 581 rest). Holdout gap is -0.319% (60 low, 290 rest). The holdout kept the train sign.

Notebook 12-cushing-cover.ipynb

-0.319%

low cover minus the rest

low cover minus the rest
Five-print RWTC log return when days of cover are below the frozen train 20th percentile
WindowLow nRest nLow minus rest
Train145581-0.204%
Holdout60290-0.319%

13 Curve regime score

held

Does the gap between five-print RWTC returns when the curve z-score is above 1 and when it is below -1 keep its sign after 2019?

(CL1_MINUS_CL4 minus the train mean) divided by the train population standard deviation. Train mean -0.142 dollars per barrel. Train standard deviation 1.850. Both moments stop at 31 Dec 2019 and are applied to every later print. A positive CL1_MINUS_CL4 means the front NYMEX contract is above the fourth.

Train gap, z above 1 minus z below -1, is -1.331% (927 high, 996 low). Holdout gap is -5.886% (336 high, 39 low). The holdout kept the train sign.

Notebook 13-curve-z.ipynb

-5.886%

z>1 minus z<-1

z>1 minus z<-1
Five-print RWTC return, high curve z versus low curve z
Windowz>1 nz<-1 nGap
Train927996-1.331%
Holdout33639-5.886%

14 Positioning z-score

failed

Does the gap between five-print RWTC returns when the managed-money z-score is above 1.5, and when it is not, keep its sign after 2019?

Managed-money net divided by open interest on CFTC 067651. Z-score uses the train mean and the train population standard deviation of that ratio. Train mean 0.1146. Train standard deviation 0.0386. The percentile is the share of train ratios at or below the current print. Spreads are not inside the net.

Train gap, z above 1.5 minus the rest, is -0.128% (39 extreme, 480 rest). Holdout gap is 1.722% (11 extreme, 340 rest). The holdout flipped the train sign.

Notebook 14-cot-z.ipynb

1.722%

z>1.5 minus the rest

z>1.5 minus the rest
Five-print RWTC return when COT_Z is above 1.5
WindowExtreme nRest nGap
Train39480-0.128%
Holdout113401.722%

15 Crack gap

failed

Does the correlation between the crack's distance from its pre-2020 median and the next five-print RWTC return keep its sign after 2019?

CRACK_321 minus its train median. Train median 16.739 dollars per barrel. CRACK_321 is ((2 * RBOB_F1 + HO_F1) / 3) * 42 minus RCLC1. A date is absent when any input is absent. The futures workbooks end before the spot series.

Train correlation of the crack gap with the next five-print RWTC return is 0.036. Holdout correlation is -0.030. The holdout flipped the train sign.

Notebook 15-crack-gap.ipynb

-0.030

correlation

correlation
Crack minus the frozen train median, versus the next five RWTC prints
WindownCorrelation
Train33710.036
Holdout1066-0.030

16 Realized volatility

held

When 20-print realized volatility sits at or above its pre-2020 80th percentile, is the holdout mean absolute five-print RWTC return larger than on the other days?

Population standard deviation of the last 20 adjacent RWTC log returns, times the square root of 252. A return enters only when the two prints are 1 to 5 calendar days apart. High realized vol is at or above the train 80th percentile, frozen at 0.4535. Implied volatility is not in this archive. No implied-versus-realized ratio is computed.

Train gap in mean absolute five-print return, high vol minus the rest, is 2.618%. Holdout gap is 3.946% (383 high, 1295 rest). The holdout gap is positive, which was the bar.

Notebook 16-realized-vol.ipynb

3.946%

high vol minus the rest

high vol minus the rest
Mean absolute five-print RWTC return when RV20 is at or above the frozen train 80th percentile
WindowHigh nRest nHigh minus rest
Train155061982.618%
Holdout38312953.946%

17 EIA-day reaction profile

held

Do the four pre-2020 surprise bins rank the Wednesday RWTC return the same way after 2019?

The same weekly WCESTUS1 surprise as the inventory study: change minus the prior 52-week median. Train quartile edges are frozen. Each week is placed in one of four bins. The score is the Spearman correlation of the train bin-mean release return with the holdout bin-mean.

Train quartile edges, thousand barrels: -3060.0, 39.5, 2773.0. Spearman correlation of the bin means is 0.400. The correlation is above zero, which was the bar.

Notebook 17-eia-profile.ipynb

0.400

Spearman of bin means

Spearman of bin means
Mean Wednesday RWTC log return by inventory-surprise quartile
QuartileTrain meanHoldout mean
10.424%0.557%
20.301%-0.127%
3-0.106%-0.877%
4-0.232%0.240%

18 Seasonal stock deviation

held

Does the correlation between seasonally adjusted commercial crude stocks and the Wednesday RWTC return keep its sign after 2019?

WCESTUS1 level minus the train mean level for that calendar month. Month means are frozen on weeks before 2020. A later January is compared with the pre-2020 January mean, not with a mean that includes itself.

Train correlation of the seasonal deviation with the Wednesday RWTC return is 0.006. Holdout correlation is 0.119. The holdout kept the train sign.

Notebook 18-seas-stock.ipynb

0.119

correlation

correlation
WCESTUS1 minus the frozen calendar-month mean, versus the Wednesday RWTC return
WindownCorrelation
Train15840.006
Holdout3480.119

19 Refinery utilization

held

On weeks when refinery utilization is further from its pre-2020 median than the train 90th percentile of that distance, is the holdout mean absolute Wednesday RWTC return larger?

WPULEUS3 minus its train median, in percentage points of utilization. Train median 90.40 percent. An anomaly is an absolute deviation at or above the train 90th percentile of absolute deviations, frozen at 7.10 points.

Train gap in mean absolute Wednesday return, anomaly minus the rest, is 0.264%. Holdout gap is 0.787% (62 anomalies, 286 other weeks). The holdout gap is positive, which was the bar.

Notebook 19-util-anomaly.ipynb

0.787%

anomaly minus the rest

anomaly minus the rest
Mean absolute Wednesday RWTC return on utilization anomalies
WindowAnomaly nRest nAnomaly minus rest
Train13711930.264%
Holdout622860.787%

20 SPR flow

failed

Is the holdout correlation between the weekly SPR stock change and the Wednesday RWTC return negative?

Weekly change in EIA WCSSTUS1, the Strategic Petroleum Reserve, thousand barrels. Kept only when the two week-ending dates are 7 days apart. A negative change is a draw.

Train correlation of the SPR change with the Wednesday RWTC return is 0.019. Holdout correlation is 0.047. The holdout correlation is not negative. The bar was missed.

Notebook 20-spr-flow.ipynb

0.047

correlation

correlation
WCSSTUS1 weekly change versus the Wednesday RWTC log return
WindownCorrelation
Train15840.019
Holdout3480.047
Skipped, no Wednesday RWTC print359

Notes

WTI and Brent

WTI on this page is EIA RWTC, the Cushing, Oklahoma spot, dollars per barrel. Last stored print: 2026-09-29 at 96.16 dollars per barrel. Source file RWTCd.xls, retrieved 2026-10-07.

Brent is EIA RBRTE, the Europe spot. Last stored print: 2026-09-29 at 113.96 dollars per barrel. They are different barrels in different places. A day missing either print is left blank. The page does not fill a spread across that hole.

Cushing

Cushing stocks are the EIA weekly series for Cushing, Oklahoma, excluding the SPR, thousand barrels. Stored id CUSHING. Last week: 2026-09-25 at 24301 thousand barrels.

Days of cover, CUSHING_COVER, divides that stock by the same Friday's refiner net inputs of crude, WCRRIUS2. Both are thousand barrels over thousand barrels per day, so the unit is days. Last derived print: 2026-09-25 at 1.49480224 days. The column is marked derived. The holdout test is in the metrics table, and it does not get a new cutoff after the result.

Contango and backwardation

CL1_MINUS_CL4 is NYMEX contract 1 minus contract 4, on dates both EIA series print. Positive means the front is above the fourth. That is the backwardation side of this two-point curve. Negative is contango in the same two contracts. Last stored spread: 2024-04-05 at 2.67 dollars per barrel.

EIA's futures history in this snapshot ends 2024-04-05. Spot RWTC continues after that. CURVE_Z is the spread minus its pre-2020 mean, divided by the pre-2020 standard deviation. Dates after the futures file are absent, not extrapolated.

Commitments of Traders

Managed money for WTI is CFTC disaggregated futures, contract code 067651. Brent last day is 06765T. Net is long minus short. Spreads are not folded into the net. COT_Z is that net divided by open interest, then scored against the pre-2020 mean and standard deviation. COT_PCT is the share of the pre-2020 prints at or below the current ratio.

The annual history files for 2006 through 2009 were not on the CFTC server when this snapshot was built, so the stored report starts in 2010. Traders in Financial Futures does not list CL, and it is not copied here.

The 3-2-1 crack

The crack is ((2 * RBOB futures contract 1 + heating oil futures contract 1) / 3) * 42, minus NYMEX crude contract 1. Gasoline and heating oil are dollars per gallon. Times 42 puts a gallon quote on a barrel. Last stored crack: 2024-04-05 at 30.004 dollars per barrel.

CRACK_GAP subtracts the median of cracks from before 2020. A date is dropped when any input is missing. Implied volatility is not in the free files, so there is no implied-versus-realized ratio. RV20 is the annualized standard deviation of 20 adjacent RWTC log returns, and the column says so.

The EIA week

The weekly petroleum file ends on Friday. The studies treat the nominal release as the Wednesday five days later. The price reaction is the log change from the last RWTC print before that Wednesday to the print on that Wednesday.

If Wednesday has no RWTC print, the week is skipped and counted. A holiday release that moved to Thursday is not reassigned. The inventory surprise is the weekly stock change minus a trailing baseline from the prior 52 kept weeks. It is not an analyst survey.

Questions the file can answer

What price is WTI here?

WTI is EIA RWTC, Cushing spot, dollars per barrel. The last stored print is 96.16 on 2026-09-29, retrieved 2026-10-07.

How is Brent different from WTI in this archive?

Brent is EIA RBRTE, the Europe spot. It is a different barrel and a different file. The two series are not averaged, and a missing day stays blank.

What does contango mean on this page?

Contango here means CL1_MINUS_CL4 is negative: NYMEX contract 4 is above contract 1. Backwardation means the front is above the fourth. The futures file ends before the spot file.

What is the COT figure?

It is the CFTC disaggregated futures report for codes 067651 and 06765T. Managed-money net is long minus short, without spreads. The z-score and the percentile use the pre-2020 distribution only.

How is the crack calculated?

((2 * RBOB futures + heating oil futures) / 3) * 42, minus NYMEX crude contract 1. The 42 converts a gallon quote to a barrel quote. Missing inputs are omitted.

When does the EIA week hit the price?

The week ends Friday. The nominal release in the studies is the Wednesday five days later. Weeks with no Wednesday RWTC print are skipped. Thursday holiday releases are not moved.

Does a held study mean there is a trade?

No. Held means the precommitted bar was met on the holdout that starts 1 Jan 2020. Some held results are sign tests on thin numbers. Failed means the bar was missed. Read the number on the row.

Is this financial advice?

No. Past prices do not predict future prices. A futures contract can wipe out the account that trades it.

Sources and downloads

EIA, FRED, and the CFTC files are US government works. The code around them is MIT. A derived series names its inputs. Retrieval for this snapshot: 2026-10-07T10:00:55+00:00.

Series in this snapshot
IdSourceCountLast dateLast valueRetrieved
RWTCEIA95122026-09-2996.162026-10-07
RBRTEEIA90972026-09-29113.962026-10-07
RCLC1EIA101832024-04-0586.912026-10-07
RCLC2EIA95942024-04-0586.12026-10-07
RCLC3EIA102192024-04-0585.22026-10-07
RCLC4EIA95512024-04-0584.242026-10-07
HO_F1EIA98942024-04-052.7732026-10-07
RBOB_F1EIA46092024-04-052.7892026-10-07
HO_SPOTEIA87952026-09-294.7892026-10-07
GAS_SPOTEIA91462026-09-293.3292026-10-07
WCESTUS1EIA22962026-09-254273202026-10-07
WCRSTUS1EIA22962026-09-257110872026-10-07
CUSHINGEIA10892026-09-25243012026-10-07
WCSSTUS1EIA22962026-09-252837672026-10-07
WDISTUS1EIA22962026-09-251051802026-10-07
WGTSTUS1EIA19172026-09-252043622026-10-07
WGIRIUS2EIA19152026-09-25166702026-10-07
WCRFPUS2EIA22792026-09-25139552026-10-07
WCRRIUS2EIA22962026-09-25162572026-10-07
WCRIMUS2EIA14892026-09-2556982026-10-07
WCREXUS2EIA17462026-09-2535702026-10-07
WPULEUS3EIA18602026-09-2592.52026-10-07
WGFUPUS2EIA18592026-09-2586892026-10-07
DTWEXBGSFRED52032026-10-02121.38482026-10-07
DGS10FRED161752026-10-055.312026-10-07
DGS2FRED125832026-10-054.842026-10-07
CFTC_CLCFTC8742026-09-291229162026-10-07
CFTC_BRENTCFTC7702026-09-2935712026-10-07
CL1_MINUS_CL4Derived94492024-04-052.672026-10-07
DGS10_MINUS_DGS2Derived125832026-10-050.472026-10-07
CRACK_321Derived45322024-04-0530.0042026-10-07
INV_SURPRISEDerived22392026-09-25698.0769230772026-10-07
CUSHING_COVERDerived10892026-09-251.494802242026-10-07
CURVE_ZDerived94492024-04-051.520057742026-10-07
COT_ZDerived8742026-09-29-1.6932106042026-10-07
COT_PCTDerived8742026-09-294.9808429122026-10-07
CRACK_GAPDerived45322024-04-0513.2652026-10-07
RV20Derived94322026-09-290.8210298352026-10-07
SEAS_STOCKDerived22962026-09-25103424.356252026-10-07
UTIL_DEVDerived18602026-09-252.12026-10-07
SPR_FLOWDerived22912026-09-25-7852026-10-07
Linked, not copied
SourceWhy it is a link
OPEC Monthly Oil Market ReportOPEC holds the copyright. The tables are not copied.
IEA oil pagesIEA holds the copyright. Same treatment.
Baker Hughes rig countThe workbook is published for readers of that site. It is not mirrored here.
EIA futures pricesContracts 1 to 4 are stored. A longer board is an exchange quote.
CFTC disaggregated file067651 and 06765T are stored. The TFF report does not carry CL.

Changelog

Baseline snapshot. Retrieval 2026-10-07T10:00:55+00:00. 41 series. Validation against the source files is `scripts/verify.py`. The machine-readable log is data/changelog.json. A failed validation does not add a row.

Latest refresh, 2026-10-07T10:00:55+00:00
SeriesNow
CFTC_BRENT2026-09-29 3571 (770 rows)
CFTC_CL2026-09-29 122916 (874 rows)
CL1_MINUS_CL42024-04-05 2.67 (9449 rows)
COT_PCT2026-09-29 4.980842912 (874 rows)
COT_Z2026-09-29 -1.693210604 (874 rows)
CRACK_3212024-04-05 30.004 (4532 rows)
CRACK_GAP2024-04-05 13.265 (4532 rows)
CURVE_Z2024-04-05 1.52005774 (9449 rows)
CUSHING2026-09-25 24301 (1089 rows)
CUSHING_COVER2026-09-25 1.49480224 (1089 rows)
DGS102026-10-05 5.31 (16175 rows)
DGS10_MINUS_DGS22026-10-05 0.47 (12583 rows)

Ask the archive

Questions stay on the stored series, the derived metrics, and the studies. The reply has to come back with the rows it used. Anything else is refused. With a free Gemini key on the server, the model calls the same tools. With no key, the tools answer locally and the reply says so. There is no web search on this route.

The route refuses questions that leave the archive, including requests to ignore these rules. A free Gemini key stays on the server. No key means the same tools answer locally, and the reply says so. Neither path is financial advice.