Bloomberg SWPM-OV vs a Transparent Request

Bloomberg is the reference on most desks. This page compares a SWPM-OV output with the same instrument priced from a fully explicit Quantra request.

Instrument: 1M × 10Y payer swaption Underlying: USD SOFR OIS Settlement: Cash (Par Yield Curve) Model: Normal (Bachelier) Vol: 102.67bp As-of: 2024-08-14

Result at a glance

The goal is not to reverse-engineer every Bloomberg detail. The goal is to show that a pricing number only exists together with its assumptions — and if the assumptions are hidden, the number cannot truly be validated.

Metric Bloomberg Quantra
Fair rate 3.367463% 3.3677%
Premium (NPV) 10,359.49 10,387.60
DV01 (1bp) -414.86 415.514471
Gamma (1bp) 10.34 10.419598
Vega (1bp) 100.90 101.078675
Theta (1d) definition -156.66 64.007482
Quantra swaption pricing results screenshot
Quantra pricing output from the portal (example run).
Bloomberg swaption pricing screen (source image)
Bloomberg screenshot (source image link).

Bloomberg values are shown for visual comparison and context.

Why matching Bloomberg is harder than it looks

A swaption price is not a formula. It is a model plus a curve, plus conventions, plus a definition for each greek.

Working assumption: to match SWPM-OV greeks you usually need to reproduce Bloomberg’s definitions, not just the pricing model.

Why theta usually diverges

Theta is the change in value after one day passes. That definition is ambiguous, so different systems can legitimately disagree. Quantra defines theta as npvTomorrow - npv with a one-day roll of the evaluation date; you can verify this in the source code here: swaption_pricing_request.cpp. You can check what we do; you cannot do that with Bloomberg.

That is why theta is highlighted above: Bloomberg’s definition is implicit, while Quantra/QuantLib makes it explicit and reproducible.

DV01 sign conventions

DV01 can flip sign depending on whether the system applies the trade direction (payer vs receiver) or reports a raw rate-bump sensitivity. Bloomberg appears to apply a signed convention for this trade, while Quantra reports the direct bump-and-reprice change. That difference is visible in the table and is another example of why explicit definitions matter.

What Quantra does differently (and why it is a feature)

Quantra makes the request the contract. Curves, conventions, and model choice are explicit in JSON.

Key settings to match Bloomberg

Bloomberg information (source)

Source post: quant.stackexchange.com/questions/80301/quantlib-swaption-pricing.

Reproduce these results

To reproduce the numbers above, either:

Portal swaption header showing Payer USD_SOFR Swaption selection
Portal example selection used for this comparison.

Conclusion

Bloomberg is extremely useful because it is consistent. Open implementations are useful because they are explainable. The product advantage is being able to make definitions explicit, reproducible, and auditable.

This article mentions Bloomberg for comparative and educational purposes. Trademarks belong to their respective owners.