Kalshi Research
Mission
Indices
KPOW Index
Models
Citizen Debt Forecast
Trade WatchPublicationsInsightsTeamKalshi Markets

Brazil Election Analysis: A Market Retrospective

Published October 25, 2026 · Updated October 27, 2026

·PDFDownload PDF
Key Takeaways
  • Lula’s victory was a genuine surprise to markets. Lula won the October 25 runoff 51.79% to 48.21%, three weeks after losing the first round to Flávio Bolsonaro 47.03% to 45.16%. No candidate had done that since direct elections returned in 1989. When polls closed, Kalshi had Flávio Bolsonaro near 80%, and the final polls leaned his way too. Both were wrong in the same direction.
  • The election market moved first and its odds explain the large moves in currency and equity markets. On runoff night, Kalshi’s Flávio Bolsonaro contract fell from about 60% at 19:00 Brasília to 13% by 20:05. The CME real future followed behind and ended the evening roughly 12% lower. On Monday the Ibovespa closed down 13.88% and the dollar rose 8.79% to 5.4154 reais.
  • The budget now runs through Congress. Flávio Bolsonaro’s Liberal Party (PL) has the biggest bench in both houses, a result Kalshi priced near 95% before the first round. Lula will have to govern with that Congress. The Copom meeting on November 3–4 and next year’s budget are the first places to watch how much of the macro displacement sticks.

Runoff Day: A Two-Hour Extension and a Crossover Before 5% Had Been Reported

Runoff-day probabilities for Lula and Flávio Bolsonaro, with the two-hour voting extension, resumption of results, and share of votes counted marked on the timeline.

From 16:00 until the scheduled 17:00 close, Kalshi markets had Flávio Bolsonaro between 76% and 80%, about where he’d been for most of the three weeks since round one. Then, minutes before the polls were due to close, Supreme Federal Court Justice Cristiano Zanin extended voting nationwide by two hours, to 19:00. Both campaigns had asked for more time. Lula’s side pointed to cut bus service in at least nine states. Flávio Bolsonaro’s side asked for extensions in parts of Minas Gerais hit by power outages, including Belo Horizonte, and in parts of Rio Grande do Sul hit by heavy rain.

Zanin later said the order only applied to polling stations that were still open. Some had already closed and shut off their voting machines, which couldn’t be turned back on. The count had already started, and it was paused until the extra two hours were over.

Traders read the extension and the initial 0.25% vote count results as a small plus for Lula. His contract went from about 22% to the mid-30s within roughly fifteen minutes and stayed between 32% and 36% through the pause. Prices don’t come with explanations, but a reasonable guess is that people linked the bus complaint to turnout among city voters who rely on public transit.

When the count restarted at 19:04, the lines crossed almost at once. Lula passed 50% around 19:08, before even 5% of polling sections had reported. He hit about 84% near 19:25, slipped back into the mid-60s as votes came in from Flávio Bolsonaro-leaning areas, and then climbed with the count: about 75% at 20% reported, around 90% at 40%, about 95% at 60%, and over 99% just after 21:00.

The part we find most interesting is what the official count was showing during all this. At 20:05 Brasília, the TSE still had Flávio Bolsonaro ahead with 50.46% of valid votes. But most of São Paulo, Rio de Janeiro, Bahia, Pernambuco and Ceará hadn’t been counted yet. At that same moment Kalshi had Lula at roughly 85%. Traders weren’t following the running total. They were asking where the remaining votes would come from, using the first round as a guide. That’s the kind of judgment a live market can make and a headline vote count can’t.

The extension is now at the heart of the dispute over the result. On election night Flávio Bolsonaro said it was impossible to accept the outcome and that he’d ask for the election to be annulled. He pointed to the extension and to Justice Zanin, who was Lula’s defense lawyer before joining the court. The TSE’s president, Justice Kassio Nunes Marques, who was appointed to the Supreme Federal Court by Jair Bolsonaro, confirmed the results and said he had full confidence in the process.

On October 26, PL president Valdemar Costa Neto said the party accepts the TSE’s results, while still wanting a debate about social spending in the run-up to the vote. Flávio Bolsonaro then dropped the bid to annul the election and said he’d instead file a separate case accusing the Lula campaign of abusing political and economic power. Several electoral lawyers quoted in Brazilian media called the late extension unprecedented.

A Year-Long Race That Flipped Twice, and Then One More Time for Good Measure

The swings on election night came at the end of a year that already had plenty of them.

Kalshi presidential election probabilities across 2026, showing Lula and Flávio Bolsonaro trading the lead before Lula wins the runoff.Kalshi first-round winner probabilities from April to October 2026, showing Lula favored before Flávio Bolsonaro wins round one.

In the market on the overall winner, Lula sat between about 45% and 55% through the first quarter. Flávio Bolsonaro climbed from around 20% in January to even odds by April and May. Lula then pulled ahead again and peaked near 68% in August (he was at 63% when we published our August 24 roundup). In mid-September Flávio Bolsonaro overtook him and went into the first round near 60%. Winning that round pushed him to roughly 85–88%, and he slipped to about 76–81% by the night before the runoff.

The market on who would finish first in round one was even more one-sided. From June to mid-September, Lula was 75–90% to come out on top, and he was still at 62–76% in the last few days.

Polls and Markets Both Missed, and the Runoff Miss Ran Opposite to the First

Kalshi’s margin markets let us turn prices into an expected Lula-minus-Flávio Bolsonaro gap, which we can line up against the polls round by round.

Expected Lula-minus-Flávio Bolsonaro vote margin from Kalshi markets and polls across both rounds, compared with the final results.

Start with the first round. Through early September the market had Lula ahead by about 5 points, a bit more than the polls’ roughly 4. In mid-September it suddenly dropped to around −2, then drifted between 0 and +2 until the vote. The polls stayed around +2 to +3, and Datafolha’s final survey had Lula up 45% to 42%. Flávio Bolsonaro won by 1.87 points. Compared with where each stood just before the vote, the market was off by about 3.4 points and the polls by about 3.9. Both got the winner wrong, and the market came a little closer.

In the runoff, things flipped. The market opened with Flávio Bolsonaro ahead by about 3, stretched that to about 5 in mid-October, and settled near 3.5 on the eve of the vote. The polls leaned toward Flávio Bolsonaro too, but less: averaging the latest survey from twenty pollsters gave him about 51% to 49%, and both Datafolha and Quaest finished at 51–49. Lula won by 3.58 points. This time the market missed by about 7 points and the polls by about 5.6.

Put the two rounds together and a story suggests itself. After the polls underestimated Flávio Bolsonaro in round one, traders seem to have marked him up by another point and a half or two beyond what the runoff polls showed. This time the polls’ error ran the other way. Two elections can’t prove a pattern, and we can’t rule out other explanations, like the rain and transport problems that hit turnout, or a real late shift among the undecided voters which traders discounted. Datafolha found 94% of voters said their minds were made up, which already suggested turnout would decide it. In summary, after the first-round surprise traders adjusted for the polling miss, but the correction ended up pointing the wrong way.

On Runoff Night, the Election Market Moved First and the Currency Followed

CME’s Sunday session for real futures opens at 6 p.m. New York time, which was 19:00 in Brasília. Because voting had been extended by two hours, the official count restarted at 19:04. So the vote count and the futures market started up within minutes of each other, and we got to watch a contract on the winner and a contract on the currency react to the same returns, side by side.

Flávio Bolsonaro’s runoff probability alongside the Brazilian real futures price on election night, with election odds declining ahead of the currency.

The election contract led all night. Flávio Bolsonaro opened near 60%, ticked up to 63% around 19:05, and was below 40% before 19:10. He bounced back into the mid-30s twice, around 19:30 and 19:45, as early returns swung around. Then the slide resumed: under 20% just before 20:00, under 10% by about 20:15, essentially zero by 21:00.

The real future (quoted in dollars per real, so a falling line means a weaker real) barely moved for the first half hour, sitting between about 0.196 and 0.201. Then it dropped in two steps. The big one came between 20:00 and 20:05, from about 0.191 to 0.180, after the Flávio Bolsonaro contract had already lost more than half its value since the 19:45 bounce. The second came around 21:10 and took it to roughly 0.177, or about 5.65 reais to the dollar. By then Kalshi had Flávio Bolsonaro below 1%.

Monday confirmed the move and took back some of the excess. The dollar jumped more than 8% at the open and closed up 8.79% at 5.4154 reais, its biggest one-day jump since at least 2020. That was still about 5% better for the real than Sunday night’s futures low. The Ibovespa fell as much as 17.3% during the day, from 205,089 to 169,516. A 10% drop tripped B3’s circuit breaker and stopped trading for 30 minutes. The index closed down 13.88% at 176,608, its worst day since March 2020.

The Treasury called off this week’s fixed-rate and inflation-linked bond auctions and kept only its Selic-linked sale. Interest-rate futures jumped. Banks and companies that live off the domestic economy fell hardest, while the exporter Vale actually rose 4.0%. That split tells you what investors were really repricing: the path for interest rates, not the commodity cycle. Some analysts pointed out that strong commodity earnings should keep supporting the real, which is a fair reason not to treat Monday’s level as the new normal.

Mapping Trader Interest

Cumulative unique traders in Brazil’s presidential market, rising sharply after round one and reaching more than 16,000 by the election.

By the date of the election, over 16,000 individual unique traders participated in the market, up from 2,000 just a few weeks prior. Around three in every four traders who ever took a position arrived after round one, bringing late liquidity in the run-up to the result.

Conclusion

When a market gives something an 80% chance, it should be “wrong” about one time in five. Sunday was one of those times. What made it a big deal wasn’t the miss so much as how much money in stocks, bonds and the currency had been placed on that same 80%. Given that, a new and particularly useful takeaway emerged - when news recalibrated expectations, the election contract picked it up first and most cleanly, and traditional economic instruments, like currency, followed. That edge is real and material for event-driven hedging.

About Kalshi Research

Signal-rich analysis of prediction markets. Questions, data access (currently free for institutional clients), or collaboration: research@kalshi.com

Disclaimer

This report is published by Kalshi Inc. (“Kalshi,” “we,” or “us”) for informational and educational purposes only. It is not investment, legal, tax, or trading advice, and it does not constitute a recommendation or solicitation to buy, sell, or hold any event contract, security, or other financial instrument. Nothing in this report creates a fiduciary, advisory, or professional-client relationship between Kalshi and the reader.

Kalshi operates a CFTC-regulated exchange. The event contracts and forward curves referenced herein are traded on or derived from Kalshi’s platform. The market prices, forward curves, and implied probabilities cited in this report reflect what market participants thought at a given moment; such data is subject to change without notice. These figures are not guarantees or predictions of actual outcomes. Past and current prices do not indicate future results. Data sourced from third parties is believed to be reliable but has not been independently verified. Third-party projections and estimates cited herein are subject to significant uncertainty and may not be realized.

Trading event contracts carries risk, including the risk that you may lose some or all of your invested capital. Event contract outcomes are binary and can result in the total loss of the amount paid for a contract. Every figure and probability here is current only as of the date of publication. Kalshi undertakes no obligation to update, revise, or correct this report after publication.

Kalshi, its affiliates, officers, directors, and employees may have financial interests in the contracts or markets discussed herein and may trade them at any time without notice to readers.

This report is not directed at any person in any jurisdiction where its distribution or the offering of event contracts would be contrary to local law or regulation. Before acting on anything in this report, consult your own independent legal, tax, financial, or other professional advisor.

This report is not insurance advice and does not constitute a recommendation regarding the purchase, renewal, or cancellation of any insurance policy or program. Comparisons between event contracts and insurance products are illustrative only and do not account for differences in regulatory protections, counterparty credit risk, claims processes, coverage scope, or policyholder rights that may apply to traditional insurance. Readers should consult a licensed insurance professional before making decisions about their insurance or risk-transfer arrangements.

Get new Kalshi Research publications and insights as they are released.

Product
Kalshi ProInvestMarketsIncentive programSmall business hedgingInstitutionsAPI & developers
Company
AboutKalshi ResearchBlogCareersPolicy CenterBrand Kit
Help
Help CenterFAQFee scheduleTrading hoursRegulatoryTrust Center

© 2026 Kalshi Inc. · All rights reserved
PrivacyData Terms of ServiceTrading ProhibitionsFAQ for Finance Professionals
Trading on Kalshi involves risk and may not be appropriate for all. Members risk losing their cost to enter any transaction, including fees. You should carefully consider whether trading on Kalshi is appropriate for you in light of your investment experience and financial resources. Any trading decisions you make are solely your responsibility and at your own risk. Information is provided for convenience only on an "AS IS" basis. Past performance is not necessarily indicative of future results. Kalshi is subject to U.S. regulatory oversight by the CFTC.