I understand the VanillaSwap object assumes that payment and calculation resets are the same, so is there any way we could use quantlib to price a swap with different reset and calculation frequencies? (say payment is semiannual but resets is annual).
A few candidates I've considered are:
NonstandardSwap: however I think this does not allow different payment and reset schedules too.
Swap: it takes 2 legs but Leg itself is virtual, however there are many other ways implementing this, one way is to use the IborCoupon however that seems to require repeatedly creating every single coupon in order to constructing Leg.
Is there any other simpler way to deal with this given that everything else is similar to a VanillaSwap except using different payment and calculation dates?