/** * Copyright (C) 2014 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.sesame.credit.measures; import com.opengamma.financial.security.credit.IndexCDSSecurity; import com.opengamma.financial.security.credit.LegacyCDSSecurity; import com.opengamma.financial.security.credit.StandardCDSSecurity; import com.opengamma.sesame.Environment; import com.opengamma.sesame.OutputNames; import com.opengamma.sesame.function.Output; import com.opengamma.sesame.trade.IndexCDSTrade; import com.opengamma.sesame.trade.LegacyCDSTrade; import com.opengamma.sesame.trade.StandardCDSTrade; import com.opengamma.util.money.CurrencyAmount; import com.opengamma.util.result.Result; /** * PV function for credit types. */ public interface CreditPvFn extends CreditRiskMeasureFn<CurrencyAmount> { @Override @Output(OutputNames.PRESENT_VALUE) Result<CurrencyAmount> priceStandardCds(Environment env, StandardCDSSecurity cds); @Override @Output(OutputNames.PRESENT_VALUE) Result<CurrencyAmount> priceIndexCds(Environment env, IndexCDSSecurity cds); @Override @Output(OutputNames.PRESENT_VALUE) Result<CurrencyAmount> priceLegacyCds(Environment env, LegacyCDSSecurity cds); @Override @Output(OutputNames.PRESENT_VALUE) Result<CurrencyAmount> priceStandardCds(Environment env, StandardCDSTrade cds); @Override @Output(OutputNames.PRESENT_VALUE) Result<CurrencyAmount> priceIndexCds(Environment env, IndexCDSTrade cds); @Override @Output(OutputNames.PRESENT_VALUE) Result<CurrencyAmount> priceLegacyCds(Environment env, LegacyCDSTrade cds); }