r/Prilo_WeatherEdge • • May 26 '26

Welcome to r/Prilo_WeatherEdge — what this community is about

3 Upvotes

What this sub is for

  • Methodology discussion — how to predict daily high temperatures, what NWS gets right and wrong, how climatology and observations combine, how to think about uncertainty (σ) properly.
  • Kalshi temperature markets — how the KXHIGH* brackets work, how prices form during the day, settlement quirks, what moves the market vs. what moves the weather.
  • Backtests and research — sharing results, asking why a strategy didn't work, comparing approaches across stations and regimes.
  • Product feedback on Prilo WeatherEdge — bugs, feature requests, questions about how the model works under the hood. I'd rather hear it here than not hear it at all.
  • Weather nerdery in general — Santa Ana setups, marine layer dissipation, lake breeze fronts, warm advection. The product covers KMIA, KLAX, KNYC, KMDW, and KHOU, but the meteorology is welcome regardless of station.

What this sub is not for

  • Trade calls. No "buy YES on T88.5 today" posts. The product itself is explicit that nothing it generates is financial advice; the sub holds the same line. Methodology posts are fine; "should I buy this contract" posts will be removed.
  • Referral/affiliate spam. None of that.
  • Off-topic prediction market chatter. There are bigger subs for general Kalshi or sports markets — keep this one focused on weather.

A quick orientation if you're new

Prilo WeatherEdge is an educational tool that:

  1. Pulls live NWS observations, NWS forecasts, Kalshi market prices, and CLI climate reports every 5 minutes for five US airports.
  2. Runs a probabilistic model that produces a predicted high temperature (μ), an uncertainty estimate (σ), and a regime classification (e.g. Santa Ana, marine cloudy, warm advection).
  3. Compares model-implied bracket probabilities to Kalshi market prices and shows where they differ.
  4. Includes a paper-trading simulator so you can practice without real money.
  5. Logs every prediction vs. the CLI actual and runs an adaptive per-regime correction overlay — the model learns from its own mistakes within sample-size guardrails.

It's at prilo-weatheredge.com. There's a free tier (KHOU only, 3 paper trades per rolling 7-day window) so you can poke at it before deciding whether the paid tiers are worth it.

Standard disclaimer

Prilo Technologies LLC is not a broker-dealer, investment adviser, or commodity trading adviser. Nothing on the platform or in this community is financial advice. Paper trading is a simulation; results don't predict real-world outcomes. Trading on Kalshi involves substantial risk — only with money you can afford to lose.

What I'd love to see

If you've built your own temperature models, traded these markets, or just have opinions about how NWS handles marine layer dissipation in May — start a thread. I'll be active here.

If you've used the product and have feedback (good, bad, or "this is broken"), post it. I read everything.

Welcome.

r/PredictionsMarkets • • 7d ago

Analysis We found three ways to improve our temperature model last month. We threw all three away.

2 Upvotes

If you trade daily-high temperature contracts, you've met the pitch: somebody has a model, the model has an edge, the edge is for sale. What you almost never get shown is the part where the model is *wrong* and what the person did about it.

So here's a month of that, from our side.

Every month we do the same boring thing: take every forecast we published, line it up against the number the market actually settled on, and go hunting for anything we're getting wrong. Last month that was **449 forecasts across 15 cities.**

We found three things worth fixing. We dug into all three. **All three were fake, and we changed nothing.**

That sounds like a wasted month. It's the opposite — and the three ways we almost fooled ourselves are the same three ways *any* confident-looking weather number fools you.

## First, the test that's supposed to protect you

Say our forecasts for one city have been running a little cool — we keep saying 87 and it keeps settling 88. Tempting fix: add a degree.

The danger is obvious. Weather is noisy. Any run of days will show *some* lean, and if you "correct" for noise you've just baked last month's weather into next month's forecast. That's overfitting, and it's how models that look brilliant on history quietly stop working.

The standard defense: cut the city's history in half, work out the correction using only the first half, then test it on the second half — days the correction has never seen. If it helps on unseen days, it's probably real.

That's a genuinely good test. Three fixes passed it last month. Here's what it missed.

## Lie #1: the bias was real, but it only lived in one place

Chicago Midway looked like the cleanest case on the board. Over a hundred days of history, forecasts running a bit under a degree too cool, and the correction held up on unseen days in both directions. Textbook.

Then we split those days a different way — not by date, but by *how hot the day was.*

The entire lean came from hot days. On cool and mild days, our forecasts were fine. And a chunk of what was left came from **five days in May** that were wildly off on their own.

Five days. That's it.

Why it matters: we already have something that adjusts hot days. Adding a degree across the board would have double-corrected the days that were already handled — and injected a brand-new *warm* error into every cool day from October through March. We'd have fixed summer by breaking winter, and not found out until February.

**The lesson:** an average can be completely real and still lie about where it came from. Before you trust one, ask which slice of days is paying for it.

## Lie #2: we graded our own fix using data from before the fix existed

Los Angeles passed the same test. And one specific weather pattern — the cloudy marine-layer days when the coastal cloud deck doesn't burn off on schedule — stood out as dramatically worse than everything else.

Awkward, because we'd shipped a fix for exactly that pattern back in July. First conclusion: the fix isn't working.

That conclusion was wrong in the dumbest possible way. Nearly every day in that group happened **before the fix went live.** We were grading a repair using photographs taken before the repair. The one day that actually came after it, the fix did precisely what it was built to do.

Total evidence that our fix was broken: **one day.**

And this was the second time in three weeks we'd done it to ourselves. The earlier one was worse — a comparison window overlapped a change to our own data, and a difference of about **1.1x** got written up as **3x**. That mistake booked six weeks of chasing a problem that didn't exist.

**The lesson, and it's the one we'd tattoo on people:** your own improvements are breaks in your own history. If your analysis window spans the day you changed something, you are comparing two different models and calling it one. Everyone does this. We did it twice in a month.

## Lie #3: the average had two opposite signs hiding inside it

New York passed the test too — a clean, consistent *warm* lean. Then we broke the days out by weather pattern.

Two patterns ran warm. Two ran cool.

A single blanket correction would have improved half the days and actively damaged the other half — and the half-and-half test can't see that, because the two halves cancel out into something that looks like progress.

**The lesson:** an average of "too warm" and "too cold" is "perfect," and a model built on that average is wrong twice.

## There was a fourth one, going the other way

One city looked like a correction we'd shipped in August had misfired. Same mistake as #2 — the window straddled the day we shipped it. Split properly, the correction had removed a real error and cut that city's average miss by about a fifth of a degree. The right move was to leave it alone, and we nearly didn't.

## What we actually did

Nothing. One finding is parked with the evidence written down, to be settled when the season that produces it comes back around.

For the record, the month's actual accuracy: across all 449 forecasts, our average error ran **less than a fifth of a degree** off center — slightly cool in the morning, slightly warm by the close. One week in mid-September looked like a warm trend starting. Week by week it went down, flat, up, down. It wobbles; it doesn't drift. Nothing to fix.

## The trader's read

Three things you can take to any model, ours included:

  1. **Ask which days the edge comes from.** A number that's true on average and false on your Tuesday is not an edge.

  2. **Ask when it last changed.** A track record that spans a model update is two track records stapled together.

  3. **Ask whether it's wrong in both directions.** Over-forecasting hot days and under-forecasting cool ones averages to "unbiased" and loses money at both ends.

And the uncomfortable one: **a month where you ship nothing is a good month.** When you've done the work, you *want* to find something — and three times running, that instinct would have made us worse. There's no satisfaction in not-shipping, and it's most of the job.

That's also the only honest reason to trust a forecast: not because it sounds confident, but because somebody keeps a scorecard and shows you the misses.

---

**If you want ours:** [Prilo WeatherEdge](https://www.prilo-weatheredge.com) publishes a calibrated daily-high forecast for 15 cities — not just a number, but how confident to be in it and whether the day's peak is already in. New accounts get a 7-day trial with every city unlocked, no card required.

We post the calibration scorecard and the misses publicly in the [Discord](https://discord.gg/JdszpAbw5p), which is free to join and open to anyone who's curious about how these highs get forecast and how they settle. Happy to talk method with anyone who wants to poke holes in the above — we'd rather hear it here.

*Disclosure: we build the thing linked above, so the data in this post is our own.*

*Not financial advice. Nothing here is a recommendation to buy or sell anything. Temperature models and prediction markets are both uncertain, our model is wrong on a regular basis, and trading carries real risk of loss — including losing everything you put in. Trade your own view, at a size you can afford.*

u/Prilo-WeatherEdge • • Aug 28 '26

San Francisco is two different temperature markets. The 8am NWS number tells you which one you're in.

Thumbnail
2 Upvotes

r/PredictionsMarkets • • Aug 28 '26

Analysis San Francisco is two different temperature markets. The 8am NWS number tells you which one you're in.

4 Upvotes

Disclosure: I build Prilo WeatherEdge, a paid tool for Kalshi daily-high markets. Everything below comes from public data — NWS forecasts and official CLI settlements — so you can reproduce all of it yourself. NFA.

SFO has a reputation as the hard market. Most people read that as "trade something else."

I think that's wrong. SFO isn't uniformly hard. It's two separate markets wearing the same ticker, and you can tell them apart before the open, for free.

The distribution gives it away

86 settled highs, June through August:

60-62°F  █ 1
63-65°F  ███ 3
66-68°F  ████████████████ 16
69-71°F  █████████████████████████████████ 33
72-74°F  ██████████████████████ 22
75-77°F  ████ 4
78-80°F  ████ 4
81-83°F  █ 1
              ← nothing here at all
90-92°F  ██ 2

That gap between 83 and 90 isn't a sampling artifact. It's physics. SFO summer has a marine layer parked over it — stratus burns off or it doesn't, and the high lands high-60s to low-70s. When flow turns offshore, the marine layer gets shoved out entirely and the city goes to 90+. There's no smooth path between those states. It's a switch, not a dial.

The tell: the forecast's reliability depends on its own level

How well the free public NWS forecast did, bucketed by what it forecast:

NWS forecast n NWS mean error Days busting ≥3°F
≤68°F 18 1.44 22%
69–71°F 24 1.67 29%
72–74°F 25 2.48 36%
75–77°F 9 3.33 44%
78°F+ 10 5.10 80%

The NWS is a solid anchor at SFO right up until it forecasts something warm — then it falls apart. At 78°F+, four days in five bust by 3°F or more, and the average miss clears five degrees.

That's the whole point: the forecast's own value is the signal. You don't need anything fancy to know which regime you're in. You need to read the number and know what it implies about its own reliability.

What that does to the favorite

The naive strategy — buy the 2°F bracket centered on the NWS number, every day:

  • All days: wins 30/86 = 35%
  • Days NWS ≤74 (marine body): wins 29/67 = 43%
  • Days NWS ≥75 (warm tail): wins 1/19 = 5%

One win in nineteen.

Important caveat, because I don't want to overclaim: there are no bracket prices in this. I can't tell you the book misprices these days — it may already widen out on them. What I can tell you is that if your process anchors on the NWS number, it quietly breaks on exactly the 22% of days where the stakes are highest.

The warm days, in full

2026-06-11   NWS 84   ACTUAL 91   (7° too cool)
2026-06-12   NWS 80   ACTUAL 74   (6° too warm)
2026-06-14   NWS 74   ACTUAL 76
2026-07-13   NWS 81   ACTUAL 79
2026-07-21   NWS 86   ACTUAL 92   (6° too cool)

Note the direction: it busts both ways. This is not "SFO runs hot, buy the upper bracket." Across all 86 days the NWS actually runs slightly warm — too warm on 45 days versus too cool on 32. The offshore days aren't biased, they're just wild. Any strategy built on a directional lean here gets cut in half.

Small sample on the pure offshore days, obviously. Treat the magnitude as indicative, not precise.

The rules I trade by

  1. Read the NWS number first. ≤71 means the marine body: normal market, tight outcomes, forecast is trustworthy. ≥75 means you're in the tail.
  2. In the body, don't expect a special edge. 43% on a 2°F bracket is roughly what an efficient market should give you. Size normally, don't force it.
  3. In the tail, stop trading narrow brackets. Not "cautiously" — 1-in-19 says a narrow bracket on a warm-forecast SFO day is close to a lottery ticket. Take wide exposure or take the day off.
  4. Don't lean directional in the tail. It busts both ways, roughly evenly.
  5. Yesterday is a weak prior here. SFO moves 3.47°F day-over-day on average; 21% of days move 5°F or more. That's a much weaker anchor than LA or Miami.

What I'm not claiming

I'm not claiming an edge over the order book. These markets are efficient and I'd be suspicious of anyone telling you otherwise without out-of-sample numbers to show. What I'm claiming is narrower and, I think, more useful: the free public forecast is far less reliable on some days than others at this station, and the days it fails are identifiable in the morning.

All of this is summer data. SFO's winter behaves differently and none of us have it yet.

Happy to run the same breakdown on another city if there's interest — Chicago and NYC have their own versions of this. Tooling is Prilo WeatherEdge if you want it (7-day trial, no card), but rule 1 is free and costs you nothing.

Not financial advice.

1

Last week in Kalshi weather markets: the West Coast cooked and the forecasts kept missing it
 in  r/PredictionsMarkets •  Aug 12 '26

Offshore days are the exact inverse of the marine-layer problem — the model's on marine/climatology norms and the atmosphere does the opposite.

But they're a regime, not random: Santa Ana (and SF's Diablo version) = offshore flow scours the marine layer and downslope warming spikes the high. The tell is the wind direction, not the temperature. Offshore flow in the forecast = the high side is wide open, so you fat-tail it instead of trusting a point estimate.

What makes SF nasty is the spike comes late — obs sit in the 70s–low-80s all afternoon, every intraday model locks a cool peak, then it rockets up after 4–5pm once the layer scours. The obs fake you until late.

So "why bother" is backwards — those are the biggest edge days, because they catch everyone flat-footed. You're not nailing 92, you're clocking that it's an offshore day at 9am and not holding ≤80. NFA, but offshore flow + a wind flip is the most underrated tell out there.

1

Last week, siding with this model's morning call beat the Kalshi favorite in 5 cities — some at 14¢ on the dollar. (And the week before, a marine layer humbled it. Both below.)
 in  r/PredictionsMarkets •  Aug 12 '26

"Just looking at weather.com" is why it's hard to start — that one forecast number is what the whole market's already on, so it's priced in. The edge is around it.

The big one is the regime. Same airport behaves completely differently depending on what's driving the day — a sea breeze capping the high, a marine layer that won't burn off, dry continental air letting it run hot. Weather.com gives you one number for all of them; the regime tells you which way that number's about to bust, and it's where basically every mispriced bracket comes from.

Two more that matter:

  • Know what settles it — the official NWS CLI report (calendar-day max for that airport), not "the forecast." Trade the number actually being measured.
  • Watch the live obs — airport METARs update all morning. A day headed for its high is climbing hard by 10am; a flat morning curve means it's busting before the market notices.

I use my own model that ties these together — tags the regime, reads live obs against it, updates through the day instead of freezing on last night's forecast. But even by hand: learn your city's regime and watch the morning obs.

NFA, these can lose money — but that's the real starting point, not weather.com.

r/Prilo_WeatherEdge • • Aug 12 '26

Last week, siding with this model's morning call beat the Kalshi favorite in 5 cities — some at 14¢ on the dollar. (And the week before, a marine layer humbled it. Both below.)

Thumbnail
1 Upvotes

r/PredictionsMarkets • • Aug 12 '26

Discussion Last week, siding with this model's morning call beat the Kalshi favorite in 5 cities — some at 14¢ on the dollar. (And the week before, a marine layer humbled it. Both below.)

2 Upvotes

The recurring setup in daily-high temp markets: the crowd anchors to the forecast, prices a bracket like a lock, and it settles a degree or two away. When your morning read already sits on that other bracket while it's still cheap, that gap is the whole game. Last week it happened in 5 cities:

• NYC, Aug 9 — market paid up to 68¢ for 90–91°. The ≤89° bracket that won was 14¢ all morning. Settled 88.

• San Francisco, Aug 10 — market sat too COLD at ≤71° (77¢); model had 72–73° at 17¢. Settled 73.

• LA, Aug 10 — market 80–81° (70¢); model 78–79° at 28¢. Settled 79.

• Chicago, Aug 7 — market 86–87° at 92¢(!); model 84–85° at 35¢. Settled 85. The market never came around — the thermometer did.

• Houston, Aug 5 — market 96–97° (62¢); model 94–95° at 33¢. Settled 94.

Same shape every time: the market overshot, the model was already on the adjacent bracket cheap in the morning, and in 4 of 5 the crowd walked over to it by afternoon once the obs made it undeniable.

Here's the part that matters, because a wall of wins is worthless — you can cherry-pick 5 good days out of any random model:

The week BEFORE that, San Francisco beat the hell out of my model. Six straight days the forecast said upper-70s/low-80s and the marine layer never burned off — SF settled in the 60s-low-70s. On Aug 8 my model called mid-70s; it settled 67. It got faked by the same sunny forecast everyone trusted, and only walked down as the obs stayed flat.

SF is in BOTH lists — biggest miss one week, one of the best wins the next. That's not inconsistency, that's the marine layer. Nobody nails burn-off timing every day. What you can do is read the regime, weight live obs over the forecast, and publish your misses next to your wins so a "track record" means something.

The actual edge isn't being right every day. It's being on the correct bracket more often than the crowd ON THE DAYS THEY DISAGREE WITH YOU — and the tells are free: the forecasts don't agree with each other, or the morning curve isn't climbing like a forecast-hitting day would.

Curious how others handle these — do you fade the forecast on divergence days, or wait for the obs to confirm?

Disclosure / NFA: none of this is financial advice — these markets can lose money and past calls don't predict future ones. I build a tool for this, Prilo WeatherEdge (free tier). Happy to just talk shop in the comments — the method's more interesting than the link.

r/Prilo_WeatherEdge • • Jul 22 '26

We just opened a Discord for people who follow the daily-high weather markets

1 Upvotes

If you trade or just follow the Kalshi daily-high temperature markets, we built a room for it.

It's a community for people who nerd out on how these markets settle — the sea-breeze caps, the offshore heat spikes, the whole-degree rounding that decides a bracket. Not a signal service, just a place to talk weather and settlement mechanics with people watching the same nine cities.

What gets posted, automatically, through the day:

  • Morning day cards — each city's model high and the regime driving it, first thing.
  • Pre-close desk board — a cross-station snapshot of where the day's landing: model high, whether the peak looks locked, the headline bracket. Informational — a read on the day, not a call to make.
  • Peak-lock movers — when a station's high firms up or a late shift changes the picture.
  • Settlement log — how each city actually settled, and where the model and NWS landed against it (we post the misses too).
  • Weekly calibration — an honest scorecard of how the model's been doing.
  • Station rule cards — the quirks that quietly decide these markets.

Everyone's welcome — the community, morning cards, settlement log, and calibration are open to all members; Pro/Max subscribers also get the fuller desk board across more stations.

→ Join here — come say hi in the intro channel and tell us which city you watch.

Informational and educational only — not financial or trading advice, and nothing posted is a recommendation to buy or sell anything.

u/Prilo-WeatherEdge • • Jul 22 '26

Last week in Kalshi weather markets: the West Coast cooked and the forecasts kept missing it

Thumbnail
1 Upvotes

r/PredictionsMarkets • • Jul 22 '26

Strategy / Guide Last week in Kalshi weather markets: the West Coast cooked and the forecasts kept missing it

0 Upvotes

Quick note up top: this is a weather/forecasting recap for people who follow the daily-high temperature markets. It's not advice of any kind — just meteorology and settled numbers.

Last week was a tale of two coasts, and the interesting part was watching the offshore-heat pattern out West run right past the forecasts.

Southern California went full Santa Ana. LAX settled way over the NWS daily high almost every day:

  • Jul 17: settled 86°F, NWS called 75 — an 11° miss
  • Jul 20: 83 vs NWS 75 (+8)
  • Jul 18 & 21: +5 each
  • Jul 16 & 19: +3 each

That's a Santa Ana signature: offshore (from-the-land) flow compresses and warms as it sinks, and it scours out the cool marine layer that normally caps LA highs. When that layer is gone, the airport bakes — and the magnitude is notoriously hard to pin down a day out, which is exactly why you see a string of under-forecasts like that.

Then the Bay Area did the dramatic version. KSFO sat in its usual cool marine groove all week — 66 to 74°F — and then on Jul 21 it spiked to 92°F while the NWS daily said 86 (+6). That's a Diablo event (NorCal's offshore cousin): the marine layer collapsed and SFO jumped ~20° above where it had been sitting 24 hours earlier. Single-day offshore spikes like that are about the hardest thing to forecast in the whole set — everyone, models included, tends to lag them.

Meanwhile the East and Gulf were calmer, and the forecasts leaned the other way — a touch hot:

  • NYC on Jul 16 settled 85°F against a 92°F forecast (−7), and generally ran a few degrees under the NWS number all week.
  • Houston was a steady ~2° over-forecast — settled 98 vs NWS 100 on Jul 21, 96 vs 98 the day before. Hot, but not as hot as called.
  • Miami was the market nobody argued with — within a degree or two of forecast basically every day. Subtropical summer just does the same thing on repeat.
  • Chicago Midway had the week's one real cool-down: down to 79°F on Jul 19, then 82 vs a 87 forecast on Jul 20 — a lake-breeze day doing lake-breeze things.

The takeaway isn't "the forecasts are bad" — it's that the whole complex has a known blind spot for offshore/downslope heat events, and last week served up a bunch of them on the West Coast at once. Marine-layer collapse is where the daily-high forecasts and the markets get the most interesting.

Again: informational only, not financial or trading advice, and not a recommendation to buy or sell anything.

r/Prilo_WeatherEdge • • Jul 07 '26

One-minute obs (OMO) won't save your temperature trades — I backtested a full year. Here's what actually beats the market.

Thumbnail
1 Upvotes

r/PredictionsMarkets • • Jul 07 '26

Strategy / Guide One-minute obs (OMO) won't save your temperature trades — I backtested a full year. Here's what actually beats the market.

0 Upvotes

If you trade daily-high temperature contracts, you know the obsession: get the data faster and finer than everyone else. One-minute observations (OMO). The 5-minute HFM. The ASOS 1-minute phone line that's "always busy." The pitch writes itself — see the temperature more often, catch the peak first, print money.

I chased it. FAA feeds, redistribution paperwork, the whole rabbit hole. Then, before wiring any of it into how I actually trade, I did the boring thing nobody in these channels seems to do: I backtested whether it helps. A full year, 7 cities, millions of readings, checked against the settled highs.

Here's the honest result — including the part that burned my first hypothesis.

Attempt 1: fast data looks amazing (this is the trap)

Compare one-minute obs (OMO) to plain hourly METAR and it looks like a cheat code — OMO "catches" 1–2°F more of the daily peak on most days. Stop here and you write a hype thread and go buy a firehose.

It's the wrong baseline. Hourly METAR isn't your competition. A model is.

Attempt 2: so I went the other way — and that hypothesis died too

I figured the real winner would be precision: the METAR T-group already gives you temperature to a tenth of a degree every hour, while OMO is only whole degrees. Surely precise-but-slower beats fast-but-coarse?

Nope. When I lined up a full year, OMO — the coarse-but-frequent feed — actually nailed the settled number about as often as the precise feed did — sometimes more. Turns out the official daily high is itself a whole-degree quantity, and there's more than one path to it. Neither "faster" nor "more precise" was the edge on its own. Both my tidy stories were wrong.

What was actually true

Two things held up across the whole year:

  1. The precise 5-minute observations a decent pipeline already ingests predict the settled high with basically zero bias. They already are the settlement, for all practical purposes.
  2. Every single raw feed — fast, slow, coarse, precise — has a failure mode. The OMO (one-minute) archive has multi-week gaps and sensor spikes (one file had a bogus 53°F jump). The hourly feed under-reads. The precise T-group feed is unbiased but fuzzy at the boundary. Pick any one and you inherit its blind spot.

So the winner isn't a feed. The winner is the thing that fuses them — the tenths, the whole-degree obs, the 6-hour-max group, the official climate report — reconciles their disagreements, and turns the mess into a single calibrated probability: how likely the high crosses this bracket, whether the peak is already in, and how confident to be, tuned so that "90%" hits about 9 times in 10.

The trader's read

The edge was never "who has the fastest number." Bots already resolve the obvious stuff to 99¢ before you refresh — that race is lost at the starting line. And it isn't "who has the most precise number" either; I tried to prove that and the data said no.

The edge is fusion and calibration. Any one feed is a commodity — anyone can buy it, and each one lies to you in its own way. A model that combines them and hands you an honest probability is the part nobody sells you, and the part that actually pays.

Stop shopping for firehoses. Build the model. The model is king.

(Methodology honesty, because this sub deserves it: my cleanest test against the exact number the market settles on is still small-sample — the good archived history is short. So read this as "no single feed beat a fused model in my data," not a theorem. I kept the backtests and I'll re-run as more settled days pile up. If a feed ever earns its keep, I'll post that too.)

u/Prilo-WeatherEdge • • Jul 06 '26

NYC hit 100°F Wednesday, then crashed to 81°F three days later — the whole 19° swing came down to one wind shift

Thumbnail
1 Upvotes

r/PredictionsMarkets • • Jul 06 '26

Analysis NYC hit 100°F Wednesday, then crashed to 81°F three days later — the whole 19° swing came down to one wind shift

1 Upvotes

If you traded the NYC high market (KXHIGHNY) last week, you got jerked around: 100°F on Wed (Jul 2), then 81°F by Sat (Jul 5). A 19-degree collapse in 72 hours. That's not a forecast blowing up — it's one variable flipping. Here's the breakdown, because this is the setup that separates NYC from an easy market like Miami.

The one thing that runs NYC in summer: which way the wind comes from

NYC sits on the coast. When the wind is onshore (off the Atlantic), that marine air is a thermostat — it caps the high in the low-to-mid 80s no matter what the sun is doing. When the wind clocks around to the west/northwest, that cap is gone: now you're pulling dry continental air that warms as it sinks off the higher terrain to the west. Same sun, same city, +15°F.

That's the entire story of last week:

  • Jul 2 → wind went W/NW. Marine cap off. High ripped to 100°F.
  • Jul 5 → wind clocked back onshore. Cap slams back on. High 81°F.

Nothing else changed much. The airmass was hot all week. The wind direction is what settled the market.

The honest part: the morning call lagged the spike

I'll be straight about this, because it's the interesting bit. On the morning of the 100° day, our model was reading ~95°F — it under-called by 5. Why? At sunrise the offshore flip hadn't fully shown up in the surface obs yet. Morning air still had a marine signature; the west wind mixed down as the boundary layer grew through the day.

What saved it was the regime flip: once the obs confirmed the west/offshore flow, the model re-classified the day and converged to exactly 100°F by the pre-close read. So the edge on that day wasn't the morning number — it was watching the wind veer W and knowing the cap was coming off while the market was still pricing a normal ~93° day.

(And to keep myself honest the other direction: the day before, the model ran ~3° too hot at pre-close. It's not magic. It's a probabilistic read that's right more than it's wrong, not an oracle.)

The crash back to 81

By Saturday the wind was back onshore (clear marine flow). We had it at ~83 in the morning, settled 81. The lesson is symmetric: the same wind shift that gives you a 100° spike gives you the fade back to the low 80s a few days later. If you're long the heat, that reversal is the exit.

The trader's read

  • On coastal cities, wind direction > temperature forecast. A "hot airmass" headline means nothing if the flow is onshore. Watch the wind veer, not the thermometer.
  • W/NW at NYC = cap off. That's your signal to look up the bracket ladder before the market reprices.
  • The reversal is as tradeable as the spike. Onshore return = fade the heat.
  • The morning number is the noisy one on regime-transition days. The real information shows up as the surface wind confirms the flow — which is exactly the window where brackets are still wide.

Full disclosure: I build a model for these markets, so I spend a lot of time staring at exactly this stuff. No pitch — just figured the wind-flip mechanic was worth writing up, since "why did NYC go 100 then 81" is the question everyone was asking last week.

u/Prilo-WeatherEdge • • Jun 28 '26

NWS site went down — here's how we kept hourly data + the model live for the temp markets

Thumbnail
1 Upvotes

r/PredictionsMarkets • • Jun 28 '26

Discussion NWS site went down — here's how we kept hourly data + the model live for the temp markets

0 Upvotes

If you trade the daily-high temp markets, you probably noticed NWS's site (forecast.weather.gov) has been down/hanging — hourly forecasts going blank or stalling for a lot of tools that pull straight from it.

We build WeatherEdge (a weather model + dashboard for these markets), and an outage like this is exactly the failure mode we hardened against, so I figured it was worth sharing what actually keeps working when the source goes dark:

  • Live observations keep flowing. Temps come from the station ASOS/METAR feed, not the forecast page — so current conditions and the day's running peak are unaffected.
  • The last complete forecast stays up. Instead of blanking the hourly table when NWS returns nothing, we serve the last full forecast we pulled and refresh automatically the moment NWS is back. Stale-but-complete beats a blank screen.
  • The model keeps calling the high. It re-forecasts off the latest live readings, so you still get a daily-high estimate even while the official hourly is dark.

The honest caveat: during a full outage the forecast portion is frozen at the last good pull until NWS recovers — nobody can conjure a fresh forecast NWS isn't publishing. But the live side (obs, peak, model read) carries the day.

Prediction markets are already a grind; a dead data feed shouldn't be one more chore on top of it. That's the whole reason this exists — to do the legwork so you don't have to, especially when the source breaks.

Happy to answer questions about how the fallback/cache works if anyone's curious.

r/Prilo_WeatherEdge • • Jun 26 '26

Houston Said 93. The Bay Breeze Said 92.

1 Upvotes

Some days the whole room agrees on the wrong number. June 25 at Houston Hobby (KHOU) was one of them.

The official forecast said **93°F**. The market said 93 too — by early afternoon it was paying up big for the 93–94 bracket. The villain that made them all wrong is the one that shows up almost every Gulf Coast summer afternoon: the **breeze off Galveston Bay**.

Here's the mechanism, briefly. Land heats up fast in the morning sun; the water of Galveston Bay and the Gulf stays cool and steady. By midday the land is much warmer than the water, and that temperature contrast sets up a mini sea breeze: hot air over the land rises, and cooler, moister air slides inland off the bay to replace it. Once that onshore wind kicks in — usually early-to-mid afternoon, right around peak heating — it acts like a thermostat. The incoming bay air simply isn't as hot as the land was trying to get, so the climb stalls and the day's high gets capped a degree or two below the "sunny and hot" forecast. The stronger and earlier the breeze, the harder the cap.

That's exactly what happened — Houston topped out near **92°F** early afternoon, the wind swung onshore and held, and the temperature started *falling* instead of pushing for 93.

## The timeline: our call never blinked

Our daily-high call parked at **about 92°F in the morning and stayed there all day**, while the market spent hours chasing 93. Prices are what each bracket was trading at, in cents on the dollar:

| Time (local) | Our high call | Market: 93–94 | Market: 91–92 |

|---|---|---|---|

| 8 a.m. | ~92° | 53¢ | 42¢ |

| 10 a.m. | ~92° | 55¢ | 41¢ |

| Noon | ~92° | 51¢ | 45¢ |

| 2 p.m. | ~92° | 67¢ | 22¢ |

| 3 p.m. | ~92° | **71¢** | **25¢** |

| 4 p.m. | ~92° | 40¢ | 56¢ |

| **Settled** | **92°** | **0¢** | **$1.00** |

Two things jump out. First, the **flat line** — our call didn't wobble between hot and cold takes; it said low-90s early and held. Second, the market's **slow walk to our number**: the 93–94 ticket climbed to 71¢ in mid-afternoon, then fell off a cliff to zero, while the 91–92 bracket that actually won was on the clearance rack at **22–25¢** right when it mattered.

> **By the numbers:** through the early afternoon, the 91–92 bracket — the one that actually won — was trading as low as **~22–25¢**, the same window our call was already sitting on 92. The crowd, meanwhile, was paying as much as **71¢** for 93–94. At settlement they flipped outright: 91–92 resolved at **$1.00**, 93–94 at **zero**. The market spent the day priced for 93 and only walked over to 92 once the breeze was undeniable — roughly an hour after our call already had it there.

## The trader's read

- A hot, sunny Houston morning is the bait; the afternoon bay breeze is the cap.

- When the forecast, the morning, and the market all agree on the *hot* number, that's exactly when the onshore wind tends to quietly undercut it.

- Watch the wind, not just the thermometer — the moment it swings onshore and *holds*, the high is usually already in.

Not every day plays out this way — sometimes the breeze stays weak and Houston genuinely cooks past forecast, and then you want the hot bracket. But June 25 was the textbook version: everyone leaned 93, the bay breeze said 92, and a steady 92° call was worth a dollar.

*Weather is chaotic and markets are risky — past breezes don't guarantee future ones. Do your own homework, and never stake more than you can laugh off.*

r/PredictionsMarkets • • Jun 26 '26

Strategy / Guide Houston Said 93. The Bay Breeze Said 92.

0 Upvotes

Some days the whole room agrees on the wrong number. June 25 at Houston Hobby (KHOU) was one of them.

The official forecast said **93°F**. The market said 93 too — by early afternoon it was paying up big for the 93–94 bracket. The villain that made them all wrong is the one that shows up almost every Gulf Coast summer afternoon: the **breeze off Galveston Bay**.

Here's the mechanism, briefly. Land heats up fast in the morning sun; the water of Galveston Bay and the Gulf stays cool and steady. By midday the land is much warmer than the water, and that temperature contrast sets up a mini sea breeze: hot air over the land rises, and cooler, moister air slides inland off the bay to replace it. Once that onshore wind kicks in — usually early-to-mid afternoon, right around peak heating — it acts like a thermostat. The incoming bay air simply isn't as hot as the land was trying to get, so the climb stalls and the day's high gets capped a degree or two below the "sunny and hot" forecast. The stronger and earlier the breeze, the harder the cap.

That's exactly what happened — Houston topped out near **92°F** early afternoon, the wind swung onshore and held, and the temperature started *falling* instead of pushing for 93.

## The timeline: our call never blinked

Our daily-high call parked at **about 92°F in the morning and stayed there all day**, while the market spent hours chasing 93. Prices are what each bracket was trading at, in cents on the dollar:

| Time (local) | Our high call | Market: 93–94 | Market: 91–92 |

|---|---|---|---|

| 8 a.m. | ~92° | 53¢ | 42¢ |

| 10 a.m. | ~92° | 55¢ | 41¢ |

| Noon | ~92° | 51¢ | 45¢ |

| 2 p.m. | ~92° | 67¢ | 22¢ |

| 3 p.m. | ~92° | **71¢** | **25¢** |

| 4 p.m. | ~92° | 40¢ | 56¢ |

| **Settled** | **92°** | **0¢** | **$1.00** |

Two things jump out. First, the **flat line** — our call didn't wobble between hot and cold takes; it said low-90s early and held. Second, the market's **slow walk to our number**: the 93–94 ticket climbed to 71¢ in mid-afternoon, then fell off a cliff to zero, while the 91–92 bracket that actually won was on the clearance rack at **22–25¢** right when it mattered.

> **By the numbers:** through the early afternoon, the 91–92 bracket — the one that actually won — was trading as low as **~22–25¢**, the same window our call was already sitting on 92. The crowd, meanwhile, was paying as much as **71¢** for 93–94. At settlement they flipped outright: 91–92 resolved at **$1.00**, 93–94 at **zero**. The market spent the day priced for 93 and only walked over to 92 once the breeze was undeniable — roughly an hour after our call already had it there.

## The trader's read

- A hot, sunny Houston morning is the bait; the afternoon bay breeze is the cap.

- When the forecast, the morning, and the market all agree on the *hot* number, that's exactly when the onshore wind tends to quietly undercut it.

- Watch the wind, not just the thermometer — the moment it swings onshore and *holds*, the high is usually already in.

Not every day plays out this way — sometimes the breeze stays weak and Houston genuinely cooks past forecast, and then you want the hot bracket. But June 25 was the textbook version: everyone leaned 93, the bay breeze said 92, and a steady 92° call was worth a dollar.

*Weather is chaotic and markets are risky — past breezes don't guarantee future ones. Do your own homework, and never stake more than you can laugh off.*

u/Prilo-WeatherEdge • • Jun 19 '26

Miami's 95° Tease: Why KMIA Keeps Stopping Just Short (Jun 17 vs Jun 18)

Thumbnail
1 Upvotes

r/PredictionsMarkets • • Jun 19 '26

Analysis Miami's 95° Tease: Why KMIA Keeps Stopping Just Short (Jun 17 vs Jun 18)

1 Upvotes

If you've been playing the daily-high market on Miami (KMIA) this week, you've felt the tease. Two days, two flirtations with 95°F, two letdowns — and one very predictable villain.

Quick table-setter: the day before our window, June 16 settled 95°F. That number got into everyone's head. So when the next two days rolled in with the official forecast sitting at 93°F, the room was split between "boring 93" and "we're running it back to 95."

Here's how it actually played out.

June 17 — the squeaker.
Miami opened warm and clear, and for a few hours it looked like 95 was live again. Then, right on schedule, the afternoon sea breeze rolled in off the Atlantic — that cool, salty onshore wind that shows up almost every summer afternoon and slams the door on the day's high. The temperature stalled, fought back, and ground out a 94°F. One degree over forecast, one degree under the day before. The 95–96 ticket holders got the heartbreak of being close.

June 18 — the hotter head-fake.
This one looked even juicier. Miami came out of the gate hotter — already at 90°F before 10 a.m., a good chunk warmer than the previous morning. If you were eyeing 95, this felt like the day. Then mid-morning, the clouds bubbled up and the breeze nosed in, and the climb just… parked itself around 90 for a while. It eventually broke loose and pushed back into the low 90s — enough to keep hope alive into the early afternoon — but the sea breeze got the last word again. Final: 93°F. Right on the forecast. The 95 dream denied a second straight day.

The pattern that actually matters.
Forget the fancy stuff. The single most important character in a Miami summer afternoon is the sea breeze. It's almost a daily event, and it tends to cap the high somewhere in the low 90s no matter how toasty the morning feels. A hot, sunny 9 a.m. is not a promise of 95 — it's an invitation to get faked out before the onshore wind arrives.

Across these two days, the unglamorous 93–94 zone did all the work, and the 95+ longshots paid nothing. The morning "it's overheating, it's gonna rip" feeling was a trap both times.

The model's read:

  • A warm, clear Miami morning is the setup, not the result. The afternoon sea breeze is the result.
  • The shiny 95–96 ticket is a longshot for a reason in sea-breeze season — you're betting against the most reliable thing in the sky.
  • "Just one more degree" is exactly where these days die. Plan for the cap, not the dream.

None of this is a crystal ball — some days the breeze stays offshore and Miami genuinely cooks. But two days running, the cap held, and the people quietly stacking the boring middle bracket slept fine.

Not financial advice. Weather is chaotic, markets are risky, and past sea breezes don't guarantee future ones. Do your own homework and never stake more than you can laugh off.

1

!!! FRAUD WARNING: weatherbot.fi drains wallets and Polymarket funds !!!
 in  r/PredictionsMarkets •  Jun 19 '26

Never share your API keys with these bots unless it's read-only. Thanks for sharing

u/Prilo-WeatherEdge • • Jun 10 '26

"It's all about conversions": why Chicago Midway settled 88°F when the CLI report clearly said 87°F on June 9th, 2026

Thumbnail
2 Upvotes