//------------------------------------------------------------------------- public virtual void test_summarize() { EtdFuturePosition trade = sut(); PortfolioItemSummary expected = PortfolioItemSummary.builder().id(POSITION_INFO.Id.orElse(null)).portfolioItemType(PortfolioItemType.POSITION).productType(ProductType.ETD_FUTURE).currencies(SECURITY.Currency).description(SECURITY.SecurityId.StandardId.Value + " x 1000, Jun17").build(); assertEquals(trade.summarize(), expected); }
public virtual void test_methods() { EtdFuturePosition test = sut(); assertEquals(test.Type, EtdType.FUTURE); assertEquals(test.Currency, Currency.GBP); assertEquals(test.SecurityId, test.Security.SecurityId); assertEquals(test.Quantity, 1000d, 0d); }
public virtual void test_ofLongShort() { EtdFuturePosition test = EtdFuturePosition.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() { EtdFuturePosition 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() { EtdFuturePosition test = EtdFuturePosition.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() { EtdFuturePosition test = EtdFuturePosition.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()) { EtdFuturePosition other = (EtdFuturePosition)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 EtdFuturePosition withQuantity(double quantity) { return(EtdFuturePosition.ofNet(info, security, quantity)); }
public EtdFuturePosition createPosition(PositionInfo positionInfo, double longQuantity, double shortQuantity, ReferenceData refData) { return(EtdFuturePosition.ofLongShort(positionInfo, this, longQuantity, shortQuantity)); }
public EtdFuturePosition createPosition(PositionInfo positionInfo, double quantity, ReferenceData refData) { return(EtdFuturePosition.ofNet(positionInfo, this, quantity)); }
public virtual void test() { EtdFutureSecurity test = sut(); assertEquals(test.Variant, EtdVariant.MONTHLY); assertEquals(test.Type, EtdType.FUTURE); 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()), EtdFutureTrade.of(TradeInfo.empty(), test, 1, 2)); assertEquals(test.createPosition(PositionInfo.empty(), 1, ReferenceData.empty()), EtdFuturePosition.ofNet(PositionInfo.empty(), test, 1)); assertEquals(test.createPosition(PositionInfo.empty(), 1, 2, ReferenceData.empty()), EtdFuturePosition.ofLongShort(PositionInfo.empty(), test, 1, 2)); }
internal static EtdFuturePosition sut2() { return(EtdFuturePosition.builder().security(EtdFutureSecurityTest.sut2()).longQuantity(4000).shortQuantity(1000).build()); }
//------------------------------------------------------------------------- internal static EtdFuturePosition sut() { return(EtdFuturePosition.builder().info(POSITION_INFO).security(SECURITY).longQuantity(LONG_QUANTITY).shortQuantity(SHORT_QUANTITY).build()); }