// determine the curve parameter sensitivities, removing the curency private UnitParameterSensitivities extractSensitivities( ResolvedTrade trade, RatesProvider provider) { CalibrationMeasure<ResolvedTrade> measure = getMeasure(trade); CurrencyParameterSensitivities paramSens = measure.sensitivities(trade, provider); UnitParameterSensitivities unitSens = UnitParameterSensitivities.empty(); for (CurrencyParameterSensitivity ccySens : paramSens.getSensitivities()) { unitSens = unitSens.combinedWith(ccySens.toUnitParameterSensitivity()); } return unitSens; }
/** * Calculates the value, such as par spread. * * <p>The value must be calculated using the specified rates provider. * * @param trade the trade * @param provider the rates provider * @return the sensitivity * @throws IllegalArgumentException if the trade cannot be valued */ public double value(ResolvedTrade trade, RatesProvider provider) { CalibrationMeasure<ResolvedTrade> measure = getMeasure(trade); return measure.value(trade, provider); }