Engine
Engine copied to clipboard
fixed the ability to overwrite of a trade builder with a new one
in case, there was a new trade builder in e.g. OREData/ored/utilities/initbuilders.cpp with ORE_REGISTER_TRADE_BUILDER and one would have needed to overwrite a previous one with the same builder name (i.e. ORE_REGISTER_TRADE_BUILDER(NAME, CLASS, OVERWRITE)) setting OVERWRITE = true, the overwrite did not work as builder_.insert() does not replace a value for a key which already exists in the map.
The new code does overwrite the value for a particular key.
previously the ois conventions did not include the rate cutoff. the default value of days was assumed to be 0. this is incorrect as some of the overnight have rate cutoff of 1 day. e.g. sofr. The configuration follows the same rules as in averageois convention.
"RateCutoff" should be added to schema also: conventions.xsd