/** * Calculates the deposit fair rate sensitivity to the curves. * * @param trade the trade * @param provider the rates provider * @return the par rate curve sensitivity */ public PointSensitivities parRateSensitivity(ResolvedIborFixingDepositTrade trade, RatesProvider provider) { return productPricer.parRateSensitivity(trade.getProduct(), provider); }
/** * Restricted copy constructor. * @param beanToCopy the bean to copy from, not null */ private Builder(ResolvedIborFixingDepositTrade beanToCopy) { this.info = beanToCopy.getInfo(); this.product = beanToCopy.getProduct(); }
@Override public ResolvedIborFixingDepositTrade build() { return new ResolvedIborFixingDepositTrade( info, product); }
public void test_of() { ResolvedIborFixingDepositTrade test = ResolvedIborFixingDepositTrade.of(TRADE_INFO, DEPOSIT); assertEquals(test.getProduct(), DEPOSIT); assertEquals(test.getInfo(), TRADE_INFO); }
public void test_builder() { ResolvedIborFixingDepositTrade test = ResolvedIborFixingDepositTrade.builder() .product(DEPOSIT) .info(TRADE_INFO) .build(); assertEquals(test.getProduct(), DEPOSIT); assertEquals(test.getInfo(), TRADE_INFO); }
@Override public ResolvedIborFixingDepositTrade resolve(ReferenceData refData) { return ResolvedIborFixingDepositTrade.builder() .info(info) .product(product.resolve(refData)) .build(); }
public void test_serialization() { ResolvedIborFixingDepositTrade test = ResolvedIborFixingDepositTrade.builder() .product(DEPOSIT) .info(TRADE_INFO) .build(); assertSerialization(test); }
/** * Calculates the spread to be added to the deposit rate to have a zero present value. * * @param trade the trade * @param provider the rates provider * @return the par spread */ public double parSpread(ResolvedIborFixingDepositTrade trade, RatesProvider provider) { return productPricer.parSpread(trade.getProduct(), provider); }
@Override protected Object propertyGet(Bean bean, String propertyName, boolean quiet) { switch (propertyName.hashCode()) { case 3237038: // info return ((ResolvedIborFixingDepositTrade) bean).getInfo(); case -309474065: // product return ((ResolvedIborFixingDepositTrade) bean).getProduct(); } return super.propertyGet(bean, propertyName, quiet); }
public void coverage() { ResolvedIborFixingDepositTrade test1 = ResolvedIborFixingDepositTrade.builder() .product(DEPOSIT) .info(TRADE_INFO) .build(); coverImmutableBean(test1); ResolvedIborFixingDepositTrade test2 = ResolvedIborFixingDepositTrade.builder() .product(DEPOSIT) .build(); coverBeanEquals(test1, test2); }
/** * Obtains an instance of a resolved Ibor Fixing Deposit trade. * * @param info the trade info * @param product the product * @return the resolved trade */ public static ResolvedIborFixingDepositTrade of(TradeInfo info, ResolvedIborFixingDeposit product) { return new ResolvedIborFixingDepositTrade(info, product); }
/** * Calculates the par spread curve sensitivity. * * @param trade the trade * @param provider the rates provider * @return the par spread curve sensitivity */ public PointSensitivities parSpreadSensitivity(ResolvedIborFixingDepositTrade trade, RatesProvider provider) { return productPricer.parSpreadSensitivity(trade.getProduct(), provider); }
public void test_resolve() { IborFixingDepositTrade test = IborFixingDepositTrade.of(TRADE_INFO, DEPOSIT); assertEquals(test.resolve(REF_DATA).getInfo(), TRADE_INFO); assertEquals(test.resolve(REF_DATA).getProduct(), DEPOSIT.resolve(REF_DATA)); }
/** * Calculates the present value of the Ibor fixing deposit trade. * <p> * The present value of the trade is the value on the valuation date. * * @param trade the trade * @param provider the rates provider * @return the present value of the product */ public CurrencyAmount presentValue(ResolvedIborFixingDepositTrade trade, RatesProvider provider) { return productPricer.presentValue(trade.getProduct(), provider); }
/** * Calculates the deposit fair rate given the start and end time and the accrual factor. * * @param trade the trade * @param provider the rates provider * @return the par rate */ public double parRate(ResolvedIborFixingDepositTrade trade, RatesProvider provider) { return productPricer.parRate(trade.getProduct(), provider); }
/** * Calculates the present value sensitivity of the Ibor fixing deposit trade. * <p> * The present value sensitivity of the trade is the sensitivity of the present value to * the underlying curves. * * @param trade the trade * @param provider the rates provider * @return the point sensitivity of the present value */ public PointSensitivities presentValueSensitivity(ResolvedIborFixingDepositTrade trade, RatesProvider provider) { return productPricer.presentValueSensitivity(trade.getProduct(), provider); }
public void calibration_present_value() { RatesProvider result2 = CALIBRATOR.calibrate(CURVE_GROUP_DEFN, ALL_QUOTES, REF_DATA); // Test PV CurveNode[] fwd3Nodes = CURVES_NODES.get(0).get(0); List<ResolvedTrade> fwd3Trades = new ArrayList<>(); for (int i = 0; i < fwd3Nodes.length; i++) { fwd3Trades.add(fwd3Nodes[i].resolvedTrade(1d, ALL_QUOTES, REF_DATA)); } // Fixing CurrencyAmount pvFixing2 = FIXING_PRICER.presentValue( ((ResolvedIborFixingDepositTrade) fwd3Trades.get(0)).getProduct(), result2); assertEquals(pvFixing2.getAmount(), 0.0, TOLERANCE_PV); // FRA for (int i = 0; i < FWD3_NB_FRA_NODES; i++) { CurrencyAmount pvFra2 = FRA_PRICER.presentValue( ((ResolvedFraTrade) fwd3Trades.get(i + 1)), result2); assertEquals(pvFra2.getAmount(), 0.0, TOLERANCE_PV); } // IRS for (int i = 0; i < FWD3_NB_IRS_NODES; i++) { MultiCurrencyAmount pvIrs2 = SWAP_PRICER.presentValue( ((ResolvedSwapTrade) fwd3Trades.get(i + 1 + FWD3_NB_FRA_NODES)).getProduct(), result2); assertEquals(pvIrs2.getAmount(USD).getAmount(), 0.0, TOLERANCE_PV); } }
((ResolvedIborFixingDepositTrade) fwd3Trades.get(0)).getProduct(), result); assertEquals(pvFixing.getAmount(), 0.0, TOLERANCE_PV);
((ResolvedIborFixingDepositTrade) fwd3Trades.get(0)).getProduct(), result); assertEquals(pvFixing3.getAmount(), 0.0, TOLERANCE_PV);
((ResolvedIborFixingDepositTrade) fwd3Trades.get(0)).getProduct(), result); assertEquals(pvFixing.getAmount(), 0.0, TOLERANCE_PV);