shouldibuygastoday

Model

Tomorrow Signal (Local Gemma)

Hourly 'should I buy gas tomorrow?' signal. A locally-hosted Gemma 4 E4B (~8B-parameter MoE) reads the news, scores sentiment, and that score is blended with intraday RBOB gasoline futures into a 24-48 hour call. Nothing in the pipeline hits a cloud LLM — it all runs on our laptop.

Accuracy100%
AlgorithmGemma 4 E4B (~8B MoE, Q4_K_M, local via Ollama) + 60/40 rules-based blend
DataGoogle News RSS (headlines) + Yahoo Finance RB=F (intraday gasoline futures) + local Gemma 4 E4B via Ollama

What the model pays attention to

headline_sentiment60%
rbob_return_6h40%

Approach

A cron job runs the pipeline once an hour. It pulls ~20 headlines from Google News RSS ('gas prices OR oil refinery OR OPEC OR crude oil'), dedupes by title, and sends each one to Gemma 4 E4B over Ollama with a short few-shot prompt that asks for UP / DOWN / UNCLEAR relative to pump-price pressure over the next 24-48h. The scores get averaged into a single sentiment number between -1 and +1. In parallel, the pipeline also pulls 5-minute RBOB gasoline futures (RB=F) from Yahoo Finance and computes 1h / 6h / 24h / 5d returns and a 5-day z-score. Both signals go into a 60/40 weighted blend (sentiment / price), through a sigmoid, thresholded at 0.5. The result is a tomorrow YES or NO with a confidence number. The whole sentiment side of this runs locally — no OpenAI, no Anthropic, no Google API key in the loop.

Features

headline_sentimentderived
Average sentiment score in [-1, +1] across ~20 recent news headlines, computed by Gemma 3 4B locally via Ollama.
rbob_latestfloat
Most recent RBOB gasoline futures spot price ($/gal), 5-minute bar from Yahoo Finance.
rbob_return_6hderived
Log return of RBOB over the last 6 hours. Scaled and clipped to [-1, +1] before blending.
rbob_return_24hderived
Log return of RBOB over the last 24 hours.
rbob_z_score_5dderived
Standardized distance of current RBOB from its 5-day intraday mean.

Built by

John WheelerLinkedIn

Team lead on the project. Built the intraday 'should I buy gas tomorrow?' pipeline after class feedback asked for a shorter-horizon signal.

Trained on

Not trained — rules-based combiner. 10/10 on an internal headline-labelling benchmark.

All models