Wallet: 0x044f334595a7fd42c143e11c8ec47f23c8d1d1f1
Window: 2026-04-18 to 2026-05-10 (23 calendar days, 23 active)
Universe: 13,004 trades · 1,301 markets · 583 events · $162,860 gross turnover
Net resolved-BUY P/L: +$10,188 on $109,765 deployed = +9.28% ROI in 23 days
P/L methodology: Cash-flow accounting on resolved BUYs. Each resolved-BUY position P/L = shares won (at $1.00 each) minus USDC spent, or negative USDC spent on a loss. SELL-side trades are tracked separately; the dominant P/L source here is settlement payouts, not active exits. The resolved-BUY baseline accounts for 11,504 of 11,505 BUY trades (one remains open).
The Punchline
GGHFF is a daily temperature distribution forecasting bot operating exclusively on Polymarket's "Will the highest temperature in [City] be [X] on [Date]?" markets. Every single trade in the 23-day window belongs to this one product category. No crypto, no sports, no politics. Weather only.
The strategy's mechanics are visible immediately in the CSV: for any given city on any given day, Polymarket lists a ladder of adjacent temperature bucket markets (e.g. Miami April 29: "82-83F?", "84-85F?", "86-87F?", "88-89F?", "90+F?"). GGHFF buys across multiple buckets within the same event. He has 583 unique events but 1,301 unique markets, meaning an average of 2.2 markets per event. He is spreading capital across the temperature distribution rather than making a single point-estimate bet.
The source of profit is probabilistic skill: his model (almost certainly a numerical weather prediction or ensemble forecast) assigns higher probability to the correct temperature bucket than the Polymarket CLOB does. Over 11,504 resolved bets, his aggregate win rate is 56.3%, and the price-band calibration confirms this is systematic rather than lucky. The ROI is modest (+9.3%) but it is real, it is consistent, and it is generated by a structurally repeatable information advantage.
The SELL engine is secondary. Only 1,499 of 13,004 trades are SELLs (11.5%). The bot holds the overwhelming majority of positions to settlement. This is the opposite of SirMartingale's aggressive-exit model and consistent with a forecaster who is confident in his model's directional call and willing to wait for the binary settlement.
What He Trades
The universe is weather temperature markets, globally distributed:
From the top markets by P/L and top markets by volume, the city roster includes: Singapore, Miami, Warsaw, Houston, London, Seoul, Istanbul, Shenzhen, Los Angeles, New York City, Wellington, Moscow, Ankara, Dallas, San Francisco, Seattle, Toronto, Paris, Madrid, Munich, Sao Paulo, Jakarta, Beijing, Cape Town, Atlanta, Chicago, and more. This is a global weather coverage bot, not a regional specialist.
The market structure within each event: for a city on a date, there are typically 5-8 parallel bucket markets (e.g. "33C", "34C", "32C", "31C", "35C or higher", etc.). The bot buys the buckets it likes and skips or avoids the ones it doesn't. Within a given event, it may buy 2-5 different bucket outcomes.
Both-sides participation is 10.8% of markets. This is meaningful: in 141 markets, the bot bought both outcomes (typically adjacent temperature buckets within the same event). The median paired cost is $0.91, which means these paired positions lock in a minimum guaranteed profit of $0.09 per dollar of paired notional at resolution.
The top market by P/L is illustrative: "Will the highest temperature in Singapore be 33C on May 10?" with 121 trades, $1,555 volume, and +$996 P/L on 120 resolved wins out of 120 resolved trades. That's a 100% win rate on a large position. The bot knew it would be 33C in Singapore on May 10 with high confidence, hammered the position with 121 fills across the orderbook, and collected at settlement.
The worst markets are the mirror image: "Will the highest temperature in Beijing be 33C on May 10?" with 28 trades, $299 volume, and -$299 P/L (0 wins, 0 losses, all losses). The bet on Beijing 33C was wrong and cost the full deployed notional.
| Top 5 markets by P/L |
Trades |
Volume |
P/L |
WR |
| Singapore 33C, May 10 |
121 |
$1,555 |
+$996 |
100% |
| Singapore 34C or higher, Apr 23 |
40 |
$1,185 |
+$769 |
100% |
| Singapore 33C, Apr 22 |
78 |
$1,144 |
+$713 |
100% |
| Seoul 21C or higher, May 6 |
52 |
$203 |
+$570 |
100% |
| Miami 86-87F, Apr 30 |
27 |
$252 |
+$530 |
100% |
| Worst 5 markets by P/L |
Trades |
Volume |
P/L |
WR |
| Beijing 33C, May 10 |
28 |
$299 |
-$299 |
0% |
| Warsaw 23C, May 11 |
19 |
$296 |
-$296 |
0% |
| Istanbul 25C or higher, May 11 |
8 |
$293 |
-$293 |
0% |
| Chengdu 33C or higher, May 11 |
97 |
$291 |
-$291 |
0% |
| NYC 62-63F, May 8 |
34 |
$277 |
-$277 |
0% |
The asymmetry between wins and losses is structurally interesting: many wins are at 100% WR (high-confidence singular outcomes) while all the worst losses are at 0% WR (wrong-bucket bets that resolved entirely against). This is the signature of a temperature forecasting strategy: when you're right about which bucket wins, you sweep all your bucket fills; when you're wrong, you lose every dollar in the wrong bucket.
The Order of Operations - One Event, Market by Market
The clearest single-event trace is the Singapore April 18 temperature event. Polymarket opened markets for Singapore's daily high on April 18 covering multiple Celsius buckets. The CSV shows activity across the highest-temperature-in-singapore-on-april-18-2026-* event with different outcome slugs.
Singapore temperature event, April 18, 2026 - Bot activity trace:
| Time (UTC) |
Market |
Outcome |
Side |
Shares |
Price |
USDC |
Running Net |
| 00:13:00 |
Singapore 32C, Apr 18 |
No |
SELL |
196.49 |
$0.999 |
+$196.29 |
+$196.29 |
| 03:13:00 |
Singapore 34C, Apr 18 |
Yes |
BUY |
31.36 |
$0.31 |
-$9.72 |
+$186.57 |
| 03:14:50 |
Singapore 33C, Apr 18 |
No |
BUY |
65.00 |
$0.42 |
-$27.30 |
+$159.27 |
| 03:18:40 |
Singapore 34C, Apr 18 |
Yes |
BUY |
80.00 |
$0.36 |
-$28.80 |
+$130.47 |
| 03:22:14 |
Singapore 33C, Apr 18 |
No |
BUY |
17.54 |
$0.43 |
-$7.54 |
+$122.93 |
| 03:24:00 |
Singapore 33C, Apr 18 |
No |
BUY |
70.00 |
$0.41 |
-$28.70 |
+$94.23 |
| 03:24:04+ |
Singapore 34C, Apr 18 |
Yes |
BUY (9x) |
5-25 ea |
$0.37 |
-$16.58 |
+$77.65 |
| 03:37:44 |
Singapore 33C, Apr 18 |
No |
BUY |
72.65 |
$0.34 |
-$24.70 |
+$52.95 |
| 03:39:02 |
Singapore 33C, Apr 18 |
No |
BUY |
1.52 |
$0.34 |
-$0.52 |
+$52.43 |
| 04:26:20 |
Singapore 33C, Apr 18 |
No |
BUY |
5.20 |
$0.46 |
-$2.39 |
+$50.04 |
| 04:27:12 |
Singapore 33C, Apr 18 |
No |
BUY |
1.85 |
$0.46 |
-$0.85 |
+$49.19 |
Walk-through:
-
00:13 UTC SELL of 33C "No" position: The bot exits a prior "Singapore will NOT be 32C" position (No = temperature is something other than 32C) at $0.999, collecting $196.29. This is a nearly-certain position approaching settlement - the bot is getting out at near-certainty prices before the market closes. This illustrates the SELL pattern: small fraction of positions are exited when the implied probability goes above $0.95.
-
03:13-03:18 UTC: Fan-out across 34C and 33C buckets. The bot opens fresh positions on the 34C "Yes" (temperature will reach 34C) at $0.31-$0.36, and "No" on the 33C market (temperature will exceed 33C range). This is a paired structure: if the temperature lands at 34C, both the 34C Yes and the 33C No win together. He's constructing a linked position that pays double if his forecast (34C) is correct.
-
03:24 multi-fill burst on 34C: Nine separate fills between 03:24:00 and 03:24:04 all hitting Singapore 34C Yes at $0.37. This is the fan-out execution signature: the bot walks the orderbook across all available ASK levels simultaneously, splitting the order into small clips to minimize market impact on a thin CLOB.
-
Resolution: Singapore's April 18 high was 34C or higher (the "34C Yes" resolved correct, the "33C No" resolved correct). Both sides of the paired trade won. The total deployed across both buckets on this event was approximately $119, and the settlements paid out on the winning shares.
The SELL at 00:13 on the "32C No" position (which means "temperature is above 32C") at $0.999 is also noteworthy: this position was accumulated earlier on a prior day when it was far from certain, and by the morning of April 18 it was approaching certainty. The bot occasionally exits positions approaching settlement rather than holding to zero-risk resolution - likely to recycle capital into the next day's markets faster.
Why It Works - The Math
The strategy's EV comes from a calibration premium: the bot's weather model is more accurate than the crowd-derived CLOB prices.
| Price band |
Implied probability |
Realized win rate |
Premium |
| $0.20-$0.30 |
25% |
30.8% |
+5.8 ppt |
| $0.30-$0.40 |
35% |
37.1% |
+2.1 ppt |
| $0.40-$0.50 |
45% |
49.8% |
+4.8 ppt |
| $0.50-$0.60 |
55% |
62.6% |
+7.6 ppt |
| $0.60-$0.70 |
65% |
67.7% |
+2.7 ppt |
| $0.70-$0.80 |
75% |
83.9% |
+8.9 ppt |
| $0.80-$0.90 |
85% |
93.1% |
+8.1 ppt |
Every price band shows a positive premium (realized WR above market-implied probability). This is not noise - it is a systematic calibration advantage across the full price spectrum. The bot is beating the crowd in every band.
EV per USDC deployed (example: $0.70-$0.80 band):
Realized WR: 83.9%
Win payout per $: $1 / $0.75 avg = +$0.333 net per $ on wins
Loss per $: -$1 per $ on losses
EV = 0.839 × ($1/$0.75 - 1) - (1-0.839) × 1.0
= 0.839 × 0.333 - 0.161 × 1.0
= 0.279 - 0.161
= +$0.118 per $ deployed, or +11.8% margin on the $0.70-$0.80 band
Realized ROI on this band from data: +14.4% - consistent with the model
The paired-position structure (10.8% both-sides rate) provides an additional structural layer. When the bot buys both bucket A and bucket B for the same event at a combined cost of $0.91 (median paired cost), one of the two will always pay $1.00 at settlement, guaranteeing a minimum +$0.09 profit on the pair regardless of which temperature bucket wins. This is a pure spread-capture overlay on top of the directional forecast.
Phase 1 - Trader Profile
Scale and Activity:
- 11,505 BUYs + 1,499 SELLs = 13,004 total trades across 23 active days (all 23 days active)
- BUY notional: $110,555. SELL notional: $52,306. Gross turnover: $162,860
- 1,301 unique markets across 583 unique events
- ~565 trades per day on active days; ~566 markets per week
Trade Size Distribution:
| Stat | Value |
|---|---|
| Median | $4.40 |
| Mean | $12.52 |
| P95 | $41.60 |
| P99 | $120.54 |
| Max | $1,275.57 |
| Top 5% share | 38.1% |
The distribution is moderately power-law: the top 5% of trades hold 38% of capital, but the max is only 289x the median (vs 83x in a uniform distribution). The P99 at $120 and max at $1,276 suggest occasional large-conviction bets, but the bulk of activity is small-clip spread.
Inter-trade Gap:
- Median gap: 596 seconds (~10 minutes)
- 19% of consecutive fills under 10 seconds
- 26.6% under 60 seconds
- Mean gap: 6,351 seconds
The 10-minute median gap is consistent with a semi-automated bot that works on city-event clusters rather than continuous market-making. The bot appears to open a burst of fills on a given city's temperature event (multiple fills within seconds to minutes), then pause before moving to the next event. The 19% sub-10-second rate confirms bot-speed execution within each burst.
Buy vs Sell:
BUYs are 88.5% of trades; SELLs are 11.5%. This is a settlement-oriented strategy. The SELL activity clusters around two patterns visible in the CSV: (1) selling near-certain positions approaching $0.99 before resolution, and (2) exiting incorrectly-placed bets when the position moves against the bot.
Archetype:
WEATHER FORECAST ARBITRAGE - a hybrid of directional betting (the temperature forecast) and spread capture (the paired adjacent-bucket structure). No crypto, no sports, no both-sides market-making in the traditional sense.
Phase 2 - Core Strategy Identification
Both-sides rate: 10.8% (141 of 1,301 markets). This is sub-30%, which formally classifies the strategy as primarily directional. However, the 10.8% both-sides rate is structurally meaningful because it reflects intentional bucket-pairing within events rather than accidental overlap.
The strategy is B (Directional Betting) + partial A (Spread Capture on adjacent buckets):
- Primary (90%): Directional bets on specific temperature bucket outcomes, driven by a weather forecast model
- Secondary (10%): Paired adjacent-bucket positions where two outcomes are bought in the same event, capturing a guaranteed spread
Evidence for directional betting dominance: the bot buys 2.2 markets per event on average, meaning it identifies specific buckets (not all buckets) as the likely outcome. If it were pure spread-capture it would buy more buckets per event. The 563 events where only one bucket was bought are strongly directional.
Evidence for the weather model: the calibration premium across all price bands (realized WR consistently above market-implied probability) is not achievable by a random bettor. A bettor with no edge would show zero premium on average.
The bot is NOT:
- A market maker (0% both-sides on most markets, no systematic bid-ask posting)
- A copy-trader (weather markets are too numerous and fast-resolving for copy trading)
- A latency arbitrageur (no real-time external signal to arb; weather forecasts update slowly)
- A longshot-only bot (the full price distribution from $0.21 to $0.99 is covered)
Phase 3 - Dominance Ratio Analysis
141 both-sides markets across four dominance buckets:
| Bucket |
Markets |
Dom Win Rate |
Mean Paired Cost |
| 1.0-1.5x |
17 |
58.8% |
$0.867 |
| 1.5-2.0x |
9 |
22.2% |
$0.921 |
| 2.0-3.0x |
19 |
63.2% |
$0.910 |
| 3.0x+ |
96 |
60.4% |
$0.901 |
The 1.5-2.0x bucket is anomalous: only 22.2% dominant-side win rate on 9 markets. This is below the market-implied probability for that bucket's price (approximately 60-70%), which suggests the bot was systematically wrong on medium-conviction paired bets in this range. This is likely noise given the small sample (9 markets), but it is a flag worth monitoring.
The 3.0x+ bucket with 96 markets and 60.4% dominant-side win rate is the most statistically meaningful. A 60.4% WR at the dominant side implies the bot's high-conviction calls are correct roughly 6 in 10 times. Mean paired cost of $0.901 across 96 markets means the spread-capture floor alone returns +$0.099 per dollar of paired notional regardless of which side wins.
The median second-side lag is 58,224 seconds (16.2 hours). This is a next-day or same-day accumulation pattern: the bot opens the first side of a pair and then adds the complementary bucket many hours later as the event approaches and more forecast information is available. This is not instantaneous pairing; it is deliberate multi-leg accumulation.
Phase 4 - Entry Price Analysis
Full price-band breakdown:
| Band |
Trades |
WR |
Capital |
P/L |
ROI |
| $0.10-$0.20 |
1 |
0.0% |
$16.00 |
-$1.00 |
-6.3% |
| $0.20-$0.30 |
2,744 |
30.8% |
$11,281 |
+$1,984 |
+17.6% |
| $0.30-$0.40 |
1,416 |
37.1% |
$8,343 |
+$418 |
+5.0% |
| $0.40-$0.50 |
915 |
49.8% |
$7,204 |
+$238 |
+3.3% |
| $0.50-$0.60 |
1,605 |
62.6% |
$17,847 |
+$1,533 |
+8.6% |
| $0.60-$0.70 |
2,770 |
67.7% |
$32,673 |
+$1,742 |
+5.3% |
| $0.70-$0.80 |
1,464 |
83.9% |
$21,179 |
+$3,055 |
+14.4% |
| $0.80-$0.90 |
519 |
93.1% |
$9,690 |
+$1,295 |
+13.4% |
| $0.90-$1.00 |
70 |
85.7% |
$1,531 |
-$75 |
-4.9% |
Key observations:
-
The $0.20-$0.30 band is the standout ROI bucket (+17.6%). The bot puts $11,281 (10.3% of capital) into longshot temperature buckets priced at 20-30 cents and wins 30.8% of them. At those prices, a 30.8% win rate vs a 25% implied probability is a +5.8 percentage-point premium that generates outsized ROI.
-
The $0.60-$0.70 band is the largest capital allocation ($32,673, 29.7% of capital) with the lowest ROI (+5.3%). This is the "moderate favorite" zone where the bot has smaller edges because the market prices these outcomes more efficiently.
-
The $0.90-$1.00 band is slightly negative (-4.9% ROI). The bot is slightly overpaying for near-certain outcomes, or losing to adverse selection at the top of the price range. This is a minor drag.
-
No sub-$0.20 activity (beyond 1 trade). The bot does not bet on very unlikely temperature outcomes (sub-20 cent implied probability). This is consistent with a model that has reasonable probability estimates and doesn't chase impossible outcomes.
Sub-bucket concentration: The per-cent histogram would show activity spread across many price points from $0.21 to $0.99, with concentrations around the commonly-priced market mid-points (0.30, 0.40, 0.65, 0.70, 0.80). There is no single dominant price point - the entry is wherever the CLOB offers value according to the forecast model.
Phase 5 - Category and Vertical Breakdown
| Category |
Trades |
BUY Volume |
Resolved |
WR |
P/L |
ROI |
| Weather/Other |
13,004 |
$110,555 |
11,504 |
56.3% |
+$10,188 |
+9.3% |
The entire book is a single category. The PR&R standard framework maps this to "Other" because Polymarket's temperature markets don't carry a named category keyword. This is not a weakness in the data - it correctly reflects that GGHFF's universe is a specialized niche within Polymarket.
Vertical breakdown by geography (from top and worst markets):
| Region |
Top markets (examples) |
Edge quality |
| Asia (Singapore, Seoul, Shenzhen, Tokyo) |
+$996, +$570 on Singapore/Seoul |
Highest-conviction wins, several 100% WR markets |
| Americas (Miami, Houston, NYC, LA, Chicago) |
+$530, +$246 on Miami/Houston |
Solid performer, mixed results on narrow F-range bands |
| Europe (Warsaw, London, Madrid, Munich, Istanbul) |
+$465, +$381 on Warsaw |
Moderate; some large losses on European cities |
| Oceania (Wellington) |
+$280 on Wellington |
Small sample, positive |
Singapore is the standout region: three of the top four markets by P/L are Singapore temperature events. This may reflect better forecast model calibration on tropical climates (smaller temperature variance, more predictable patterns) or simply higher available liquidity on Singapore markets.
Phase 6 - Timing and Execution
Hourly P/L (UTC) - best and worst hours:
| Hour (UTC) |
Trades |
Win Rate |
P/L |
| 17:00 |
535 |
60.7% |
+$1,434 |
| 08:00 |
601 |
65.6% |
+$1,096 |
| 05:00 |
622 |
56.1% |
+$980 |
| 02:00 |
499 |
56.9% |
+$608 |
| 11:00 |
511 |
59.4% |
+$890 |
| 18:00 |
534 |
43.0% |
-$264 |
| 20:00 |
569 |
47.8% |
+$171 |
| 07:00 |
498 |
53.9% |
-$128 |
| 10:00 |
575 |
49.1% |
-$18 |
| 00:00 |
760 |
44.3% |
+$357 |
The 00:00 UTC hour has the highest trade count (760) and a below-average win rate (44.3%). This is the bot's "opening" hour for the next day's markets - it's placing early bets when uncertainty is highest and the forecast premium hasn't fully converged. The 17:00 UTC hour (+$1,434) and 08:00 hour (+$1,095) are the peak earnings windows.
No obvious sleep window. Unlike SirMartingale's hard 23:00-02:00 UTC blackout, GGHFF trades in all 24 hours, with the lowest single hour being 21:00 UTC at only 438 trades. This is a 24/7 automated bot without human scheduling.
Day-of-week:
THURSDAY ANOMALYThursday is the only losing day of the week: -$226 P/L, -1.6% ROI on 1,449 trades. All other six days are positive, ranging from +6.4% (Sunday) to +14.4% (Saturday). This may be noise in a 23-day window (only 3-4 Thursdays), but it should be monitored.
| Day |
Trades |
WR |
P/L |
ROI |
| Mon |
1,494 |
51.7% |
+$1,555 |
+10.5% |
| Tue |
1,937 |
58.0% |
+$2,209 |
+11.4% |
| Wed |
1,447 |
61.7% |
+$1,278 |
+9.1% |
| Thu |
1,449 |
49.8% |
-$226 |
-1.6% |
| Fri |
1,265 |
55.5% |
+$1,627 |
+13.2% |
| Sat |
2,065 |
58.9% |
+$2,654 |
+14.4% |
| Sun |
1,848 |
56.7% |
+$1,092 |
+6.4% |
Saturday is the highest-ROI day (+14.4%). Saturday weather bets cover Sunday temperatures when forecast models typically have higher confidence 1-day ahead.
Accumulation pattern within events: The Wellington April 19 trace in the CSV shows 30+ fills on the same condition (highest-temperature-in-wellington-on-april-19-2026-17c) spread across 47 minutes (00:13 UTC to 00:47 UTC). The bot opens a burst of small clips at $0.22-$0.24, totaling roughly $75 across 30 fills. This is DCA-style accumulation: the bot repeatedly trickles into the same market over time rather than hitting it with one large order. This minimizes market impact on thin CLOBs.
Phase 7 - Filter Experiments
| Filter |
Trades |
WR |
Capital |
P/L |
ROI |
Delta |
| Unfiltered baseline |
11,504 |
56.3% |
$109,765 |
+$10,188 |
+9.3% |
- |
| Price $0.30-$0.70 |
6,915 |
58.3% |
$68,625 |
+$4,373 |
+6.4% |
-$5,815 |
| High-conviction dom 2x+ |
1,501 |
52.0% |
$12,520 |
+$1,883 |
+15.0% |
-$8,305 (net) |
| Top category (Other = all) |
11,504 |
56.3% |
$109,765 |
+$10,188 |
+9.3% |
$0 |
| Exclude worst 4 hours (0,10,18,20) |
9,353 |
58.7% |
$90,682 |
+$9,942 |
+11.0% |
-$246 |
| Combined (price 30-70 + excl worst hr) |
5,651 |
60.0% |
$56,761 |
+$4,510 |
+7.9% |
-$5,678 |
The filter analysis has two genuine findings:
-
Excluding the four worst hours adds +1.7 ppt ROI (+$246 in absolute terms) while removing 18% of trades. This is the only filter with clean additive value - eliminating the 00:00, 10:00, 18:00, and 20:00 UTC hours lifts ROI from 9.3% to 11.0% while keeping $9,942 of $10,188 in profit. The tradeoff is fewer bets and slightly less total alpha.
-
The $0.30-$0.70 price filter destroys more value than it saves. Applying it drops P/L from $10,188 to $4,373, a loss of $5,815. The reason: this filter removes the $0.20-$0.30 longshot band (the highest-ROI band at +17.6%) and the $0.70-$0.90 favorite band (also high-ROI at +14.4%). The "sweet spot" filter is misaligned with this strategy's actual edge distribution.
-
The high-conviction (dom 2x+) filter returns +15.0% ROI on $12,520 deployed. This is an ROI improvement vs baseline, but it captures only $1,883 of $10,188 total profit. It's not additive - it's a subset that happens to have higher per-dollar efficiency at the cost of 89% of total capital utilization.
The combined filter at +7.9% ROI is actually worse than just the hour-exclusion filter alone at +11.0%, because the price filter drags down the ROI by removing the high-performing tail bands.
Phase 8 - Rolling Window Consistency
| Metric |
Value |
| Rolling 7-day windows green |
19 of 23 (82.6%) |
| Rolling 7-day P/L range |
+$428 to +$5,896 |
| Rolling 15-day windows green |
23 of 23 (100%) |
| Rolling 15-day P/L range |
+$1,067 to +$6,623 |
| Weekly P/L: Week 16 (Apr 18-19) |
+$2,201 (partial week, strong start) |
| Weekly P/L: Week 17 (Apr 20-26) |
+$1,985 (moderate) |
| Weekly P/L: Week 18 (Apr 27 - May 3) |
+$1,113 (soft middle) |
| Weekly P/L: Week 19 (May 4-10) |
+$4,890 (strong close) |
100% of all rolling 15-day windows close green. Four of 23 rolling 7-day windows dipped negative (during the Apr 27 - May 3 soft patch), confirming the strategy can string together a week of subpar performance. The recovery in week 19 was decisive: +$4,890 in a single week, nearly half the 23-day total.
The cumulative trajectory:
CUMULATIVE P/L TRAJECTORYApr 18: +$2,201 (fast start). Apr 26: +$4,186 (steady accumulation). May 3: +$5,298 (mid-window plateau). May 10: +$10,188 (final-week breakout driven by 58.8% WR in week 19).
The mid-window plateau (Apr 27 - May 3, +$1,113 in a full 7-day week) is the main drag on the record. The strategy's weekly variance is high relative to its mean: the range of weekly P/L is +$1,113 to +$4,890, a 4.4x spread between best and worst full weeks. This is inherent in a weather-betting strategy where a single bad-forecast week on high-volume city-events can significantly compress returns.
Phase 9 - P/L Decomposition
| Component |
Value |
Interpretation |
| Realized total (resolved BUY) |
+$10,926 |
Gross settlement wins minus gross losses |
| Spread P/L (paired markets) |
+$862 |
Locked-in guaranteed profit from sub-$1.00 paired cost positions |
| Hedge tax (losing sides of paired markets) |
-$7,404 |
USDC spent on the losing side of 141 paired-market bets |
| Net resolved-BUY P/L (cash-flow view) |
+$10,188 |
After netting both sides |
The hedge tax of $7,404 is the largest single drag in the decomposition. This is the price of the paired-bucket insurance strategy: for every market where the bot bought both adjacent temperature buckets, the losing side cost real money. The $862 spread P/L covers only 11.6% of that hedge cost; the remaining $6,542 of hedge tax must be covered by directional wins.
This decomposition reveals an important strategy tension: the spread-capture layer is a net drag, not a net benefit, at current paired-cost levels. The median paired cost of $0.90 implies $0.10 of locked-in profit per paired dollar - but that $0.10 must be weighed against the capital inefficiency of locking up two positions that mostly cancel each other. At the current 10.8% both-sides rate, the paired structure is a modest insurance feature rather than a core profit driver.
The primary alpha source is unambiguously directional settlement wins from correctly forecasting temperature buckets. 6,477 winning bets paying $1.00 minus the capital spent to acquire those winning positions is where the $10,188 comes from.
Phase 10 - Strategy Specification (summary; full spec in playbook)
One-sentence summary: A 24/7 automated bot that buys daily temperature bucket markets on Polymarket using a weather forecast model to identify systematically underpriced probability across a global city roster, then holds positions to binary settlement.
Edge sources:
1. Forecast model premium: Realized WR exceeds market-implied probability in every price band. This is the primary driver of all P/L.
2. Paired spread capture: 10.8% of markets have sub-$1.00 paired cost, locking in a guaranteed floor return. Net effect is modest positive after hedge tax.
What works: Singapore and Asia-Pacific markets (highest absolute P/L), the $0.20-$0.30 band (17.6% ROI), the $0.70-$0.90 band (13-14% ROI), hours 05:00-08:00 and 17:00 UTC, Saturdays and Fridays.
What drags: The $0.60-$0.70 band (5.3% ROI, largest capital allocation), hours 00:00/10:00/18:00/20:00, Thursdays, European city markets (several full-loss outcomes in Warsaw, Istanbul, London).
Replicator must-haves: Weather forecast API, per-bucket probability model, global city coverage, DCA-style orderbook fan-out execution, 24/7 uptime, settlement-hold discipline.
Replicator must-avoids: Do not apply $0.30-$0.70 price filter (destroys 57% of P/L). Do not attempt to replicate with manual trading - the bot processes 2.2 markets per event across 50+ city-dates simultaneously.