public final class OvernightFuturePosition extends Object implements SecuritizedProductPosition<OvernightFuture>, Resolvable<ResolvedOvernightFutureTrade>, org.joda.beans.ImmutableBean, Serializable
An Overnight rate future is a financial instrument that is based on the future value of an Overnight rate index interest rate. The profit or loss of an Overnight rate future is settled daily.
For example, the widely traded "30-Day Federal Funds futures contract" has a notional of 5 million USD, is based on the US Federal Funds Effective Rate 'USD-FED-FUND', expiring the last business day of each month.
(100 - percentRate).
Strata uses decimal prices for Overnight rate futures in the trade model, pricers and market data. The decimal price is based on the decimal rate equivalent to the percentage. For example, a price of 99.32 implies an interest rate of 0.68% which is represented in Strata by 0.9932.
| Modifier and Type | Class and Description |
|---|---|
static class |
OvernightFuturePosition.Builder
The bean-builder for
OvernightFuturePosition. |
static class |
OvernightFuturePosition.Meta
The meta-bean for
OvernightFuturePosition. |
| Modifier and Type | Method and Description |
|---|---|
static OvernightFuturePosition.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.
|
OvernightFuture |
getProduct()
Gets the future 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 OvernightFuturePosition.Meta |
meta()
The meta-bean for
OvernightFuturePosition. |
OvernightFuturePosition.Meta |
metaBean() |
static OvernightFuturePosition |
ofLongShort(PositionInfo positionInfo,
OvernightFuture product,
double longQuantity,
double shortQuantity)
Obtains an instance from position information, product, long quantity and short quantity.
|
static OvernightFuturePosition |
ofNet(PositionInfo positionInfo,
OvernightFuture product,
double netQuantity)
Obtains an instance from position information, product and net quantity.
|
ResolvedOvernightFutureTrade |
resolve(ReferenceData refData) |
PortfolioItemSummary |
summarize()
Summarizes the portfolio item.
|
OvernightFuturePosition.Builder |
toBuilder()
Returns a builder that allows this bean to be mutated.
|
String |
toString() |
OvernightFuturePosition |
withInfo(PortfolioItemInfo info)
Returns an instance with the specified info.
|
OvernightFuturePosition |
withQuantity(double quantity)
Returns an instance with the specified quantity.
|
clone, finalize, getClass, notify, notifyAll, wait, wait, waitgetIdpublic static OvernightFuturePosition ofNet(PositionInfo positionInfo, OvernightFuture 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 OvernightFuturePosition ofLongShort(PositionInfo positionInfo, OvernightFuture 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()
PositionThis identifier uniquely identifies the security within the system.
getSecurityId in interface PositiongetSecurityId in interface SecuritizedProductPortfolioItem<OvernightFuture>getSecurityId in interface SecuritizedProductPosition<OvernightFuture>getSecurityId in interface SecurityQuantitypublic Currency getCurrency()
SecuritizedProductPortfolioItemThis is typically the same as the currency of the product.
getCurrency in interface SecuritizedProductPortfolioItem<OvernightFuture>public double getQuantity()
PositionThis 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 PositiongetQuantity in interface SecurityQuantitypublic OvernightFuturePosition withInfo(PortfolioItemInfo info)
SecuritizedProductPositionwithInfo in interface PortfolioItemwithInfo in interface PositionwithInfo in interface SecuritizedProductPosition<OvernightFuture>info - the new infopublic OvernightFuturePosition withQuantity(double quantity)
SecuritizedProductPositionwithQuantity in interface PositionwithQuantity in interface SecuritizedProductPortfolioItem<OvernightFuture>withQuantity in interface SecuritizedProductPosition<OvernightFuture>quantity - the new quantitypublic PortfolioItemSummary summarize()
PortfolioItemThis provides a summary, including a human readable description.
summarize in interface PortfolioItemsummarize in interface Positionpublic ResolvedOvernightFutureTrade resolve(ReferenceData refData)
resolve in interface Resolvable<ResolvedOvernightFutureTrade>public static OvernightFuturePosition.Meta meta()
OvernightFuturePosition.public static OvernightFuturePosition.Builder builder()
public OvernightFuturePosition.Meta metaBean()
metaBean in interface org.joda.beans.Beanpublic PositionInfo getInfo()
This allows additional information to be attached to the position.
getInfo in interface PortfolioItemgetInfo in interface Positionpublic OvernightFuture getProduct()
The product captures the contracted financial details.
getProduct in interface SecuritizedProductPortfolioItem<OvernightFuture>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 OvernightFuturePosition.Builder toBuilder()
Copyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.