Arte SheetsLearn. Try. Understand.

Fixed Income & Rates

Duration-Neutral Barbell-Bullet Butterfly Weights and Convexity Pickup

Construct cash-and-duration-neutral 2s5s10s fixed-income butterflies in Excel and Arte Sheets and quantify exact barbell convexity pickup over a bullet bond.

Immunize parallel yield shifts while harvesting positive barbell convexity

A cash-and-duration-neutral long-wings / short-belly butterfly sells 1 unit of intermediate bullet bond (modified duration D_mid, convexity C_mid) and invests weights w_short + w_long = 1 across short and long wing bonds (D_short < D_mid < D_long) such that w_short * D_short + w_long * D_long = D_mid. Solving the 2x2 linear system yields exact wing weights w_short = (D_long - D_mid) / (D_long - D_short) and w_long = (D_mid - D_short) / (D_long - D_short)!

Verify by hand on a 2y / 5y / 10y Treasury curve: 2y has D_2 = 1.90, C_2 = 4.50, y_2 = 4.20% (B2:D2); 5y belly has D_5 = 4.50, C_5 = 22.80, y_5 = 4.35% (B3:D3); 10y has D_10 = 8.10, C_10 = 74.20, y_10 = 4.40% (B4:D4). Here w_2 = (8.10 - 4.50) / (8.10 - 1.90) = 3.60 / 6.20 = 0.5806 and w_10 = 2.60 / 6.20 = 0.4194. Barbell duration matches 4.5000 identically, while barbell convexity is 0.5806*4.50 + 0.4194*74.20 = 33.7290 — a +10.9290 convexity pickup over the 5y bullet at a -6.61 bps yield give-up!

Butterfly Quantity (2s5s10s)Closed-Form ExpressionSample Output
Short-Wing Weight w_2(D_10 - D_5) / (D_10 - D_2)0.5806 (58.06% in 2y)
Long-Wing Weight w_10(D_5 - D_2) / (D_10 - D_2)0.4194 (41.94% in 10y)
Net Barbell Convexity Pickupw_2*C_2 + w_10*C_10 - C_5+10.9290 (Positive gamma!)
Parallel +/-100 bps Shift P&L0.5 * Net_Convexity * (dy)^2 * 10000+5.46 bps symmetric gain

Cash-and-Duration-Neutral Short-Wing Weight w_short Formula

Enforce strict ordering D_short < D_mid < D_long so neither wing weight turns negative (which would turn a barbell into a levered curve steepener/flattener).

=IF(OR(B2 <= 0, B3 <= B2, B4 <= B3), "Require D_short < D_mid < D_long", ROUND((B4 - B3) / (B4 - B2), 4))

Net Butterfly Convexity Pickup & Parallel-Shift P&L Check Formula

Compute exact unrounded wing weights inside LET before subtracting belly convexity C_mid. In a shared fixed-income sheet, contributors can test a +-100 bps parallel shock (dy = 0.01): first-order duration P&L cancels to 0 while second-order convexity earns +0.5 * 10.9290 * (0.01)^2 = +0.0546% (+5.46 bps) in BOTH rally and sell-off!

=LET(d_sh, B2, d_md, B3, d_lg, B4, c_sh, C2, c_md, C3, c_lg, C4, IF(OR(d_sh <= 0, d_md <= d_sh, d_lg <= d_md), "Require D_short < D_mid < D_long", LET(w_sh, (d_lg - d_md) / (d_lg - d_sh), w_lg, 1 - w_sh, ROUND(w_sh * c_sh + w_lg * c_lg - c_md, 4))))

Try the example

Use the original values or change them to test your understanding.

Further reading