public final class CapitalIndexedBondPosition extends Object implements SecuritizedProductPosition<CapitalIndexedBond>, Resolvable<ResolvedCapitalIndexedBondTrade>, org.joda.beans.ImmutableBean, Serializable
A position in an underlying CapitalIndexedBond
.
The net quantity of the position is stored using two fields - longQuantity
and shortQuantity
.
These two fields must not be negative.
In many cases, only a long quantity or short quantity will be present with the other set to zero.
However it is also possible for both to be non-zero, allowing long and short positions to be treated separately.
The net quantity is available via getQuantity()
.
Modifier and Type | Class and Description |
---|---|
static class |
CapitalIndexedBondPosition.Builder
The bean-builder for
CapitalIndexedBondPosition . |
static class |
CapitalIndexedBondPosition.Meta
The meta-bean for
CapitalIndexedBondPosition . |
Modifier and Type | Method and Description |
---|---|
static CapitalIndexedBondPosition.Builder |
builder()
Returns a builder used to create an instance of the bean.
|
boolean |
equals(Object obj) |
Currency |
getCurrency()
Gets the currency of the position.
|
PositionInfo |
getInfo()
Gets the additional position information, defaulted to an empty instance.
|
double |
getLongQuantity()
Gets the long quantity of the security.
|
CapitalIndexedBond |
getProduct()
Gets the bond that was traded.
|
double |
getQuantity()
Gets the net quantity of the security.
|
SecurityId |
getSecurityId()
Gets the identifier of the underlying security.
|
double |
getShortQuantity()
Gets the short quantity of the security.
|
int |
hashCode() |
static CapitalIndexedBondPosition.Meta |
meta()
The meta-bean for
CapitalIndexedBondPosition . |
CapitalIndexedBondPosition.Meta |
metaBean() |
static CapitalIndexedBondPosition |
ofLongShort(PositionInfo positionInfo,
CapitalIndexedBond product,
double longQuantity,
double shortQuantity)
Obtains an instance from position information, product, long quantity and short quantity.
|
static CapitalIndexedBondPosition |
ofNet(PositionInfo positionInfo,
CapitalIndexedBond product,
double netQuantity)
Obtains an instance from position information, product and net quantity.
|
ResolvedCapitalIndexedBondTrade |
resolve(ReferenceData refData) |
PortfolioItemSummary |
summarize()
Summarizes the portfolio item.
|
CapitalIndexedBondPosition.Builder |
toBuilder()
Returns a builder that allows this bean to be mutated.
|
String |
toString() |
CapitalIndexedBondPosition |
withInfo(PortfolioItemInfo info)
Returns an instance with the specified info.
|
CapitalIndexedBondPosition |
withQuantity(double quantity)
Returns an instance with the specified quantity.
|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getId
public static CapitalIndexedBondPosition ofNet(PositionInfo positionInfo, CapitalIndexedBond product, double netQuantity)
The net quantity is the long quantity minus the short quantity, which may be negative. If the quantity is positive it is treated as a long quantity. Otherwise it is treated as a short quantity.
positionInfo
- the position informationproduct
- the underlying productnetQuantity
- the net quantity of the underlying securitypublic static CapitalIndexedBondPosition ofLongShort(PositionInfo positionInfo, CapitalIndexedBond product, double longQuantity, double shortQuantity)
The long quantity and short quantity must be zero or positive, not negative. In many cases, only a long quantity or short quantity will be present with the other set to zero. However it is also possible for both to be non-zero, allowing long and short positions to be treated separately.
positionInfo
- the position informationproduct
- the underlying productlongQuantity
- the long quantity of the underlying securityshortQuantity
- the short quantity of the underlying securitypublic SecurityId getSecurityId()
Position
This identifier uniquely identifies the security within the system.
getSecurityId
in interface Position
getSecurityId
in interface SecuritizedProductPortfolioItem<CapitalIndexedBond>
getSecurityId
in interface SecuritizedProductPosition<CapitalIndexedBond>
getSecurityId
in interface SecurityQuantity
public Currency getCurrency()
SecuritizedProductPortfolioItem
This is typically the same as the currency of the product.
getCurrency
in interface SecuritizedProductPortfolioItem<CapitalIndexedBond>
public double getQuantity()
Position
This returns the net quantity of the underlying security. The result is positive if the net position is long and negative if the net position is short.
getQuantity
in interface Position
getQuantity
in interface SecurityQuantity
public CapitalIndexedBondPosition withInfo(PortfolioItemInfo info)
SecuritizedProductPosition
withInfo
in interface PortfolioItem
withInfo
in interface Position
withInfo
in interface SecuritizedProductPosition<CapitalIndexedBond>
info
- the new infopublic CapitalIndexedBondPosition withQuantity(double quantity)
SecuritizedProductPosition
withQuantity
in interface Position
withQuantity
in interface SecuritizedProductPortfolioItem<CapitalIndexedBond>
withQuantity
in interface SecuritizedProductPosition<CapitalIndexedBond>
quantity
- the new quantitypublic PortfolioItemSummary summarize()
PortfolioItem
This provides a summary, including a human readable description.
summarize
in interface PortfolioItem
summarize
in interface Position
public ResolvedCapitalIndexedBondTrade resolve(ReferenceData refData)
resolve
in interface Resolvable<ResolvedCapitalIndexedBondTrade>
public static CapitalIndexedBondPosition.Meta meta()
CapitalIndexedBondPosition
.public static CapitalIndexedBondPosition.Builder builder()
public CapitalIndexedBondPosition.Meta metaBean()
metaBean
in interface org.joda.beans.Bean
public PositionInfo getInfo()
This allows additional information to be attached to the position.
getInfo
in interface PortfolioItem
getInfo
in interface Position
public CapitalIndexedBond getProduct()
The product captures the contracted financial details.
getProduct
in interface SecuritizedProductPortfolioItem<CapitalIndexedBond>
public double getLongQuantity()
This is the quantity of the underlying security that is held. The quantity cannot be negative, as that would imply short selling.
public double getShortQuantity()
This is the quantity of the underlying security that has been short sold. The quantity cannot be negative, as that would imply the position is long.
public CapitalIndexedBondPosition.Builder toBuilder()
Copyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.