See: Description
Interface | Description |
---|---|
Attributes |
Additional attributes that can be associated with a model object.
|
LegalEntity |
A legal entity.
|
PortfolioItem |
An item in a portfolio.
|
PortfolioItemInfo |
Additional information about a portfolio item.
|
PortfolioItemInfoBuilder<T extends PortfolioItemInfo> |
Interface across the various info builder classes.
|
Position |
A position in a security.
|
Product |
The product details of a financial instrument.
|
ProductTrade |
A trade that is directly based on a product.
|
ResolvableSecurityPosition |
A position that has a security identifier that can be resolved using reference data.
|
ResolvableSecurityTrade |
A trade that has a security identifier that can be resolved using reference data.
|
ResolvableTrade<T extends ResolvedTrade> |
A trade that can to be resolved using reference data.
|
ResolvedProduct |
A product that has been resolved for pricing.
|
ResolvedTrade |
A trade that has been resolved for pricing.
|
SecuritizedProduct |
The product details of a financial instrument that is traded as a security.
|
SecuritizedProductPortfolioItem<P extends SecuritizedProduct> |
A trade that is directly based on a securitized product.
|
SecuritizedProductPosition<P extends SecuritizedProduct> |
A position that is directly based on a securitized product.
|
SecuritizedProductTrade<P extends SecuritizedProduct> |
A trade that is directly based on a securitized product.
|
Security |
A security that can be traded.
|
SecurityQuantity |
A quantity of a security.
|
SecurityQuantityTrade |
A trade that is based on security, quantity and price.
|
Trade |
A trade with additional structured information.
|
TradeConvention |
A market convention for trades.
|
TradeTemplate |
A template used to create a trade.
|
Class | Description |
---|---|
AttributeType<T> |
The type that provides meaning to an attribute.
|
GenericSecurity |
A generic security, defined in terms of the value of each tick.
|
GenericSecurity.Meta |
The meta-bean for
GenericSecurity . |
GenericSecurityPosition |
A position in a security, where the security is embedded ready for mark-to-market pricing.
|
GenericSecurityPosition.Builder |
The bean-builder for
GenericSecurityPosition . |
GenericSecurityPosition.Meta |
The meta-bean for
GenericSecurityPosition . |
GenericSecurityTrade |
A trade representing the purchase or sale of a security,
where the security is embedded ready for mark-to-market pricing.
|
GenericSecurityTrade.Builder |
The bean-builder for
GenericSecurityTrade . |
GenericSecurityTrade.Meta |
The meta-bean for
GenericSecurityTrade . |
LegalEntityId |
An identifier for a legal entity.
|
PortfolioItemSummary |
A summary of a portfolio item.
|
PortfolioItemSummary.Builder |
The bean-builder for
PortfolioItemSummary . |
PositionInfo |
Additional information about a position.
|
PositionInfo.Meta |
The meta-bean for
PositionInfo . |
PositionInfoBuilder |
Builder to create
PositionInfo . |
ProductType |
The type of a portfolio item.
|
SecurityId |
An identifier for a security.
|
SecurityInfo |
Information about a security.
|
SecurityInfo.Meta |
The meta-bean for
SecurityInfo . |
SecurityInfoBuilder |
Builder to create
SecurityInfo . |
SecurityPosition |
A position in a security, where the security is referenced by identifier.
|
SecurityPosition.Builder |
The bean-builder for
SecurityPosition . |
SecurityPosition.Meta |
The meta-bean for
SecurityPosition . |
SecurityPriceInfo |
Defines the meaning of the security price.
|
SecurityPriceInfo.Meta |
The meta-bean for
SecurityPriceInfo . |
SecurityTrade |
A trade representing the purchase or sale of a security,
where the security is referenced by identifier.
|
SecurityTrade.Builder |
The bean-builder for
SecurityTrade . |
SecurityTrade.Meta |
The meta-bean for
SecurityTrade . |
SimpleAttributes |
A simple implementation of attributes.
|
SimpleLegalEntity |
A simple legal entity implementation.
|
TradedPrice |
The traded price of a security-based trade.
|
TradeInfo |
Additional information about a trade.
|
TradeInfo.Meta |
The meta-bean for
TradeInfo . |
TradeInfoBuilder |
Builder to create
TradeInfo . |
Enum | Description |
---|---|
PortfolioItemType |
The type of a portfolio item.
|
The trade model has three basic concepts, trades, securities and products.
A Trade
is the basic element of finance,
a transaction between two organizations, known as counterparties.
Most trades represented in the system will be contracts that have been agreed on a date in the past.
The trade model also allows trades with a date in the future, or without any date.
A Security
is a standard contract that is traded,
such as an equity share or futures contract. Securities are typically created once and shared
using an identifier, represented by a SecurityId
.
They are often referred to as reference data.
Securities may also be stored in a Position
instead
of in a Trade
.
A Product
is the financial details of the trade or security.
A product typically contains enough information to be priced, such as the dates, holidays, indices,
currencies and amounts. There is an implementation of Product
for each distinct type
of financial instrument.
Trades are typically classified as Over-The-Counter (OTC) and listed.
An OTC trade directly embeds the product it refers to.
As such, OTC trades implement ProductTrade
.
For example, consider an OTC instrument such as an interest rate swap.
The object model consists of a SwapTrade
that directly contains a Swap
,
where SwapTrade
implements ProductTrade
.
The key to understanding the model is appreciating the separation of products from trades. In many cases, it is possible to price the product without knowing any trade details. This allows a product to be an underlying of another product, such as a swap within a swaption.
A listed trade can be defined in two ways.
The first approach is to use SecurityTrade
.
A SecurityTrade
stores just the security identifier, quantity and trade price.
When the trade needs to be priced, the identifier can be resolved to a Security
using
ReferenceData
.
The reference data could be backed by an in-memory store or a database.
The second approach is to use a more specific trade type, such as
BondFutureTrade
.
These types include the product details directly so that no reference data is needed.
As such, this approach avoids the need to use the Strata Security
classes.
For example, consider a bond future.
In the first approach, the application would create a SecurityTrade
using the identifier of the future.
The reference data would be populated, mapping the identifier to an instance of BondFutureSecurity
and additional identifiers for each of the underlying FixedCouponBondSecurity
instances.
In the second approach, the trade would be defined using BondFutureTrade
. In this case,
the trade directly holds the product model of the BondFuture
and each underlying FixedCouponBond
.
There is thus no need to populate the reference data with securities.
The key to understanding the model is appreciating the separation of products from trades and securities. It is often possible to price either against the market or against a model. Details for pricing against the market are held in the security. Details for pricing against the model are held in the product.
Copyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.