Calculation Swap leg DV01 / Duration

I was under the impression that `PV01_CALIBRATED_SUM` is equivalent to Bloomberg’s DV01 definition for a swap:

(Down Principal - Up Principal)/(2x Shift)

And when I look at this for a swap across both legs I get something close to Bloomberg however when I look at this on the individual legs I get something quite different.

For a forward starting swap Bloomberg shows the float DV01 = 0 and for a 1mm notional 10y USD swap I’m looking at around -25 compared to the fixed leg of around +800. The Strata equivalents for the 10y are around 730 on the fixed leg and 140 on the float to give a total of 870, and non-zero on a forward starting float leg.

I am looking into this as I would like to calculate the duration of each leg based on dv01/pv

Could you advise on whether there is something which can calculate a swap leg dv01 similar to Bloomberg’s methodology, or an alternative to calculate modified duration?

I believe the root of the differences at the swap leg level are due to the fact that Strata does not include notional exchange, for example Bloomberg says the NPV of the floating leg of a swap is equal to the notional (ignore the implication of non-OIS discounting) and shows notional exchange in their cashflows, while Strata does not.

Is it possible to toggle this behavior?