Extending the platform with new instruments
Following is an overview on enhancing Vannarho with new instruments using the example of CMS Spread Structured Swaps with three market variables. We start bottom up (in the libraries layers), starting with Quantlib and the Quantlib extension (QLE), then enhancing the Data level (Market Data and Trade/Leg/Engine Representation) and ending with the Analytics layer.
First Steps (QL, QLE)
add Instrument / Index / Coupon
add PricingEngine / CouponPricer
add TermStructure
extend CrossAssetModel (for XVA sim)
Second Steps (Market Data)
add MarketDatum, extend MarketDatumParser
add CurveSpec, CurveConfig, Wrapper
extend Market interface, MarketImpl
extend TodaysMarket / TodaysMarketParameters
extend index parser
Third Steps (Portfolio)
extend LegData
add Trade
add EngineBuilder, TradeBuilder, LegBuilder
Fourth Steps (Simulation, Sensitivities etc)
extend Scenario
extend ScenarioSimMarket / ScenarioSimMarketParameters
extend CrossAssetModelScenarioGenerator (Data, Builder)
extend SensitivityScenarioGenerator, SensitivityScenarioData
extend StressScenarioGenerator, StressScenarioData
extend FixingManager
Fifth Steps (Miscellaneous)
extend Curve Ordering