Package com.opengamma.financial.security.swap

Examples of com.opengamma.financial.security.swap.InterestRateNotional


        return new CommodityNotional();
      }

      @Override
      public Notional visitInterestRateNotional(InterestRateNotional ignore) {
        return new InterestRateNotional(currencyBeanToCurrency(bean.getCurrency()), bean.getAmount());
      }

      @Override
      public Notional visitSecurityNotional(SecurityNotional ignore) {
        UniqueId uniqueId = uniqueIdBeanToUniqueId(bean.getIdentifier());
View Full Code Here


        }

        @Override
        public Currency visitSwapSecurity(final SwapSecurity security) {
          if (security.getPayLeg().getNotional() instanceof InterestRateNotional && security.getReceiveLeg().getNotional() instanceof InterestRateNotional) {
            final InterestRateNotional payLeg = (InterestRateNotional) security.getPayLeg().getNotional();
            final InterestRateNotional receiveLeg = (InterestRateNotional) security.getReceiveLeg().getNotional();
            if (payLeg.getCurrency().equals(receiveLeg.getCurrency())) {
              return payLeg.getCurrency();
            }
          }
          return null;
        }

        @Override
        public Currency visitForwardSwapSecurity(final ForwardSwapSecurity security) {
          if (security.getPayLeg().getNotional() instanceof InterestRateNotional && security.getReceiveLeg().getNotional() instanceof InterestRateNotional) {
            final InterestRateNotional payLeg = (InterestRateNotional) security.getPayLeg().getNotional();
            final InterestRateNotional receiveLeg = (InterestRateNotional) security.getReceiveLeg().getNotional();
            if (payLeg.getCurrency().equals(receiveLeg.getCurrency())) {
              return payLeg.getCurrency();
            }
          }
          return null;
        }

        @Override
        public Currency visitEquityIndexOptionSecurity(final EquityIndexOptionSecurity security) {
          return security.getCurrency();
        }

        @Override
        public Currency visitEquityOptionSecurity(final EquityOptionSecurity security) {
          return security.getCurrency();
        }

        @Override
        public Currency visitEquityBarrierOptionSecurity(final EquityBarrierOptionSecurity security) {
          return security.getCurrency();
        }

        @Override
        public Currency visitFXOptionSecurity(final FXOptionSecurity security) {
          throw new UnsupportedOperationException("FX securities do not have a currency");
        }

        @Override
        public Currency visitNonDeliverableFXOptionSecurity(final NonDeliverableFXOptionSecurity security) {
          throw new UnsupportedOperationException("FX securities do not have a currency");
        }

        @Override
        public Currency visitSwaptionSecurity(final SwaptionSecurity security) {
          return security.getCurrency();
        }

        @Override
        public Currency visitIRFutureOptionSecurity(final IRFutureOptionSecurity security) {
          return security.getCurrency();
        }

        @Override
        public Currency visitCommodityFutureOptionSecurity(final CommodityFutureOptionSecurity security) {
          return security.getCurrency();
        }

        @Override
        public Currency visitFxFutureOptionSecurity(final FxFutureOptionSecurity security) {
          return security.getCurrency();
        }

        @Override
        public Currency visitBondFutureOptionSecurity(final BondFutureOptionSecurity security) {
          return security.getCurrency();
        }

        @Override
        public Currency visitEquityIndexDividendFutureOptionSecurity(final EquityIndexDividendFutureOptionSecurity equityIndexDividendFutureOptionSecurity) {
          return equityIndexDividendFutureOptionSecurity.getCurrency();
        }

        @Override
        public Currency visitEquityIndexFutureOptionSecurity(final EquityIndexFutureOptionSecurity equityIndexFutureOptionSecurity) {
          return equityIndexFutureOptionSecurity.getCurrency();
        }

        @Override
        public Currency visitFXBarrierOptionSecurity(final FXBarrierOptionSecurity security) {
          throw new UnsupportedOperationException("FX Barrier Options do not have a currency");
        }

        @Override
        public Currency visitFXForwardSecurity(final FXForwardSecurity security) {
          throw new UnsupportedOperationException("FX forward securities do not have a currency");
        }

        @Override
        public Currency visitNonDeliverableFXForwardSecurity(final NonDeliverableFXForwardSecurity security) {
          throw new UnsupportedOperationException("Non-deliverable FX forward securities do not have a currency");
        }

        @Override
        public Currency visitCapFloorSecurity(final CapFloorSecurity security) {
          return security.getCurrency();
        }

        @Override
        public Currency visitCapFloorCMSSpreadSecurity(final CapFloorCMSSpreadSecurity security) {
          return security.getCurrency();
        }

        @Override
        public Currency visitEquityVarianceSwapSecurity(final EquityVarianceSwapSecurity security) {
          return security.getCurrency();
        }

        @Override
        public Currency visitFXDigitalOptionSecurity(final FXDigitalOptionSecurity security) {
          throw new UnsupportedOperationException("FX digital option securities do not have a currency");
        }

        @Override
        public Currency visitNonDeliverableFXDigitalOptionSecurity(final NonDeliverableFXDigitalOptionSecurity security) {
          throw new UnsupportedOperationException("NDF FX digital option securities do not have a currency");
        }

        @Override
        public Currency visitSimpleZeroDepositSecurity(final SimpleZeroDepositSecurity security) {
          return security.getCurrency();
        }

        @Override
        public Currency visitPeriodicZeroDepositSecurity(final PeriodicZeroDepositSecurity security) {
          return security.getCurrency();
        }

        @Override
        public Currency visitContinuousZeroDepositSecurity(final ContinuousZeroDepositSecurity security) {
          return security.getCurrency();
        }

        @Override
        public Currency visitAgricultureFutureSecurity(final AgricultureFutureSecurity security) {
          return security.getCurrency();
        }

        @Override
        public Currency visitBondFutureSecurity(final BondFutureSecurity security) {
          return security.getCurrency();
        }

        @Override
        public Currency visitEnergyFutureSecurity(final EnergyFutureSecurity security) {
          return security.getCurrency();
        }

        @Override
        public Currency visitEquityFutureSecurity(final EquityFutureSecurity security) {
          return security.getCurrency();
        }

        @Override
        public Currency visitEquityIndexDividendFutureSecurity(final EquityIndexDividendFutureSecurity security) {
          return security.getCurrency();
        }

        @Override
        public Currency visitFXFutureSecurity(final FXFutureSecurity security) {
          return security.getCurrency();
        }

        @Override
        public Currency visitIndexFutureSecurity(final IndexFutureSecurity security) {
          return security.getCurrency();
        }

        @Override
        public Currency visitInterestRateFutureSecurity(final InterestRateFutureSecurity security) {
          return security.getCurrency();
        }

        @Override
        public Currency visitFederalFundsFutureSecurity(final FederalFundsFutureSecurity security) {
          return security.getCurrency();
        }

        @Override
        public Currency visitMetalFutureSecurity(final MetalFutureSecurity security) {
          return security.getCurrency();
        }

        @Override
        public Currency visitStockFutureSecurity(final StockFutureSecurity security) {
          return security.getCurrency();
        }

        @Override
        public Currency visitAgricultureForwardSecurity(final AgricultureForwardSecurity security) {
          return security.getCurrency();
        }

        @Override
        public Currency visitEnergyForwardSecurity(final EnergyForwardSecurity security) {
          return security.getCurrency();
        }

        @Override
        public Currency visitMetalForwardSecurity(final MetalForwardSecurity security) {
          return security.getCurrency();
        }

        @Override
        public Currency visitCDSSecurity(final CDSSecurity security) {
          return security.getCurrency();
        }

        @Override
        public Currency visitStandardVanillaCDSSecurity(final StandardVanillaCDSSecurity security) {
          return security.getNotional().getCurrency();
        }

        @Override
        public Currency visitStandardRecoveryLockCDSSecurity(final StandardRecoveryLockCDSSecurity security) {
          return security.getNotional().getCurrency();
        }

        @Override
        public Currency visitStandardFixedRecoveryCDSSecurity(final StandardFixedRecoveryCDSSecurity security) {
          return security.getNotional().getCurrency();
        }

        @Override
        public Currency visitLegacyVanillaCDSSecurity(final LegacyVanillaCDSSecurity security) {
          return security.getNotional().getCurrency();
        }

        @Override
        public Currency visitLegacyRecoveryLockCDSSecurity(final LegacyRecoveryLockCDSSecurity security) {
          return security.getNotional().getCurrency();
        }

        @Override
        public Currency visitLegacyFixedRecoveryCDSSecurity(final LegacyFixedRecoveryCDSSecurity security) {
          return security.getNotional().getCurrency();
        }

        @Override
        public Currency visitDeliverableSwapFutureSecurity(final DeliverableSwapFutureSecurity security) {
          return security.getCurrency();
        }

        @Override
        public Currency visitCreditDefaultSwapIndexDefinitionSecurity(final CreditDefaultSwapIndexDefinitionSecurity security) {
          return security.getCurrency();
        }

        @Override
        public Currency visitCreditDefaultSwapIndexSecurity(final CreditDefaultSwapIndexSecurity security) {
          return security.getNotional().getCurrency();
        }

        @Override
        public Currency visitCreditDefaultSwapOptionSecurity(final CreditDefaultSwapOptionSecurity security) {
          return security.getCurrency();
        }

        @Override
        public Currency visitZeroCouponInflationSwapSecurity(final ZeroCouponInflationSwapSecurity security) {
          if (security.getPayLeg().getNotional() instanceof InterestRateNotional && security.getReceiveLeg().getNotional() instanceof InterestRateNotional) {
            final InterestRateNotional payLeg = (InterestRateNotional) security.getPayLeg().getNotional();
            final InterestRateNotional receiveLeg = (InterestRateNotional) security.getReceiveLeg().getNotional();
            if (payLeg.getCurrency().equals(receiveLeg.getCurrency())) {
              return payLeg.getCurrency();
            }
          }
          return null;
        }

        @Override
        public Currency visitYearOnYearInflationSwapSecurity(final YearOnYearInflationSwapSecurity security) {
          if (security.getPayLeg().getNotional() instanceof InterestRateNotional && security.getReceiveLeg().getNotional() instanceof InterestRateNotional) {
            final InterestRateNotional payLeg = (InterestRateNotional) security.getPayLeg().getNotional();
            final InterestRateNotional receiveLeg = (InterestRateNotional) security.getReceiveLeg().getNotional();
            if (payLeg.getCurrency().equals(receiveLeg.getCurrency())) {
              return payLeg.getCurrency();
            }
          }
          return null;
        }
View Full Code Here

        }

        @Override
        public Collection<Currency> visitSwapSecurity(final SwapSecurity security) {
          if (security.getPayLeg().getNotional() instanceof InterestRateNotional && security.getReceiveLeg().getNotional() instanceof InterestRateNotional) {
            final InterestRateNotional payLeg = (InterestRateNotional) security.getPayLeg().getNotional();
            final InterestRateNotional receiveLeg = (InterestRateNotional) security.getReceiveLeg().getNotional();
            if (payLeg.getCurrency().equals(receiveLeg.getCurrency())) {
              return Collections.singletonList(payLeg.getCurrency());
            } else {
              final Collection<Currency> collection = new ArrayList<Currency>();
              collection.add(payLeg.getCurrency());
              collection.add(receiveLeg.getCurrency());
              return collection;
            }
          }
          return null;
        }

        @Override
        public Collection<Currency> visitForwardSwapSecurity(final ForwardSwapSecurity security) {
          if (security.getPayLeg().getNotional() instanceof InterestRateNotional && security.getReceiveLeg().getNotional() instanceof InterestRateNotional) {
            final InterestRateNotional payLeg = (InterestRateNotional) security.getPayLeg().getNotional();
            final InterestRateNotional receiveLeg = (InterestRateNotional) security.getReceiveLeg().getNotional();
            if (payLeg.getCurrency().equals(receiveLeg.getCurrency())) {
              return Collections.singletonList(payLeg.getCurrency());
            } else {
              final Collection<Currency> collection = new ArrayList<Currency>();
              collection.add(payLeg.getCurrency());
              collection.add(receiveLeg.getCurrency());
              return collection;
            }
          }
          return null;
        }

        @Override
        public Collection<Currency> visitEquityIndexOptionSecurity(final EquityIndexOptionSecurity security) {
          return Collections.singletonList(security.getCurrency());
        }

        @Override
        public Collection<Currency> visitEquityOptionSecurity(final EquityOptionSecurity security) {
          return Collections.singletonList(security.getCurrency());
        }

        @Override
        public Collection<Currency> visitEquityBarrierOptionSecurity(final EquityBarrierOptionSecurity security) {
          return Collections.singletonList(security.getCurrency());
        }

        @Override
        public Collection<Currency> visitFXOptionSecurity(final FXOptionSecurity security) {
          final Collection<Currency> currencies = new ArrayList<Currency>();
          currencies.add(security.getCallCurrency());
          currencies.add(security.getPutCurrency());
          return currencies;
        }

        @Override
        public Collection<Currency> visitNonDeliverableFXOptionSecurity(final NonDeliverableFXOptionSecurity security) {
          final Collection<Currency> currencies = new ArrayList<Currency>();
          currencies.add(security.getCallCurrency());
          currencies.add(security.getPutCurrency());
          //deliveryCurrency is always already covered
          return currencies;
        }

        @Override
        public Collection<Currency> visitSwaptionSecurity(final SwaptionSecurity security) {
          // REVIEW: jim 1-Aug-2011 -- should we include the currencies of the underlying?
          return Collections.singletonList(security.getCurrency());
        }

        @Override
        public Collection<Currency> visitIRFutureOptionSecurity(final IRFutureOptionSecurity security) {
          return Collections.singletonList(security.getCurrency());
        }

        @Override
        public Collection<Currency> visitCommodityFutureOptionSecurity(final CommodityFutureOptionSecurity commodityFutureOptionSecurity) {
          return Collections.singleton(commodityFutureOptionSecurity.getCurrency());
        }

        @Override
        public Collection<Currency> visitFxFutureOptionSecurity(final FxFutureOptionSecurity security) {
          return Collections.singleton(security.getCurrency());
        }

        @Override
        public Collection<Currency> visitBondFutureOptionSecurity(final BondFutureOptionSecurity security) {
          return Collections.singletonList(security.getCurrency());
        }

        @Override
        public Collection<Currency> visitEquityIndexDividendFutureOptionSecurity(final EquityIndexDividendFutureOptionSecurity security) {
          return Collections.singletonList(security.getCurrency());
        }

        @Override
        public Collection<Currency> visitEquityIndexFutureOptionSecurity(final EquityIndexFutureOptionSecurity security) {
          return Collections.singletonList(security.getCurrency());
        }

        @Override
        public Collection<Currency> visitFXBarrierOptionSecurity(final FXBarrierOptionSecurity security) {
          final Collection<Currency> currencies = new ArrayList<Currency>();
          currencies.add(security.getCallCurrency());
          currencies.add(security.getPutCurrency());
          return currencies;
        }

        @Override
        public Collection<Currency> visitFXForwardSecurity(final FXForwardSecurity security) {
          final Collection<Currency> currencies = new ArrayList<Currency>();
          currencies.add(security.getPayCurrency());
          currencies.add(security.getReceiveCurrency());
          return currencies;
        }

        @Override
        public Collection<Currency> visitNonDeliverableFXForwardSecurity(final NonDeliverableFXForwardSecurity security) {
          final Collection<Currency> currencies = new ArrayList<Currency>();
          currencies.add(security.getPayCurrency());
          currencies.add(security.getReceiveCurrency());
          return currencies;
        }

        @Override
        public Collection<Currency> visitCapFloorSecurity(final CapFloorSecurity security) {
          return Collections.singletonList(security.getCurrency());
        }

        @Override
        public Collection<Currency> visitCapFloorCMSSpreadSecurity(final CapFloorCMSSpreadSecurity security) {
          return Collections.singletonList(security.getCurrency());
        }

        @Override
        public Collection<Currency> visitEquityVarianceSwapSecurity(final EquityVarianceSwapSecurity security) {
          return Collections.singletonList(security.getCurrency());
        }

        @Override
        public Collection<Currency> visitFXDigitalOptionSecurity(final FXDigitalOptionSecurity security) {
          final Collection<Currency> currencies = new ArrayList<Currency>();
          currencies.add(security.getCallCurrency());
          currencies.add(security.getPutCurrency());
          return currencies;
        }

        @Override
        public Collection<Currency> visitNonDeliverableFXDigitalOptionSecurity(final NonDeliverableFXDigitalOptionSecurity security) {
          final Collection<Currency> currencies = new ArrayList<Currency>();
          currencies.add(security.getCallCurrency());
          currencies.add(security.getPutCurrency());
          return currencies;
        }

        @Override
        public Collection<Currency> visitSimpleZeroDepositSecurity(final SimpleZeroDepositSecurity security) {
          return Collections.singletonList(security.getCurrency());
        }

        @Override
        public Collection<Currency> visitPeriodicZeroDepositSecurity(final PeriodicZeroDepositSecurity security) {
          return Collections.singletonList(security.getCurrency());
        }

        @Override
        public Collection<Currency> visitContinuousZeroDepositSecurity(final ContinuousZeroDepositSecurity security) {
          return Collections.singletonList(security.getCurrency());
        }

        @Override
        public Collection<Currency> visitAgricultureFutureSecurity(final AgricultureFutureSecurity security) {
          return Collections.singletonList(security.getCurrency());
        }

        @Override
        public Collection<Currency> visitBondFutureSecurity(final BondFutureSecurity security) {
          return Collections.singletonList(security.getCurrency());
        }

        @Override
        public Collection<Currency> visitEnergyFutureSecurity(final EnergyFutureSecurity security) {
          return Collections.singletonList(security.getCurrency());
        }

        @Override
        public Collection<Currency> visitEquityFutureSecurity(final EquityFutureSecurity security) {
          return Collections.singletonList(security.getCurrency());
        }

        @Override
        public Collection<Currency> visitEquityIndexDividendFutureSecurity(final EquityIndexDividendFutureSecurity security) {
          return Collections.singletonList(security.getCurrency());
        }

        @Override
        public Collection<Currency> visitFXFutureSecurity(final FXFutureSecurity security) {
          return Collections.singletonList(security.getCurrency());
        }

        @Override
        public Collection<Currency> visitIndexFutureSecurity(final IndexFutureSecurity security) {
          return Collections.singletonList(security.getCurrency());
        }

        @Override
        public Collection<Currency> visitInterestRateFutureSecurity(final InterestRateFutureSecurity security) {
          return Collections.singletonList(security.getCurrency());
        }

        @Override
        public Collection<Currency> visitFederalFundsFutureSecurity(final FederalFundsFutureSecurity security) {
          return Collections.singletonList(security.getCurrency());
        }

        @Override
        public Collection<Currency> visitMetalFutureSecurity(final MetalFutureSecurity security) {
          return Collections.singletonList(security.getCurrency());
        }

        @Override
        public Collection<Currency> visitStockFutureSecurity(final StockFutureSecurity security) {
          return Collections.singletonList(security.getCurrency());
        }

        @Override
        public Collection<Currency> visitAgricultureForwardSecurity(final AgricultureForwardSecurity security) {
          return Collections.singletonList(security.getCurrency());
        }

        @Override
        public Collection<Currency> visitEnergyForwardSecurity(final EnergyForwardSecurity security) {
          return Collections.singletonList(security.getCurrency());
        }

        @Override
        public Collection<Currency> visitMetalForwardSecurity(final MetalForwardSecurity security) {
          return Collections.singletonList(security.getCurrency());
        }

        @Override
        public Collection<Currency> visitCDSSecurity(final CDSSecurity security) {
          return Collections.singletonList(security.getCurrency());
        }

        @Override
        public Collection<Currency> visitStandardVanillaCDSSecurity(final StandardVanillaCDSSecurity security) {
          return Collections.singletonList(security.getNotional().getCurrency());
        }

        @Override
        public Collection<Currency> visitStandardFixedRecoveryCDSSecurity(final StandardFixedRecoveryCDSSecurity security) {
          return Collections.singletonList(security.getNotional().getCurrency());
        }

        @Override
        public Collection<Currency> visitStandardRecoveryLockCDSSecurity(final StandardRecoveryLockCDSSecurity security) {
          return Collections.singletonList(security.getNotional().getCurrency());
        }

        @Override
        public Collection<Currency> visitLegacyVanillaCDSSecurity(final LegacyVanillaCDSSecurity security) {
          return Collections.singletonList(security.getNotional().getCurrency());
        }

        @Override
        public Collection<Currency> visitLegacyFixedRecoveryCDSSecurity(final LegacyFixedRecoveryCDSSecurity security) {
          return Collections.singletonList(security.getNotional().getCurrency());
        }

        @Override
        public Collection<Currency> visitLegacyRecoveryLockCDSSecurity(final LegacyRecoveryLockCDSSecurity security) {
          return Collections.singletonList(security.getNotional().getCurrency());
        }

        @Override
        public Collection<Currency> visitDeliverableSwapFutureSecurity(final DeliverableSwapFutureSecurity security) {
          return Collections.singletonList(security.getCurrency());
        }

        @Override
        public Collection<Currency> visitCreditDefaultSwapIndexDefinitionSecurity(final CreditDefaultSwapIndexDefinitionSecurity security) {
          return Collections.singletonList(security.getCurrency());
        }

        @Override
        public Collection<Currency> visitCreditDefaultSwapIndexSecurity(final CreditDefaultSwapIndexSecurity security) {
          return Collections.singletonList(security.getNotional().getCurrency());
        }

        @Override
        public Collection<Currency> visitCreditDefaultSwapOptionSecurity(final CreditDefaultSwapOptionSecurity security) {
          return Collections.singletonList(security.getCurrency());
        }

        @Override
        public Collection<Currency> visitZeroCouponInflationSwapSecurity(final ZeroCouponInflationSwapSecurity security) {
          if (security.getPayLeg().getNotional() instanceof InterestRateNotional && security.getReceiveLeg().getNotional() instanceof InterestRateNotional) {
            final InterestRateNotional payLeg = (InterestRateNotional) security.getPayLeg().getNotional();
            final InterestRateNotional receiveLeg = (InterestRateNotional) security.getReceiveLeg().getNotional();
            if (payLeg.getCurrency().equals(receiveLeg.getCurrency())) {
              return Collections.singletonList(payLeg.getCurrency());
            }
            final Collection<Currency> collection = new ArrayList<Currency>();
            collection.add(payLeg.getCurrency());
            collection.add(receiveLeg.getCurrency());
            return collection;
          }
          return null;
        }

        @Override
        public Collection<Currency> visitYearOnYearInflationSwapSecurity(final YearOnYearInflationSwapSecurity security) {
          if (security.getPayLeg().getNotional() instanceof InterestRateNotional && security.getReceiveLeg().getNotional() instanceof InterestRateNotional) {
            final InterestRateNotional payLeg = (InterestRateNotional) security.getPayLeg().getNotional();
            final InterestRateNotional receiveLeg = (InterestRateNotional) security.getReceiveLeg().getNotional();
            if (payLeg.getCurrency().equals(receiveLeg.getCurrency())) {
              return Collections.singletonList(payLeg.getCurrency());
            }
            final Collection<Currency> collection = new ArrayList<Currency>();
            collection.add(payLeg.getCurrency());
            collection.add(receiveLeg.getCurrency());
            return collection;
          }
          return null;
        }
View Full Code Here

    final PeriodFrequency frequency = PeriodFrequency.QUARTERLY;
    final ExternalId cmsId = TICKERS.get(tenor);
    if (cmsId == null) {
      throw new OpenGammaRuntimeException("Could not get swap rate ticker for " + tenor);
    }
    final InterestRateNotional notional = new InterestRateNotional(Currency.USD, 1000000 * (1 + random.nextInt(50)));
    final FloatingInterestRateLeg iborLeg = new FloatingInterestRateLeg(ACT_360, frequency, REGION, FOLLOWING, notional, true,
        iborReferenceRate, FloatingRateType.IBOR);
    final FloatingInterestRateLeg cmsLeg = new FloatingInterestRateLeg(ACT_360, frequency, REGION, FOLLOWING, notional, true,
        cmsId, FloatingRateType.CMS);
    SwapSecurity security;
    boolean payIbor;
    if (random.nextBoolean()) {
      security = new SwapSecurity(tradeDate, tradeDate, maturityDate, COUNTERPARTY, iborLeg, cmsLeg);
      payIbor = true;
    } else {
      security = new SwapSecurity(tradeDate, tradeDate, maturityDate, COUNTERPARTY, cmsLeg, iborLeg);
      payIbor = false;
    }
    security.setName(CURRENCY.getCode() + " " + FORMAT.format(notional.getAmount() / 1000000) + "MM Swap, pay " +
        (payIbor ? frequency.getPeriod().getMonths() + "M Libor, receive " + tenor.getPeriod().getYears() + "Y ISDA fixing (" :
          tenor.getPeriod().getYears() + "Y ISDA fixing, receive " + frequency.getPeriod().getMonths() + "M Libor (") +
          tradeDate.toLocalDate().toString() + " - " + maturityDate.toLocalDate().toString() + ")");
    security.addExternalId(ExternalId.of(ID_SCHEME, GUIDGenerator.generate().toString()));
    return security;
View Full Code Here

        @Override
        public CurrencyAmount visitSwapSecurity(final SwapSecurity security) {
          final SwapLeg payNotional = security.getPayLeg();
          final SwapLeg receiveNotional = security.getReceiveLeg();
          if (payNotional.getNotional() instanceof InterestRateNotional && receiveNotional.getNotional() instanceof InterestRateNotional) {
            final InterestRateNotional pay = (InterestRateNotional) payNotional.getNotional();
            final InterestRateNotional receive = (InterestRateNotional) receiveNotional.getNotional();
            if (Double.compare(pay.getAmount(), receive.getAmount()) == 0) {
              return CurrencyAmount.of(pay.getCurrency(), pay.getAmount());
            }
          }
          throw new OpenGammaRuntimeException("Can only handle interest rate notionals with the same amounts");
        }

        @Override
        public CurrencyAmount visitFXOptionSecurity(final FXOptionSecurity security) {
          final Currency currency1 = security.getPutCurrency();
          final double amount1 = security.getPutAmount();
          final Currency currency2 = security.getCallCurrency();
          final double amount2 = security.getCallAmount();
          final CurrencyPair currencyPair = currencyPairs.getCurrencyPair(currency1, currency2);
          if (currencyPair.getBase().equals(currency1)) {
            return CurrencyAmount.of(currency1, amount1);
          }
          return CurrencyAmount.of(currency2, amount2);
        }

        @Override
        public CurrencyAmount visitFXBarrierOptionSecurity(final FXBarrierOptionSecurity security) {
          final Currency currency1 = security.getPutCurrency();
          final double amount1 = security.getPutAmount();
          final Currency currency2 = security.getCallCurrency();
          final double amount2 = security.getCallAmount();
          final CurrencyPair currencyPair = currencyPairs.getCurrencyPair(currency1, currency2);
          if (currencyPair.getBase().equals(currency1)) {
            return CurrencyAmount.of(currency1, amount1);
          }
          return CurrencyAmount.of(currency2, amount2);
        }

        @Override
        public CurrencyAmount visitNonDeliverableFXOptionSecurity(final NonDeliverableFXOptionSecurity security) {
          final Currency currency = security.getDeliveryCurrency();
          final double amount = security.getCallCurrency().equals(currency) ? security.getCallAmount() : security.getPutAmount();
          return CurrencyAmount.of(currency, amount);
        }

        @Override
        public CurrencyAmount visitFXDigitalOptionSecurity(final FXDigitalOptionSecurity security) {
          final Currency currency1 = security.getPutCurrency();
          final double amount1 = security.getPutAmount();
          final Currency currency2 = security.getCallCurrency();
          final double amount2 = security.getCallAmount();
          final CurrencyPair currencyPair = currencyPairs.getCurrencyPair(currency1, currency2);
          if (currencyPair.getBase().equals(currency1)) {
            return CurrencyAmount.of(currency1, amount1);
          }
          return CurrencyAmount.of(currency2, amount2);
        }

        @Override
        public CurrencyAmount visitNonDeliverableFXDigitalOptionSecurity(final NonDeliverableFXDigitalOptionSecurity security) {
          final Currency currency = security.getPaymentCurrency();
          final double amount = security.getCallCurrency().equals(currency) ? security.getCallAmount() : security.getPutAmount();
          return CurrencyAmount.of(currency, amount);
        }

        @Override
        public CurrencyAmount visitFXForwardSecurity(final FXForwardSecurity security) {
          final Currency currency1 = security.getPayCurrency();
          final double amount1 = security.getPayAmount();
          final Currency currency2 = security.getReceiveCurrency();
          final double amount2 = security.getReceiveAmount();
          final CurrencyPair currencyPair = currencyPairs.getCurrencyPair(currency1, currency2);
          if (currencyPair.getBase().equals(currency1)) {
            return CurrencyAmount.of(currency1, amount1);
          }
          return CurrencyAmount.of(currency2, amount2);
        }

        @Override
        public CurrencyAmount visitStandardVanillaCDSSecurity(final StandardVanillaCDSSecurity security) {
          final InterestRateNotional notional = security.getNotional();
          final int sign = security.isBuy() ? 1 : -1;
          return CurrencyAmount.of(notional.getCurrency(), sign * notional.getAmount());
        }

        @Override
        public CurrencyAmount visitLegacyVanillaCDSSecurity(final LegacyVanillaCDSSecurity security) {
          final InterestRateNotional notional = security.getNotional();
          final int sign = security.isBuy() ? 1 : -1;
          return CurrencyAmount.of(notional.getCurrency(), sign * notional.getAmount());
        }

        @Override
        public CurrencyAmount visitGovernmentBondSecurity(final GovernmentBondSecurity security) {
          final Currency currency = security.getCurrency();
          final double notional = security.getMinimumAmount();
          return CurrencyAmount.of(currency, notional);
        }

        @Override
        public CurrencyAmount visitCorporateBondSecurity(final CorporateBondSecurity security) {
          final Currency currency = security.getCurrency();
          final double notional = security.getMinimumAmount();
          return CurrencyAmount.of(currency, notional);
        }

        @Override
        public CurrencyAmount visitMunicipalBondSecurity(final MunicipalBondSecurity security) {
          final Currency currency = security.getCurrency();
          final double notional = security.getMinimumAmount();
          return CurrencyAmount.of(currency, notional);
        }

        @Override
        public CurrencyAmount visitSwaptionSecurity(final SwaptionSecurity security) {
          final Security underlying = securitySource.getSingle(ExternalIdBundle.of(security.getUnderlyingId()));
          Preconditions.checkState(underlying instanceof SwapSecurity, "Failed to resolve underlying SwapSecurity. DB record potentially corrupted. '%s' returned.", underlying);
          return visitSwapSecurity((SwapSecurity) underlying);
        }

        @Override
        public CurrencyAmount visitEquityIndexOptionSecurity(final EquityIndexOptionSecurity security) {
          final Currency currency = security.getCurrency();
          final double notional = security.getPointValue();
          return CurrencyAmount.of(currency, notional);
        }

        @Override
        public CurrencyAmount visitInterestRateFutureSecurity(final InterestRateFutureSecurity security) {
          final Currency currency = security.getCurrency();
          final double notional = security.getUnitAmount();
          return CurrencyAmount.of(currency, notional);
        }

        @Override
        public CurrencyAmount visitFederalFundsFutureSecurity(final FederalFundsFutureSecurity security) {
          final Currency currency = security.getCurrency();
          final double notional = security.getUnitAmount();
          return CurrencyAmount.of(currency, notional);
        }

        @Override
        public CurrencyAmount visitCreditDefaultSwapIndexSecurity(final CreditDefaultSwapIndexSecurity security) {
          final InterestRateNotional notional = security.getNotional();
          return CurrencyAmount.of(notional.getCurrency(), notional.getAmount());
        }

        @Override
        public CurrencyAmount visitCreditDefaultSwapOptionSecurity(final CreditDefaultSwapOptionSecurity security) {
          final Currency currency = security.getCurrency();
View Full Code Here

    @Override
    public Notional convertFromString(Class<? extends Notional> cls, String str) {     
      if (cls.isAssignableFrom(InterestRateNotional.class)) {
        String[] s = str.split(" ", 2);       
        return new InterestRateNotional(Currency.of(s[0].trim()), Double.parseDouble(s[1].trim()));
      } else if (cls.isAssignableFrom(CommodityNotional.class)) {
        return new CommodityNotional();
      } else if (cls.isAssignableFrom(SecurityNotional.class)) {
        return new SecurityNotional(UniqueId.parse(str));
      } else if (cls.isAssignableFrom(VarianceSwapNotional.class)) {
View Full Code Here

  private Collection<FinancialSecurity> getVanillaSwapSecurities(final Random random) {
    final ZonedDateTime tradeDate = DateUtils.getUTCDate(2013, 8, 1);
    final ZonedDateTime effectiveDate = DateUtils.getUTCDate(2013, 8, 5);
    final Collection<FinancialSecurity> securities = new ArrayList<>();
    for (int i = 0; i < N_VANILLA_SWAPS; i++) {
      final InterestRateNotional notional = new InterestRateNotional(CURRENCY, 10000000 * (1 + random.nextInt(9)));
      final int years = 1 + random.nextInt(30);
      final ZonedDateTime maturityDate = tradeDate.plusYears(years);
      final double rate = years * 0.001 + random.nextDouble() / 5000;
      final FixedInterestRateLeg fixedLeg = new FixedInterestRateLeg(ACT_360, SEMI_ANNUAL, REGION, MODIFIED_FOLLOWING, notional, false, rate);
      final Frequency frequency;
      final ExternalId euribor;
      final String frequencyLabel;
      if (random.nextBoolean()) {
        frequency = QUARTERLY;
        euribor = EURIBOR_3M;
        frequencyLabel = "3m Euribor";
      } else {
        frequency = SEMI_ANNUAL;
        euribor = EURIBOR_6M;
        frequencyLabel = "6m Euribor";
      }
      final FloatingInterestRateLeg floatingLeg = new FloatingInterestRateLeg(ACT_360, frequency, REGION, MODIFIED_FOLLOWING, notional, false, euribor, FloatingRateType.IBOR);
      final SwapSecurity swap;
      final String name;
      if (random.nextBoolean()) {
        swap = new SwapSecurity(tradeDate, effectiveDate, maturityDate, COUNTERPARTY, fixedLeg, floatingLeg);
        name = years + "Y EUR " + FORMATTER.format(notional.getAmount() / 1000000) + "MM, pay " + FORMATTER.format(rate * 100) + "% vs " + frequencyLabel;
      } else {
        swap = new SwapSecurity(tradeDate, effectiveDate, maturityDate, COUNTERPARTY, floatingLeg, fixedLeg);
        name = years + "Y EUR " + FORMATTER.format(notional.getAmount() / 1000000) + "MM, receive " + FORMATTER.format(rate * 100) + "% vs " + frequencyLabel;
      }
      swap.setName(name);
      swap.addExternalId(ExternalId.of(ID_SCHEME, GUIDGenerator.generate().toString()));
      securities.add(swap);
    }
View Full Code Here

  private Collection<FinancialSecurity> getOISSwapSecurities(final Random random) {
    final ZonedDateTime tradeDate = DateUtils.getUTCDate(2013, 8, 1);
    final ZonedDateTime effectiveDate = DateUtils.getUTCDate(2013, 8, 5);
    final Collection<FinancialSecurity> securities = new ArrayList<>();
    for (int i = 0; i < N_OIS_SWAPS; i++) {
      final InterestRateNotional notional = new InterestRateNotional(CURRENCY, 10000000 * (1 + random.nextInt(9)));
      final int years = 1 + random.nextInt(30);
      final ZonedDateTime maturityDate = tradeDate.plusYears(years);
      final double rate = years * 0.001 + random.nextDouble() / 5000;
      final FixedInterestRateLeg fixedLeg = new FixedInterestRateLeg(ACT_360, SEMI_ANNUAL, REGION, MODIFIED_FOLLOWING, notional, false, rate);
      final Frequency frequency;
      if (random.nextBoolean()) {
        frequency = QUARTERLY;
      } else {
        frequency = SEMI_ANNUAL;
      }
      final FloatingInterestRateLeg floatingLeg = new FloatingInterestRateLeg(ACT_360, frequency, REGION, MODIFIED_FOLLOWING, notional, false, EONIA, FloatingRateType.OIS);
      final SwapSecurity swap;
      final String name;
      if (random.nextBoolean()) {
        swap = new SwapSecurity(tradeDate, effectiveDate, maturityDate, COUNTERPARTY, fixedLeg, floatingLeg);
        name = years + "Y EUR " + FORMATTER.format(notional.getAmount() / 1000000) + "MM, pay " + FORMATTER.format(rate * 100) + "% vs EONIA";
      } else {
        swap = new SwapSecurity(tradeDate, effectiveDate, maturityDate, COUNTERPARTY, floatingLeg, fixedLeg);
        name = years + "Y EUR " + FORMATTER.format(notional.getAmount() / 1000000) + "MM, receive " + FORMATTER.format(rate * 100) + "% vs EONIA";
      }
      swap.setName(name);
      swap.addExternalId(ExternalId.of(ID_SCHEME, GUIDGenerator.generate().toString()));
      securities.add(swap);
    }
View Full Code Here

  private Collection<FinancialSecurity> getBasisSwapSecurities(final Random random) {
    final ZonedDateTime tradeDate = DateUtils.getUTCDate(2013, 8, 1);
    final ZonedDateTime effectiveDate = DateUtils.getUTCDate(2013, 8, 5);
    final Collection<FinancialSecurity> securities = new ArrayList<>();
    for (int i = 0; i < N_BASIS_SWAPS; i++) {
      final InterestRateNotional notional = new InterestRateNotional(CURRENCY, 10000000 * (1 + random.nextInt(9)));
      final int years = 1 + random.nextInt(30);
      final ZonedDateTime maturityDate = tradeDate.plusYears(years);
      final double spread = years * 0.002 + random.nextDouble() / 1000.;
      final Frequency payFrequency, receiveFrequency;
      final ExternalId payRate, receiveRate;
      final FloatingInterestRateLeg payLeg, receiveLeg;
      final String frequencyLabel;
      if (random.nextBoolean()) {
        payFrequency = QUARTERLY;
        receiveFrequency = SEMI_ANNUAL;
        payRate = EURIBOR_3M;
        receiveRate = EURIBOR_6M;
        payLeg = new FloatingSpreadIRLeg(ACT_360, payFrequency, REGION, MODIFIED_FOLLOWING, notional, false, payRate, FloatingRateType.IBOR, spread);
        receiveLeg = new FloatingInterestRateLeg(ACT_360, receiveFrequency, REGION, MODIFIED_FOLLOWING, notional, false, receiveRate, FloatingRateType.IBOR);
        frequencyLabel = "pay 3M Euribor + " + FORMATTER.format((int) (spread * 1000)) + "bp, receive 6M Euribor";
      } else {
        payFrequency = SEMI_ANNUAL;
        receiveFrequency = QUARTERLY;
        payRate = EURIBOR_6M;
        receiveRate = EURIBOR_3M;
        payLeg = new FloatingInterestRateLeg(ACT_360, payFrequency, REGION, MODIFIED_FOLLOWING, notional, false, payRate, FloatingRateType.IBOR);
        receiveLeg = new FloatingSpreadIRLeg(ACT_360, receiveFrequency, REGION, MODIFIED_FOLLOWING, notional, false, receiveRate, FloatingRateType.IBOR, spread);
        frequencyLabel = "receive 3M Euribor + " + FORMATTER.format((int) (spread * 1000)) + "bp, pay 6M Euribor";
      }
      final SwapSecurity swap = new SwapSecurity(tradeDate, effectiveDate, maturityDate, COUNTERPARTY, payLeg, receiveLeg);
      final String name = years + "Y EUR " + FORMATTER.format(notional.getAmount() / 1000000) + "MM, " + frequencyLabel;
      swap.setName(name);
      swap.addExternalId(ExternalId.of(ID_SCHEME, GUIDGenerator.generate().toString()));
      securities.add(swap);
    }
    return securities;
View Full Code Here

    SwapLeg payLeg = new FixedInterestRateLeg(
        DayCountFactory.INSTANCE.getDayCount("Act/360"),
        SimpleFrequency.MONTHLY,
        ExternalId.of(ExternalSchemes.FINANCIAL, "123"),
        BusinessDayConventionFactory.INSTANCE.getBusinessDayConvention("Following"),
        new InterestRateNotional(Currency.GBP, 123),
        false,
        0.01);
    SwapLeg receiveLeg = new FloatingInterestRateLeg(
        DayCountFactory.INSTANCE.getDayCount("Act/Act"),
        SimpleFrequency.QUARTERLY,
        ExternalId.of(ExternalSchemes.FINANCIAL, "123"),
        BusinessDayConventionFactory.INSTANCE.getBusinessDayConvention("Modified Following"),
        new InterestRateNotional(Currency.GBP, 234),
        false,
        ExternalId.of("Rate", "asdf"),
        FloatingRateType.IBOR);
    SwapSecurity security = new SwapSecurity(tradeDate, effectiveDate, maturityDate, "cpty", payLeg, receiveLeg);
    security.setName("Test swap");
View Full Code Here

TOP

Related Classes of com.opengamma.financial.security.swap.InterestRateNotional

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.