Example #1
0
        //-------------------------------------------------------------------------
        public virtual void test_summarize()
        {
            FxSingleTrade        trade    = sut();
            PortfolioItemSummary expected = PortfolioItemSummary.builder().id(TRADE_INFO.Id.orElse(null)).portfolioItemType(PortfolioItemType.TRADE).productType(ProductType.FX_SINGLE).currencies(Currency.GBP, Currency.USD).description("Rec GBP 1k @ GBP/USD 1.6 : 30Jun15").build();

            assertEquals(trade.summarize(), expected);
        }
Example #2
0
        //-------------------------------------------------------------------------
        public virtual void test_summarize()
        {
            OvernightFuturePosition test     = OvernightFuturePosition.builder().info(POSITION_INFO).product(PRODUCT).longQuantity(QUANTITY).build();
            PortfolioItemSummary    expected = PortfolioItemSummary.builder().id(POSITION_INFO.Id.orElse(null)).portfolioItemType(PortfolioItemType.POSITION).productType(ProductType.OVERNIGHT_FUTURE).currencies(Currency.USD).description("OnFuture x 10").build();

            assertEquals(test.summarize(), expected);
        }
        //-------------------------------------------------------------------------
        public virtual void test_summarize()
        {
            TermDepositTrade     trade    = TermDepositTrade.builder().product(DEPOSIT).info(TRADE_INFO).build();
            PortfolioItemSummary expected = PortfolioItemSummary.builder().id(TRADE_INFO.Id.orElse(null)).portfolioItemType(PortfolioItemType.TRADE).productType(ProductType.TERM_DEPOSIT).currencies(Currency.GBP).description("6M GBP 100mm Deposit 2.5% : 19Jan15-19Jul15").build();

            assertEquals(trade.summarize(), expected);
        }
        //-------------------------------------------------------------------------
        public virtual void test_summarize()
        {
            SwaptionTrade        trade    = sut();
            PortfolioItemSummary expected = PortfolioItemSummary.builder().id(TRADE_INFO.Id.orElse(null)).portfolioItemType(PortfolioItemType.TRADE).productType(ProductType.SWAPTION).currencies(Currency.USD).description("Long 10Y USD 100mm Rec USD-LIBOR-3M / Pay 1.5% : 14Jun14").build();

            assertEquals(trade.summarize(), expected);
        }
        //-------------------------------------------------------------------------
        public virtual void test_summarize()
        {
            FxNdfTrade           trade    = sut();
            PortfolioItemSummary expected = PortfolioItemSummary.builder().portfolioItemType(PortfolioItemType.TRADE).productType(ProductType.FX_NDF).currencies(Currency.GBP, Currency.USD).description("Rec GBP 100mm @ GBP/USD 1.5 NDF : 19Mar15").build();

            assertEquals(trade.summarize(), expected);
        }
Example #6
0
        //-------------------------------------------------------------------------
        public virtual void test_summarize()
        {
            EtdOptionPosition    trade    = sut();
            PortfolioItemSummary expected = PortfolioItemSummary.builder().id(POSITION_INFO.Id.orElse(null)).portfolioItemType(PortfolioItemType.POSITION).productType(ProductType.ETD_OPTION).currencies(SECURITY.Currency).description(SECURITY.SecurityId.StandardId.Value + " x 1000, Jun17 P2").build();

            assertEquals(trade.summarize(), expected);
        }
Example #7
0
        public virtual void test_summarize_singleLeg()
        {
            CmsTrade             trade    = CmsTrade.builder().product(Cms.of(CmsLegTest.sutCap())).build();
            PortfolioItemSummary expected = PortfolioItemSummary.builder().id(TRADE_INFO.Id.orElse(null)).portfolioItemType(PortfolioItemType.TRADE).productType(ProductType.CMS).currencies(Currency.EUR).description("2Y EUR 1mm Rec EUR-EURIBOR-1100-10Y Cap 1.25% : 21Oct15-21Oct17").build();

            assertEquals(trade.summarize(), expected);
        }
Example #8
0
        //-------------------------------------------------------------------------
        public virtual void test_summarize()
        {
            FixedCouponBondPosition trade    = sut();
            PortfolioItemSummary    expected = PortfolioItemSummary.builder().id(POSITION_INFO.Id.orElse(null)).portfolioItemType(PortfolioItemType.POSITION).productType(ProductType.BOND).currencies(Currency.EUR).description("Bond x 10").build();

            assertEquals(trade.summarize(), expected);
        }
        //-------------------------------------------------------------------------
        public virtual void test_summarize()
        {
            FraTrade             trade    = sut();
            PortfolioItemSummary expected = PortfolioItemSummary.builder().id(TRADE_INFO.Id.orElse(null)).portfolioItemType(PortfolioItemType.TRADE).productType(ProductType.FRA).currencies(Currency.GBP).description("3x6 GBP 1mm Rec GBP-LIBOR / Pay 2.5% : 15Jun15-15Sep15").build();

            assertEquals(trade.summarize(), expected);
        }
Example #10
0
        public virtual void test_summarize()
        {
            BillPosition         @base    = BillPosition.builder().info(POSITION_INFO1).product(PRODUCT1).longQuantity(QUANTITY1).build();
            PortfolioItemSummary expected = PortfolioItemSummary.builder().id(POSITION_INFO1.Id.orElse(null)).portfolioItemType(PortfolioItemType.POSITION).productType(ProductType.BILL).currencies(USD).description("Bill2019-05-23 x 10").build();

            assertEquals(@base.summarize(), expected);
        }
Example #11
0
        //-------------------------------------------------------------------------
        public virtual void test_summarize()
        {
            IborFutureTrade      trade    = sut();
            PortfolioItemSummary expected = PortfolioItemSummary.builder().id(TRADE_INFO.Id.orElse(null)).portfolioItemType(PortfolioItemType.TRADE).productType(ProductType.IBOR_FUTURE).currencies(Currency.USD).description("IborFuture x 35").build();

            assertEquals(trade.summarize(), expected);
        }
Example #12
0
        //-------------------------------------------------------------------------
        public virtual void test_summarize()
        {
            BillTrade            trade    = sut_yield();
            PortfolioItemSummary expected = PortfolioItemSummary.builder().id(TRADE_INFO.Id.orElse(null)).portfolioItemType(PortfolioItemType.TRADE).productType(ProductType.BILL).currencies(Currency.USD).description("Bill2019-05-23 x 123").build();

            assertEquals(trade.summarize(), expected);
        }
        //-------------------------------------------------------------------------
        public virtual void test_summarize()
        {
            SwapTrade            trade    = SwapTrade.of(TRADE_INFO, SWAP1);
            PortfolioItemSummary expected = PortfolioItemSummary.builder().id(TRADE_INFO.Id.orElse(null)).portfolioItemType(PortfolioItemType.TRADE).productType(ProductType.SWAP).currencies(Currency.GBP, Currency.EUR, Currency.USD).description("7M Pay [GBP-LIBOR-3M, EUR/GBP-ECB, EUR-EONIA] / Rec [GBP-LIBOR-3M, EUR/GBP-ECB, EUR-EONIA] : 15Jan12-15Aug12").build();

            assertEquals(trade.summarize(), expected);
        }
        //-------------------------------------------------------------------------
        public virtual void test_summarize()
        {
            CdsIndexTrade        trade    = sut();
            PortfolioItemSummary expected = PortfolioItemSummary.builder().id(TRADE_INFO.Id.orElse(null)).portfolioItemType(PortfolioItemType.TRADE).productType(ProductType.CDS_INDEX).currencies(Currency.USD).description("10Y9M Buy USD 1000mm AA-INDEX / 5% : 20Dec13-20Sep24").build();

            assertEquals(trade.summarize(), expected);
        }
Example #15
0
        //-------------------------------------------------------------------------
        public virtual void test_summarize()
        {
            BulletPaymentTrade   trade    = BulletPaymentTrade.builder().info(TRADE_INFO).product(PRODUCT1).build();
            PortfolioItemSummary expected = PortfolioItemSummary.builder().id(TRADE_INFO.Id.orElse(null)).portfolioItemType(PortfolioItemType.TRADE).productType(ProductType.BULLET_PAYMENT).currencies(Currency.GBP).description("Pay GBP 1k : 30Jun15").build();

            assertEquals(trade.summarize(), expected);
        }
        //-------------------------------------------------------------------------
        public virtual void test_summarize()
        {
            OvernightFutureTrade trade    = OvernightFutureTrade.builder().info(TRADE_INFO).product(PRODUCT).quantity(QUANTITY).price(PRICE).build();
            PortfolioItemSummary expected = PortfolioItemSummary.builder().id(TRADE_INFO.Id.orElse(null)).portfolioItemType(PortfolioItemType.TRADE).productType(ProductType.OVERNIGHT_FUTURE).currencies(Currency.USD).description("OnFuture x 35").build();

            assertEquals(trade.summarize(), expected);
        }
        //-------------------------------------------------------------------------
        public virtual void test_summarize()
        {
            EtdFutureTrade       trade    = sut();
            PortfolioItemSummary expected = PortfolioItemSummary.builder().portfolioItemType(PortfolioItemType.TRADE).productType(ProductType.ETD_FUTURE).currencies(SECURITY.Currency).description(SECURITY.SecurityId.StandardId.Value + " x 3000, Jun17").build();

            assertEquals(trade.summarize(), expected);
        }
Example #18
0
        public virtual void test_summarize_floor()
        {
            IborCapFloorTrade    trade    = IborCapFloorTrade.builder().info(TRADE_INFO).product(PRODUCT_FLOOR).build();
            PortfolioItemSummary expected = PortfolioItemSummary.builder().id(TRADE_INFO.Id.orElse(null)).portfolioItemType(PortfolioItemType.TRADE).productType(ProductType.IBOR_CAP_FLOOR).currencies(Currency.EUR).description("5Y EUR 1mm Rec EUR-EURIBOR-3M Floor 3.25% : 17Mar11-17Mar16").build();

            assertEquals(trade.summarize(), expected);
        }
Example #19
0
        public virtual void test_summarize_floor()
        {
            CmsTrade             trade    = CmsTrade.builder().info(TRADE_INFO).product(PRODUCT_FLOOR).premium(PREMIUM).build();
            PortfolioItemSummary expected = PortfolioItemSummary.builder().id(TRADE_INFO.Id.orElse(null)).portfolioItemType(PortfolioItemType.TRADE).productType(ProductType.CMS).currencies(Currency.EUR).description("2Y EUR 1mm Rec EUR-EURIBOR-1100-10Y Floor 1.25% / Pay Premium : 21Oct15-21Oct17").build();

            assertEquals(trade.summarize(), expected);
        }
Example #20
0
        //-------------------------------------------------------------------------
        public virtual void test_summarize()
        {
            BondFutureOptionTrade trade    = sut();
            PortfolioItemSummary  expected = PortfolioItemSummary.builder().id(TRADE_INFO.Id.orElse(null)).portfolioItemType(PortfolioItemType.TRADE).productType(ProductType.BOND_FUTURE_OPTION).currencies(Currency.USD).description("BondFutureOption x 1234").build();

            assertEquals(trade.summarize(), expected);
        }
        //-------------------------------------------------------------------------
        public virtual void test_summarize()
        {
            FxVanillaOptionTrade trade    = sut();
            PortfolioItemSummary expected = PortfolioItemSummary.builder().portfolioItemType(PortfolioItemType.TRADE).productType(ProductType.FX_VANILLA_OPTION).currencies(Currency.USD, Currency.EUR).description("Long Rec EUR 1mm @ EUR/USD 1.35 Premium EUR 50k : 14Feb15").build();

            assertEquals(trade.summarize(), expected);
        }
        //-------------------------------------------------------------------------
        public virtual void test_summarize()
        {
            CapitalIndexedBondTrade trade    = sut();
            PortfolioItemSummary    expected = PortfolioItemSummary.builder().id(TRADE_INFO.Id.orElse(null)).portfolioItemType(PortfolioItemType.TRADE).productType(ProductType.BOND).currencies(Currency.USD).description("Bond x 10").build();

            assertEquals(trade.summarize(), expected);
        }
        //-------------------------------------------------------------------------
        public virtual void test_summarize()
        {
            FxSwapTrade          trade    = sut();
            PortfolioItemSummary expected = PortfolioItemSummary.builder().portfolioItemType(PortfolioItemType.TRADE).productType(ProductType.FX_SWAP).currencies(Currency.GBP, Currency.USD).description("Rec GBP 1k @ GBP/USD 1.6 / Pay GBP 1k @ GBP/USD 1.55 : 21Nov11-21Dec11").build();

            assertEquals(trade.summarize(), expected);
        }
        //-------------------------------------------------------------------------
        public virtual void test_summarize()
        {
            BondFutureOptionPosition tes      = sut();
            PortfolioItemSummary     expected = PortfolioItemSummary.builder().id(POSITION_INFO.Id.orElse(null)).portfolioItemType(PortfolioItemType.POSITION).productType(ProductType.BOND_FUTURE_OPTION).currencies(Currency.USD).description("BondFutureOption x 10").build();

            assertEquals(tes.summarize(), expected);
        }
        public PortfolioItemSummary summarize()
        {
//JAVA TO C# CONVERTER TODO TASK: Method reference arbitrary object instance method syntax is not converted by Java to C# Converter:
//JAVA TO C# CONVERTER TODO TASK: Most Java stream collectors are not converted by Java to C# Converter:
            string typesStr = typedSensitivities.Keys.Select(CurveSensitivitiesType::toString).OrderBy(c => c).collect(joining(", ", "CurveSensitivities[", "]"));

            return(PortfolioItemSummary.of(Id.orElse(null), PortfolioItemType.SENSITIVITIES, ProductType.SENSITIVITIES, typedSensitivities.values().stream().flatMap(s => s.Sensitivities.stream()).map(s => s.Currency).collect(toImmutableSet()), typesStr));
        }
        //-------------------------------------------------------------------------
        public virtual void test_summary_trade()
        {
            StandardId           id          = StandardId.of("X", "Y");
            Trade                trade       = new TradeAnonymousInnerClass(this, id);
            string               description = "desc";
            PortfolioItemSummary expected    = PortfolioItemSummary.of(id, PortfolioItemType.TRADE, ProductType.FRA, ImmutableSet.of(GBP), description);

            assertEquals(SummarizerUtils.summary(trade, ProductType.FRA, description, GBP), expected);
        }
        //-------------------------------------------------------------------------
        public virtual void test_summary_position()
        {
            StandardId           id          = StandardId.of("X", "Y");
            SecurityPosition     position    = SecurityPosition.builder().securityId(SecurityId.of("A", "B")).longQuantity(123).info(PositionInfo.of(id)).build();
            string               description = "desc";
            PortfolioItemSummary expected    = PortfolioItemSummary.of(id, PortfolioItemType.POSITION, ProductType.SECURITY, ImmutableSet.of(GBP), description);

            assertEquals(SummarizerUtils.summary(position, ProductType.SECURITY, description, GBP), expected);
        }
        //-------------------------------------------------------------------------
        public virtual void test_summarize()
        {
            CurveSensitivities   @base = sut2();
            PortfolioItemSummary test  = @base.summarize();

            assertEquals(test.Id, ID2);
            assertEquals(test.PortfolioItemType, PortfolioItemType.SENSITIVITIES);
            assertEquals(test.ProductType, ProductType.SENSITIVITIES);
            assertEquals(test.Currencies, ImmutableSet.of(EUR, USD));
            assertEquals(test.Description, "CurveSensitivities[ZeroRateDelta, ZeroRateGamma]");
        }
 /// <summary>
 /// Creates a summary instance for a trade.
 /// </summary>
 /// <param name="trade">  the trade </param>
 /// <param name="type">  the type </param>
 /// <param name="description">  the description </param>
 /// <param name="currencies">  the currencies, may be empty </param>
 /// <returns> the string form </returns>
 public static PortfolioItemSummary summary(Trade trade, ProductType type, string description, params Currency[] currencies)
 {
     return(PortfolioItemSummary.of(trade.Id.orElse(null), PortfolioItemType.TRADE, type, ImmutableSet.copyOf(currencies), description));
 }
 //-------------------------------------------------------------------------
 /// <summary>
 /// Creates a summary instance for a position.
 /// </summary>
 /// <param name="position">  the position </param>
 /// <param name="type">  the type </param>
 /// <param name="description">  the description </param>
 /// <param name="currencies">  the currencies, may be empty </param>
 /// <returns> the string form </returns>
 public static PortfolioItemSummary summary(Position position, ProductType type, string description, params Currency[] currencies)
 {
     return(PortfolioItemSummary.of(position.Id.orElse(null), PortfolioItemType.POSITION, type, ImmutableSet.copyOf(currencies), description));
 }