How do I model percentage of libor swaps?


Some basis swaps are an index (such as BMA/PSA) vs a set % of Libor.

These are described in the following link

Do you have a swap product model for this? If so an example would be great!



When constructing a RateCalculation instance (such as IborRateCalculation) you can provide a gearing/multiplier to the builder. See IborRateCalculationTest for an example.

The example has a multiplier schedule but you can use a constant value by calling ValueSchedule.of(double value).



Strata does not formally support BMA swaps.

However, it may be possible to tweak Ibor-to-Ibor swaps which are realised in the convention IborIborSwapConvention. One leg can be used for the swap index leg by creating a customised IborIndex, whereas the other leg is used for the Ibor leg with gearing as Brian mentioned.