//------------------------------------------------------------------------- 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); }
public virtual void test_methods() { EtdOptionPosition test = sut(); assertEquals(test.Type, EtdType.OPTION); assertEquals(test.Currency, Currency.GBP); assertEquals(test.SecurityId, test.Security.SecurityId); assertEquals(test.Quantity, 1000d, 0d); }
public virtual void test_ofLongShort() { EtdOptionPosition test = EtdOptionPosition.ofLongShort(SECURITY, 2000, 1000); assertEquals(test.LongQuantity, 2000d, 0d); assertEquals(test.ShortQuantity, 1000d, 0d); assertEquals(test.Security, SECURITY); assertEquals(test.Quantity, 1000d, 0d); }
//------------------------------------------------------------------------- public virtual void test_resolveTarget() { EtdOptionPosition position = sut(); GenericSecurity resolvedSecurity = GenericSecurity.of(SECURITY.Info); ImmutableReferenceData refData = ImmutableReferenceData.of(SECURITY.SecurityId, resolvedSecurity); GenericSecurityPosition expected = GenericSecurityPosition.ofLongShort(POSITION_INFO, resolvedSecurity, LONG_QUANTITY, SHORT_QUANTITY); assertEquals(position.resolveTarget(refData), expected); }
public virtual void test_ofLongShort_withInfo() { EtdOptionPosition test = EtdOptionPosition.ofLongShort(POSITION_INFO, SECURITY, 2000, 1000); assertEquals(test.LongQuantity, 2000d, 0d); assertEquals(test.ShortQuantity, 1000d, 0d); assertEquals(test.Info, POSITION_INFO); assertEquals(test.Security, SECURITY); assertEquals(test.Quantity, 1000d, 0d); }
public virtual void test_ofNet() { EtdOptionPosition test = EtdOptionPosition.ofNet(SECURITY, 1000); assertEquals(test.LongQuantity, 1000d, 0d); assertEquals(test.ShortQuantity, 0d, 0d); assertEquals(test.Security, SECURITY); assertEquals(test.Quantity, 1000d, 0d); assertEquals(test.withInfo(POSITION_INFO).Info, POSITION_INFO); assertEquals(test.withQuantity(129).Quantity, 129d, 0d); assertEquals(test.withQuantity(-129).Quantity, -129d, 0d); }
public override bool Equals(object obj) { if (obj == this) { return(true); } if (obj != null && obj.GetType() == this.GetType()) { EtdOptionPosition other = (EtdOptionPosition)obj; return(JodaBeanUtils.equal(info, other.info) && JodaBeanUtils.equal(security, other.security) && JodaBeanUtils.equal(longQuantity, other.longQuantity) && JodaBeanUtils.equal(shortQuantity, other.shortQuantity)); } return(false); }
public virtual void test() { EtdOptionSecurity test = sut(); assertEquals(test.Variant, EtdVariant.MONTHLY); assertEquals(test.Type, EtdType.OPTION); assertEquals(test.Currency, Currency.GBP); assertEquals(test.UnderlyingIds, ImmutableSet.of()); assertEquals(test.createProduct(REF_DATA), test); assertEquals(test.createTrade(TradeInfo.empty(), 1, 2, ReferenceData.empty()), EtdOptionTrade.of(TradeInfo.empty(), test, 1, 2)); assertEquals(test.createPosition(PositionInfo.empty(), 1, ReferenceData.empty()), EtdOptionPosition.ofNet(PositionInfo.empty(), test, 1)); assertEquals(test.createPosition(PositionInfo.empty(), 1, 2, ReferenceData.empty()), EtdOptionPosition.ofLongShort(PositionInfo.empty(), test, 1, 2)); }
internal static EtdOptionPosition sut2() { return(EtdOptionPosition.builder().security(EtdOptionSecurityTest.sut2()).longQuantity(4000).shortQuantity(1000).build()); }
//------------------------------------------------------------------------- internal static EtdOptionPosition sut() { return(EtdOptionPosition.builder().info(POSITION_INFO).security(SECURITY).longQuantity(LONG_QUANTITY).shortQuantity(SHORT_QUANTITY).build()); }
public EtdOptionPosition createPosition(PositionInfo positionInfo, double longQuantity, double shortQuantity, ReferenceData refData) { return(EtdOptionPosition.ofLongShort(positionInfo, this, longQuantity, shortQuantity)); }
public EtdOptionPosition createPosition(PositionInfo positionInfo, double quantity, ReferenceData refData) { return(EtdOptionPosition.ofNet(positionInfo, this, quantity)); }
public EtdOptionPosition withQuantity(double quantity) { return(EtdOptionPosition.ofNet(info, security, quantity)); }