The additional trade information, defaulted to an empty instance.This allows additional information to be attached to the trade.
-
premium
Payment premium
The optional premium of the product.For certain CMS products, a premium is paid upfront. This typically occurs instead of periodic payments based on fixed or Ibor rates over the lifetime of the product.
The premium sign must be compatible with the product Pay/Receive flag.
-
product
ResolvedCms product
The resolved CMS product.The product captures the contracted financial details of the trade.
-
-
-
Package com.opengamma.strata.product.common
-
Class com.opengamma.strata.product.common.CcpId extends Object implements Serializable
- serialVersionUID:
- 1L
-
Class com.opengamma.strata.product.common.ExchangeId extends Object implements Serializable
- serialVersionUID:
- 1L
-
-
Package com.opengamma.strata.product.credit
-
Class com.opengamma.strata.product.credit.Cds extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
buySell
BuySell buySell
Whether the CDS is buy or sell.A value of 'Buy' implies buying protection, where the fixed coupon is paid and the protection is received in the event of default. A value of 'Sell' implies selling protection, where the fixed coupon is received and the protection is paid in the event of default.
-
currency
Currency currency
The currency of the CDS.The amounts of the notional are expressed in terms of this currency.
-
dayCount
DayCount dayCount
The day count convention.This is used to convert dates to a numerical value.
When building, this will default to 'Act/360'.
-
fixedRate
double fixedRate
The fixed coupon rate.This must be represented in decimal form.
-
legalEntityId
StandardId legalEntityId
The legal entity identifier.This identifier is used for the reference legal entity of the CDS.
-
notional
double notional
The notional amount, must be non-negative.The fixed notional amount applicable during the lifetime of the CDS. The currency of the notional is specified by
currency
. -
paymentOnDefault
PaymentOnDefault paymentOnDefault
The payment on default.Whether the accrued premium is paid in the event of a default.
When building, this will default to 'AccruedPremium'.
-
paymentSchedule
PeriodicSchedule paymentSchedule
The payment schedule.This is used to define the payment periods.
-
protectionStart
ProtectionStartOfDay protectionStart
The protection start of the day.When the protection starts on the start date.
When building, this will default to 'Beginning'.
-
settlementDateOffset
DaysAdjustment settlementDateOffset
The number of days between valuation date and settlement date.It is usually 3 business days for standardized CDS contracts.
When building, this will default to 3 business days in the calendar of the payment schedule.
-
stepinDateOffset
DaysAdjustment stepinDateOffset
The number of days between valuation date and step-in date.The step-in date is also called protection effective date. It is usually 1 calendar day for standardized CDS contracts.
When building, this will default to 1 calendar day.
-
-
Class com.opengamma.strata.product.credit.CdsCalibrationTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Class com.opengamma.strata.product.credit.CdsIndex extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
buySell
BuySell buySell
Whether the CDS index is buy or sell.A value of 'Buy' implies buying protection, where the fixed coupon is paid and the protection is received in the event of default. A value of 'Sell' implies selling protection, where the fixed coupon is received and the protection is paid in the event of default.
-
cdsIndexId
StandardId cdsIndexId
The CDS index identifier.This identifier is used to refer this CDS index product.
-
currency
Currency currency
The currency of the CDS index.The amounts of the notional are expressed in terms of this currency.
-
dayCount
DayCount dayCount
The day count convention.This is used to convert dates to a numerical value.
When building, this will default to 'Act/360'.
-
fixedRate
double fixedRate
The fixed coupon rate.This must be represented in decimal form.
-
legalEntityIds
ImmutableList<StandardId> legalEntityIds
The legal entity identifiers.These identifiers refer to the reference legal entities of the CDS index.
-
notional
double notional
The notional amount, must be non-negative.The fixed notional amount applicable during the lifetime of the CDS. The currency of the notional is specified by
currency
. -
paymentOnDefault
PaymentOnDefault paymentOnDefault
The payment on default.Whether the accrued premium is paid in the event of a default.
When building, this will default to 'AccruedPremium'.
-
paymentSchedule
PeriodicSchedule paymentSchedule
The payment schedule.This is used to define the payment periods.
-
protectionStart
ProtectionStartOfDay protectionStart
The protection start of the day.When the protection starts on the start date.
When building, this will default to 'Beginning'.
-
settlementDateOffset
DaysAdjustment settlementDateOffset
The number of days between valuation date and settlement date.It is usually 3 business days for standardized CDS index contracts.
When building, this will default to 3 business days in the calendar of the payment schedule.
-
stepinDateOffset
DaysAdjustment stepinDateOffset
The number of days between valuation date and step-in date.The step-in date is also called protection effective date. It is usually 1 calendar day for standardized CDS index contracts.
When building, this will default to 1 calendar day.
-
-
Class com.opengamma.strata.product.credit.CdsIndexCalibrationTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
quote
CdsQuote quote
The CDS index quote. -
underlyingTrade
CdsIndexTrade underlyingTrade
The underlying CDS index trade.
-
-
Class com.opengamma.strata.product.credit.CdsIndexTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
TradeInfo info
The additional trade information, defaulted to an empty instance.This allows additional information to be attached to the trade.
-
product
CdsIndex product
The CDS index product that was agreed when the trade occurred.The product captures the contracted financial details of the trade.
-
upfrontFee
AdjustablePayment upfrontFee
The upfront fee of the product.This specifies a single amount payable by the buyer to the seller. Thus the sign must be compatible with the product Pay/Receive flag.
Some CDSs, especially legacy products, are traded at par and the upfront fee is not paid.
-
-
Class com.opengamma.strata.product.credit.CdsQuote extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
quoteConvention
CdsQuoteConvention quoteConvention
The CDS quote convention. -
quotedValue
double quotedValue
The quoted value.This value must be represented in decimal form.
-
-
Class com.opengamma.strata.product.credit.CdsTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
TradeInfo info
The additional trade information, defaulted to an empty instance.This allows additional information to be attached to the trade.
-
product
Cds product
The CDS product that was agreed when the trade occurred.The product captures the contracted financial details of the trade.
-
upfrontFee
AdjustablePayment upfrontFee
The upfront fee of the product.This specifies a single amount payable by the buyer to the seller. Thus the sign must be compatible with the product Pay/Receive flag.
Some CDSs, especially legacy products, are traded at par and the upfront fee is not paid.
-
-
Class com.opengamma.strata.product.credit.CreditCouponPaymentPeriod extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
currency
Currency currency
The primary currency of the payment period.The amounts of the notional are usually expressed in terms of this currency, however they can be converted from amounts in a different currency.
-
effectiveEndDate
LocalDate effectiveEndDate
The effective protection end date of the period.This is the last date in the protection period associated with the payment period.
-
effectiveStartDate
LocalDate effectiveStartDate
The effective protection start date of the period.This is the first date in the protection period associated with the payment period.
-
endDate
LocalDate endDate
The end date of the accrual period.This is the last accrual date in the period. If the schedule adjusts for business days, then this is the adjusted date.
-
fixedRate
double fixedRate
The fixed coupon rate.The single payment is based on this fixed coupon rate. The coupon must be represented in fraction.
-
notional
double notional
The notional amount, must be positive.The notional amount applicable during the period. The currency of the notional is specified by
currency
. -
paymentDate
LocalDate paymentDate
The payment date.The fixed rate is paid on this date. This is not necessarily the same as
endDate
. -
startDate
LocalDate startDate
The start date of the accrual period.This is the first accrual date in the period. If the schedule adjusts for business days, then this is the adjusted date.
-
unadjustedEndDate
LocalDate unadjustedEndDate
The unadjusted end date.The end date before any business day adjustment is applied.
When building, this will default to the end date if not specified.
-
unadjustedStartDate
LocalDate unadjustedStartDate
The unadjusted start date.The start date before any business day adjustment is applied.
When building, this will default to the start date if not specified.
-
yearFraction
double yearFraction
The year fraction that the accrual period represents.The year fraction of a period is based on
startDate
andendDate
. The value is usually calculated using a specificDayCount
.
-
-
Class com.opengamma.strata.product.credit.ResolvedCds extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
buySell
BuySell buySell
Whether the CDS is buy or sell.A value of 'Buy' implies buying protection, where the fixed coupon is paid and the protection is received in the event of default. A value of 'Sell' implies selling protection, where the fixed coupon is received and the protection is paid in the event of default.
-
dayCount
DayCount dayCount
The day count convention.This is used to convert dates to a numerical value.
-
legalEntityId
StandardId legalEntityId
The legal entity identifier.This identifier is used for the reference legal entity of the CDS.
-
paymentOnDefault
PaymentOnDefault paymentOnDefault
The payment on default.Whether the accrued premium is paid in the event of a default.
-
paymentPeriods
ImmutableList<CreditCouponPaymentPeriod> paymentPeriods
The periodic payments based on the fixed rate.Each payment period represents part of the life-time of the leg. In most cases, the periods do not overlap. However, since each payment period is essentially independent the data model allows overlapping periods.
-
protectionEndDate
LocalDate protectionEndDate
The protection end date.This may be different from the accrual end date of the last payment period in
periodicPayments
. -
protectionStart
ProtectionStartOfDay protectionStart
The protection start of the day.When the protection starts on the start date.
-
settlementDateOffset
DaysAdjustment settlementDateOffset
The number of days between valuation date and settlement date.It is usually 3 business days for standardized CDS contracts.
-
stepinDateOffset
DaysAdjustment stepinDateOffset
The number of days between valuation date and step-in date.The step-in date is also called protection effective date. It is usually 1 calendar day for standardized CDS contracts.
-
-
Class com.opengamma.strata.product.credit.ResolvedCdsIndex extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
buySell
BuySell buySell
Whether the CDS index is buy or sell.A value of 'Buy' implies buying protection, where the fixed coupon is paid and the protection is received in the event of default. A value of 'Sell' implies selling protection, where the fixed coupon is received and the protection is paid in the event of default.
-
cdsIndexId
StandardId cdsIndexId
The CDS index identifier.This identifier is used to refer this CDS index product.
-
dayCount
DayCount dayCount
The day count convention.This is used to convert dates to a numerical value.
-
legalEntityIds
ImmutableList<StandardId> legalEntityIds
The legal entity identifiers.These identifiers refer to the reference legal entities of the CDS index.
-
paymentOnDefault
PaymentOnDefault paymentOnDefault
The payment on default.Whether the accrued premium is paid in the event of a default.
-
paymentPeriods
ImmutableList<CreditCouponPaymentPeriod> paymentPeriods
The periodic payments based on the fixed rate.Each payment period represents part of the life-time of the leg. In most cases, the periods do not overlap. However, since each payment period is essentially independent the data model allows overlapping periods.
-
protectionEndDate
LocalDate protectionEndDate
The protection end date.This may be different from the accrual end date of the last payment period in
periodicPayments
. -
protectionStart
ProtectionStartOfDay protectionStart
The protection start of the day.When the protection starts on the start date.
-
settlementDateOffset
DaysAdjustment settlementDateOffset
The number of days between valuation date and settlement date.It is usually 3 business days for standardized CDS index contracts.
-
stepinDateOffset
DaysAdjustment stepinDateOffset
The number of days between valuation date and step-in date.The step-in date is also called protection effective date. It is usually 1 calendar day for standardized CDS index contracts.
-
-
Class com.opengamma.strata.product.credit.ResolvedCdsIndexTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
TradeInfo info
The additional trade information, defaulted to an empty instance.This allows additional information to be attached to the trade.
-
product
ResolvedCdsIndex product
The resolved CDS index product.The product captures the contracted financial details of the trade.
-
upfrontFee
Payment upfrontFee
The upfront fee of the product.This specifies a single amount payable by the buyer to the seller Thus the sign must be compatible with the product Pay/Receive flag.
-
-
Class com.opengamma.strata.product.credit.ResolvedCdsTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
TradeInfo info
The additional trade information, defaulted to an empty instance.This allows additional information to be attached to the trade.
-
product
ResolvedCds product
The resolved CDS product.The product captures the contracted financial details of the trade.
-
upfrontFee
Payment upfrontFee
The upfront fee of the product.This specifies a single amount payable by the buyer to the seller Thus the sign must be compatible with the product Pay/Receive flag.
Some CDSs, especially legacy products, are traded at par and the upfront fee is not paid.
-
-
-
Package com.opengamma.strata.product.credit.type
-
Class com.opengamma.strata.product.credit.type.DatesCdsTemplate extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
convention
CdsConvention convention
The market convention of the credit default swap. -
endDate
LocalDate endDate
The end date.The end date of the underling CDS product. This date can be modified following the rule in
convention
. -
startDate
LocalDate startDate
The start date.The start date of the underling CDS product. This date can be modified following the rule in
convention
.
-
-
Class com.opengamma.strata.product.credit.type.ImmutableCdsConvention extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
businessDayAdjustment
BusinessDayAdjustment businessDayAdjustment
The business day adjustment to apply to payment schedule dates.Each date in the calculated schedule is determined without taking into account weekends and holidays. The adjustment specified here is used to convert those dates to valid business days.
The start date and end date may have their own business day adjustment rules. If those are not present, then this adjustment is used instead.
-
currency
Currency currency
The currency of the CDS.The amounts of the notional are expressed in terms of this currency.
-
dayCount
DayCount dayCount
The day count convention applicable.This is used to convert schedule period dates to a numerical value.
-
endDateBusinessDayAdjustment
BusinessDayAdjustment endDateBusinessDayAdjustment
The business day adjustment to apply to the end date, optional with defaulting getter.The end date property is an unadjusted date and as such might be a weekend or holiday. The adjustment specified here is used to convert the end date to a valid business day.
This will default to the 'None' if not specified.
-
name
String name
The convention name. -
paymentFrequency
Frequency paymentFrequency
The periodic frequency of payments.Regular payments will be made at the specified periodic frequency. This also defines the accrual periodic frequency.
-
paymentOnDefault
PaymentOnDefault paymentOnDefault
The payment on default.Whether the accrued premium is paid in the event of a default.
This will default to 'accrued premium' if not specified.
-
protectionStart
ProtectionStartOfDay protectionStart
The protection start of the day.When the protection starts on the start date.
This will default to 'beginning of the start day' if not specified.
-
rollConvention
RollConvention rollConvention
The convention defining how to roll dates, optional with defaulting getter.The schedule periods are determined at the high level by repeatedly adding the frequency to the start date, or subtracting it from the end date. The roll convention provides the detailed rule to adjust the day-of-month or day-of-week.
This will default to 'Day20' if not specified.
-
settlementDateOffset
DaysAdjustment settlementDateOffset
The number of days between valuation date and settlement date.It is usually 3 business days for standardised CDS contracts.
-
startDateBusinessDayAdjustment
BusinessDayAdjustment startDateBusinessDayAdjustment
The business day adjustment to apply to the start date, optional with defaulting getter.The start date property is an unadjusted date and as such might be a weekend or holiday. The adjustment specified here is used to convert the start date to a valid business day.
This will default to the
businessDayAdjustment
if not specified. -
stepinDateOffset
DaysAdjustment stepinDateOffset
The number of days between valuation date and step-in date.The step-in date is also called protection effective date.
This will default to '1 calendar day' if not specified.
-
stubConvention
StubConvention stubConvention
The convention defining how to handle stubs, optional with defaulting getter.The stub convention is used during schedule construction to determine whether the irregular remaining period occurs at the start or end of the schedule. It also determines whether the irregular period is shorter or longer than the regular period.
This will default to 'SmartInitial' if not specified.
-
-
Class com.opengamma.strata.product.credit.type.TenorCdsTemplate extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
accrualStart
AccrualStart accrualStart
The accrual start.Whether the accrual start is the next day or the previous IMM date.
-
convention
CdsConvention convention
The market convention of the credit default swap. -
tenor
Tenor tenor
The tenor of the credit default swap.This is the period to the protection end.
-
-
-
Package com.opengamma.strata.product.deposit
-
Class com.opengamma.strata.product.deposit.IborFixingDeposit extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
businessDayAdjustment
BusinessDayAdjustment businessDayAdjustment
The business day adjustment to apply to the start and end date, optional.The start and end date are typically defined as valid business days and thus do not need to be adjusted. If this optional property is present, then the start and end date will be adjusted as defined here.
-
buySell
BuySell buySell
Whether the Ibor fixing deposit is 'Buy' or 'Sell'.A value of 'Buy' implies that the floating rate is paid to the counterparty, with the fixed rate being received. A value of 'Sell' implies that the floating rate is received from the counterparty, with the fixed rate being paid.
-
currency
Currency currency
The primary currency, defaulted to the currency of the index.This is the currency of the deposit and the currency that payment is made in. The data model permits this currency to differ from that of the index, however the two are typically the same.
When building, this will default to the currency of the index if not specified.
-
dayCount
DayCount dayCount
The day count convention applicable, defaulted to the day count of the index.This is used to convert dates to a numerical value. The data model permits the day count to differ from that of the index, however the two are typically the same.
When building, this will default to the day count of the index if not specified.
-
endDate
LocalDate endDate
The end date of the deposit.Interest accrues until this date. This date is typically set to be a valid business day. Optionally, the
businessDayAdjustment
property may be set to provide a rule for adjustment. This date must be after the start date. -
fixedRate
double fixedRate
The fixed interest rate to be paid. A 5% rate will be expressed as 0.05. -
fixingDateOffset
DaysAdjustment fixingDateOffset
The offset of the fixing date from the start date.The offset is applied to the start date and is typically minus 2 business days. The data model permits the offset to differ from that of the index, however the two are typically the same.
When building, this will default to the fixing date offset of the index if not specified.
-
index
IborIndex index
The Ibor index.The floating rate to be paid or received is based on this index It will be a well known market index such as 'GBP-LIBOR-3M'.
See
buySell
to determine whether this rate is paid or received. -
notional
double notional
The notional amount.The notional expressed here must be non-negative. The currency of the notional is specified by
currency
. -
startDate
LocalDate startDate
The start date of the deposit.Interest accrues from this date. This date is typically set to be a valid business day. Optionally, the
businessDayAdjustment
property may be set to provide a rule for adjustment.
-
-
Class com.opengamma.strata.product.deposit.IborFixingDepositTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
TradeInfo info
The additional trade information, defaulted to an empty instance.This allows additional information to be attached to the trade.
-
product
IborFixingDeposit product
The Ibor fixing deposit product that was agreed when the trade occurred.The product captures the contracted financial details of the trade.
-
-
Class com.opengamma.strata.product.deposit.ResolvedIborFixingDeposit extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
currency
Currency currency
The primary currency.This is the currency of the deposit and the currency that payment is made in. The data model permits this currency to differ from that of the index, however the two are typically the same.
-
endDate
LocalDate endDate
The end date of the deposit.This is the last day that interest accrues. This date must be after the start date.
This is an adjusted date, which should be a valid business day
-
fixedRate
double fixedRate
The fixed rate of interest. A 5% rate will be expressed as 0.05. -
floatingRate
IborRateComputation floatingRate
The floating rate of interest.The floating rate to be paid is based on this index. It will be a well known market index such as 'GBP-LIBOR-3M'.
-
notional
double notional
The notional amount.The amount that is deposited. It is a positive signed amount if the deposit is 'Buy', and a negative signed amount if the deposit is 'Sell'.
The currency of the notional is specified by
currency
. -
startDate
LocalDate startDate
The start date of the deposit.This is the first date that interest accrues.
This is an adjusted date, which should be a valid business day
-
yearFraction
double yearFraction
The year fraction between the start and end date.The value is usually calculated using a
DayCount
. Typically the value will be close to 1 for one year and close to 0.5 for six months. The fraction may be greater than 1, but not less than 0.
-
-
Class com.opengamma.strata.product.deposit.ResolvedIborFixingDepositTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
TradeInfo info
The additional trade information, defaulted to an empty instance.This allows additional information to be attached to the trade.
-
product
ResolvedIborFixingDeposit product
The resolved Ibor Fixing Deposit product.The product captures the contracted financial details of the trade.
-
-
Class com.opengamma.strata.product.deposit.ResolvedTermDeposit extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialization Methods
-
readResolve
private Object readResolve()
-
-
Serialized Fields
-
currency
Currency currency
The primary currency.This is the currency of the deposit and the currency that payment is made in.
-
endDate
LocalDate endDate
The end date of the deposit.This is the last day that interest accrues. This date must be after the start date.
This is an adjusted date, which should be a valid business day
-
notional
double notional
The notional amount.The amount that is deposited. It is a positive signed amount if the deposit is 'Buy', and a negative signed amount if the deposit is 'Sell'.
The currency of the notional is specified by
currency
. -
rate
double rate
The fixed rate of interest. A 5% rate will be expressed as 0.05. -
startDate
LocalDate startDate
The start date of the deposit.This is the first date that interest accrues.
This is an adjusted date, which should be a valid business day
-
yearFraction
double yearFraction
The year fraction between the start and end date.The value is usually calculated using a
DayCount
. Typically the value will be close to 1 for one year and close to 0.5 for six months. The fraction may be greater than 1, but not less than 0.
-
-
Class com.opengamma.strata.product.deposit.ResolvedTermDepositTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
TradeInfo info
The additional trade information, defaulted to an empty instance.This allows additional information to be attached to the trade.
-
product
ResolvedTermDeposit product
The resolved Term Deposit product.The product captures the contracted financial details of the trade.
-
-
Class com.opengamma.strata.product.deposit.TermDeposit extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
businessDayAdjustment
BusinessDayAdjustment businessDayAdjustment
The business day adjustment to apply to the start and end date, optional.The start and end date are typically defined as valid business days and thus do not need to be adjusted. If this optional property is present, then the start and end date will be adjusted as defined here.
-
buySell
BuySell buySell
Whether the term deposit is 'Buy' or 'Sell'.A value of 'Buy' implies payment of the principal at the start date and receipt of the principal plus interest at the end date. A value of 'Sell' implies the opposite. In other words, 'Buy' refers to buying the service of "money storage", with the benefit of receiving interest.
-
currency
Currency currency
The primary currency.This is the currency of the term deposit and the currency that payment is made in.
-
dayCount
DayCount dayCount
The day count convention.This is used to convert dates to a numerical value.
-
endDate
LocalDate endDate
The end date of the deposit.Interest accrues until this date. This date is typically set to be a valid business day. Optionally, the
businessDayAdjustment
property may be set to provide a rule for adjustment. This date must be after the start date. -
notional
double notional
The notional amount.The notional represents the principal amount, and must be non-negative. The currency of the notional is specified by
currency
. -
rate
double rate
The fixed interest rate to be paid. A 5% rate will be expressed as 0.05. -
startDate
LocalDate startDate
The start date of the deposit.Interest accrues from this date. This date is typically set to be a valid business day. Optionally, the
businessDayAdjustment
property may be set to provide a rule for adjustment.
-
-
Class com.opengamma.strata.product.deposit.TermDepositTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
TradeInfo info
The additional trade information, defaulted to an empty instance.This allows additional information to be attached to the trade.
-
product
TermDeposit product
The term deposit product that was agreed when the trade occurred.The product captures the contracted financial details of the trade.
-
-
-
Package com.opengamma.strata.product.deposit.type
-
Class com.opengamma.strata.product.deposit.type.IborFixingDepositTemplate extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
convention
IborFixingDepositConvention convention
The underlying Ibor fixing deposit convention.This specifies the standard convention of the Ibor fixing deposit to be created.
-
depositPeriod
Period depositPeriod
The period between the start date and the end date.The difference between the start date and the end date typically matches the tenor of the index, however this is not validated.
-
-
Class com.opengamma.strata.product.deposit.type.ImmutableIborFixingDepositConvention extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
businessDayAdjustment
BusinessDayAdjustment businessDayAdjustment
The business day adjustment to apply to the start and end date, optional with defaulting getter.The start and end date are typically defined as valid business days and thus do not need to be adjusted. If this optional property is present, then the start and end date will be adjusted as defined here.
This will default to 'ModifiedFollowing' using the index fixing calendar if not specified.
-
currency
Currency currency
The primary currency, optional with defaulting getter.This is the currency of the deposit and the currency that payment is made in. The data model permits this currency to differ from that of the index, however the two are typically the same.
This will default to the currency of the index if not specified.
-
dayCount
DayCount dayCount
The day count convention applicable, optional with defaulting getter.This is used to convert dates to a numerical value. The data model permits the day count to differ from that of the index, however the two are typically the same.
This will default to the day count of the index if not specified.
-
fixingDateOffset
DaysAdjustment fixingDateOffset
The offset of the fixing date from the start date, optional with defaulting getter.The offset is applied to the start date and is typically minus 2 business days. The data model permits the offset to differ from that of the index, however the two are typically the same.
This will default to the fixing date offset of the index if not specified.
-
index
IborIndex index
The Ibor index.The floating rate to be paid or received is based on this index It will be a well known market index such as 'GBP-LIBOR-3M'.
-
name
String name
The convention name, such as 'GBP-LIBOR-3M', optional with defaulting getter.This will default to the name of the index if not specified.
-
spotDateOffset
DaysAdjustment spotDateOffset
The offset of the spot value date from the trade date, optional with defaulting getter.The offset is applied to the trade date and is typically plus 2 business days. The start date of the deposit is equal to the spot date and the end date of the deposit is relative to the start date.
This will default to the effective date offset of the index if not specified.
-
-
Class com.opengamma.strata.product.deposit.type.ImmutableTermDepositConvention extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
businessDayAdjustment
BusinessDayAdjustment businessDayAdjustment
The business day adjustment to apply to the start and end date.The start and end date will be adjusted as defined here.
-
currency
Currency currency
The primary currency.This is the currency of the term deposit and the currency that payment is made in.
-
dayCount
DayCount dayCount
The day count convention.This is used to convert dates to a numerical value.
-
name
String name
The convention name, such as 'GBP-Deposit-ON'. -
spotDateOffset
DaysAdjustment spotDateOffset
The offset of the spot value date from the trade date.The offset is applied to the trade date and is typically plus 2 business days. The start date of the term deposit is equal to the spot date and the end date of the term deposit is relative to the start date.
-
-
Class com.opengamma.strata.product.deposit.type.TermDepositTemplate extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
convention
TermDepositConvention convention
The underlying term deposit convention.This specifies the standard convention of the term deposit to be created.
-
depositPeriod
Period depositPeriod
The period between the start date and the end date.
-
-
-
Package com.opengamma.strata.product.dsf
-
Class com.opengamma.strata.product.dsf.Dsf extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
deliveryDate
LocalDate deliveryDate
The delivery date.The underlying swap is delivered on this date.
-
lastTradeDate
LocalDate lastTradeDate
The last date of trading.This date must be before the delivery date of the underlying swap.
-
notional
double notional
The notional of the futures.This is also called face value or contract value.
-
securityId
SecurityId securityId
The security identifier.This identifier uniquely identifies the security within the system.
-
underlyingSwap
Swap underlyingSwap
The underlying swap.The delivery date of the future is typically the first accrual date of the underlying swap. The swap should be a receiver swap of notional 1.
-
-
Class com.opengamma.strata.product.dsf.DsfPosition extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
PositionInfo info
The additional position information, defaulted to an empty instance.This allows additional information to be attached to the position.
-
longQuantity
double longQuantity
The long quantity of the security.This is the quantity of the underlying security that is held. The quantity cannot be negative, as that would imply short selling.
-
product
Dsf product
The DSF that was traded.The product captures the contracted financial details.
-
shortQuantity
double shortQuantity
The short quantity of the security.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.
-
-
Class com.opengamma.strata.product.dsf.DsfSecurity extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
SecurityInfo info
The standard security information.This includes the security identifier.
-
lastTradeDate
LocalDate lastTradeDate
The last date of trading.This date must be before the delivery date of the underlying swap.
-
notional
double notional
The notional.This is also called face value or contract value.
-
underlyingSwap
Swap underlyingSwap
The underlying swap.The delivery date of the future is the start date of the swap. The swap must be a single currency swap with a notional of 1. There must be two legs, the fixed leg must be received and the floating rate must be paid.
-
-
Class com.opengamma.strata.product.dsf.DsfTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
TradeInfo info
The additional trade information, defaulted to an empty instance.This allows additional information to be attached to the trade. The trade date is required when calling
DsfTrade.resolve(ReferenceData)
. -
price
double price
The price that was traded, in decimal form.This is the price agreed when the trade occurred.
Strata uses decimal prices for DSFs in the trade model, pricers and market data. The decimal price is based on the decimal multiplier equivalent to the implied percentage. Thus the market price of 100.182 is represented in Strata by 1.00182.
-
product
Dsf product
The future that was traded.The product captures the contracted financial details of the trade.
-
quantity
double quantity
The quantity that was traded.This is the number of contracts that were traded. This will be positive if buying and negative if selling.
-
-
Class com.opengamma.strata.product.dsf.ResolvedDsf extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
deliveryDate
LocalDate deliveryDate
The delivery date.The underlying swap is delivered on this date.
-
lastTradeDate
LocalDate lastTradeDate
The last date of trading.This date must be before the delivery date of the underlying swap.
-
notional
double notional
The notional of the futures.This is also called face value or contract value.
-
securityId
SecurityId securityId
The security identifier.This identifier uniquely identifies the security within the system.
-
underlyingSwap
ResolvedSwap underlyingSwap
The underlying swap.The delivery date of the future is typically the first accrual date of the underlying swap. The swap should be a receiver swap of notional 1.
-
-
Class com.opengamma.strata.product.dsf.ResolvedDsfTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
PortfolioItemInfo info
The additional information, defaulted to an empty instance.This allows additional information to be attached.
-
product
ResolvedDsf product
The future that was traded.The product captures the contracted financial details of the trade.
-
quantity
double quantity
The quantity that was traded.This is the number of contracts that were traded. This will be positive if buying and negative if selling.
-
tradedPrice
TradedPrice tradedPrice
The price that was traded, together with the trade date, optional.This is the price agreed when the trade occurred, in decimal form. Strata uses decimal prices for DSFs in the trade model, pricers and market data. The decimal price is based on the decimal multiplier equivalent to the implied percentage. Thus the market price of 100.182 is represented in Strata by 1.00182.
This is optional to allow the class to be used to price both trades and positions. When the instance represents a trade, the traded price should be present. When the instance represents a position, the traded price should be empty.
-
-
-
Package com.opengamma.strata.product.etd
-
Class com.opengamma.strata.product.etd.EtdContractCode extends TypedString<EtdContractCode> implements Serializable
- serialVersionUID:
- 1L
-
Serialization Methods
-
readResolve
private Object readResolve()
-
-
Class com.opengamma.strata.product.etd.EtdContractGroupCode extends TypedString<EtdContractGroupCode> implements Serializable
- serialVersionUID:
- 1L
-
Serialization Methods
-
readResolve
private Object readResolve()
-
-
Class com.opengamma.strata.product.etd.EtdContractGroupId extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialization Methods
-
readResolve
private Object readResolve()
-
-
Serialized Fields
-
code
EtdContractGroupCode code
The contract group code, as defined by the exchange. -
exchangeId
ExchangeId exchangeId
The exchange identifier.
-
-
Class com.opengamma.strata.product.etd.EtdContractSpec extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
attributes
ImmutableMap<AttributeType<?>,Object> attributes
The attributes.Attributes provide the ability to associate arbitrary information with a security contract specification in a key-value map.
-
contractCode
EtdContractCode contractCode
The code supplied by the exchange for use in clearing and margining, such as in SPAN. -
description
String description
The human readable description of the product. -
exchangeId
ExchangeId exchangeId
The ID of the exchange where the instruments derived from the product are traded. -
id
EtdContractSpecId id
The ID of this contract specification.When building, this will be defaulted using
EtdIdUtils
. -
priceInfo
SecurityPriceInfo priceInfo
The information about the security price. This includes details of the currency, tick size, tick value, contract size. -
type
EtdType type
The type of the contract - future or option.
-
-
Class com.opengamma.strata.product.etd.EtdContractSpecId extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialization Methods
-
readResolve
private Object readResolve()
-
-
Serialized Fields
-
standardId
StandardId standardId
The identifier, expressed as a standard two-part identifier.
-
-
Class com.opengamma.strata.product.etd.EtdFuturePosition extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
PositionInfo info
The additional position information, defaulted to an empty instance.This allows additional information to be attached to the position.
-
longQuantity
double longQuantity
The long quantity of the security.This is the quantity of the underlying security that is held. The quantity cannot be negative, as that would imply short selling.
-
security
EtdFutureSecurity security
The underlying security. -
shortQuantity
double shortQuantity
The short quantity of the security.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.
-
-
Class com.opengamma.strata.product.etd.EtdFutureSecurity extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
contractSpecId
EtdContractSpecId contractSpecId
The ID of the contract specification from which this security is derived. -
expiry
YearMonth expiry
The year-month of the expiry.Expiry will occur on a date implied by the variant of the ETD.
-
info
SecurityInfo info
The standard security information.This includes the security identifier.
-
variant
EtdVariant variant
The variant of ETD.This captures the variant of the ETD. The most common variant is 'Monthly'. Other variants are 'Weekly', 'Daily' and 'Flex'.
When building, this defaults to 'Monthly'.
-
-
Class com.opengamma.strata.product.etd.EtdFutureTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
TradeInfo info
The additional trade information, defaulted to an empty instance.This allows additional information to be attached to the trade.
-
price
double price
The price that was traded, in decimal form.This is the price agreed when the trade occurred.
-
quantity
double quantity
The quantity that was traded.This is the number of contracts that were traded. This will be positive if buying and negative if selling.
-
security
EtdFutureSecurity security
The security that was traded.
-
-
Class com.opengamma.strata.product.etd.EtdOptionPosition extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
PositionInfo info
The additional position information, defaulted to an empty instance.This allows additional information to be attached to the position.
-
longQuantity
double longQuantity
The long quantity of the security.This is the quantity of the underlying security that is held. The quantity cannot be negative, as that would imply short selling.
-
security
EtdOptionSecurity security
The underlying security. -
shortQuantity
double shortQuantity
The short quantity of the security.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.
-
-
Class com.opengamma.strata.product.etd.EtdOptionSecurity extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
contractSpecId
EtdContractSpecId contractSpecId
The ID of the contract specification from which this security is derived. -
expiry
YearMonth expiry
The year-month of the expiry.Expiry will occur on a date implied by the variant of the ETD.
-
info
SecurityInfo info
The standard security information.This includes the security identifier.
-
putCall
PutCall putCall
Whether the option is a put or call. -
strikePrice
double strikePrice
The strike price, in decimal form, may be negative. -
underlyingExpiryMonth
YearMonth underlyingExpiryMonth
The expiry year-month of the underlying instrument.If an option has an underlying instrument, the expiry of that instrument can be specified here. For example, you can have an option expiring in March on the underlying March future, or on the underlying June future. Not all options have an underlying instrument, thus the property is optional.
In many cases, the expiry of the underlying instrument is the same as the expiry of the option. In this case, the expiry is often omitted, even though it probably should not be.
-
variant
EtdVariant variant
The variant of ETD.This captures the variant of the ETD. The most common variant is 'Monthly'. Other variants are 'Weekly', 'Daily' and 'Flex'.
When building, this defaults to 'Monthly'.
-
version
int version
The version of the option, defaulted to zero.Some options can have multiple versions, representing some kind of change over time. Version zero is the baseline, version one and later indicates some kind of change occurred.
-
-
Class com.opengamma.strata.product.etd.EtdOptionTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
TradeInfo info
The additional trade information, defaulted to an empty instance.This allows additional information to be attached to the trade.
-
price
double price
The price that was traded, in decimal form.This is the price agreed when the trade occurred.
-
quantity
double quantity
The quantity that was traded.This is the number of contracts that were traded. This will be positive if buying and negative if selling.
-
security
EtdOptionSecurity security
The security that was traded.
-
-
Class com.opengamma.strata.product.etd.EtdVariant extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialization Methods
-
readResolve
private Object readResolve()
-
-
Serialized Fields
-
code
String code
The short code. -
dateCode
Integer dateCode
The optional date code, populated for Weekly and Daily.This will be the week number for Weekly and the day-of-week for Daily.
-
optionType
EtdOptionType optionType
The optional option type, 'American' or 'European', populated for Flex Options. -
settlementType
EtdSettlementType settlementType
The optional settlement type, such as 'Cash' or 'Physical', populated for Flex Futures and Flex Options. -
type
EtdExpiryType type
The type of ETD - Monthly, Weekly or Daily.Flex Futures and Options are always Daily.
-
-
-
Package com.opengamma.strata.product.fra
-
Class com.opengamma.strata.product.fra.Fra extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
businessDayAdjustment
BusinessDayAdjustment businessDayAdjustment
The business day adjustment to apply to the start and end date, optional.The start and end date are typically defined as valid business days and thus do not need to be adjusted. If this optional property is present, then the start and end date will be adjusted as defined here.
-
buySell
BuySell buySell
Whether the FRA is buy or sell.A value of 'Buy' implies that the floating rate is received from the counterparty, with the fixed rate being paid. A value of 'Sell' implies that the floating rate is paid to the counterparty, with the fixed rate being received.
-
currency
Currency currency
The primary currency, defaulted to the currency of the index.This is the currency of the FRA and the currency that payment is made in. The data model permits this currency to differ from that of the index, however the two are typically the same.
When building, this will default to the currency of the index if not specified.
-
dayCount
DayCount dayCount
The day count convention applicable, defaulted to the day count of the index.This is used to convert dates to a numerical value. The data model permits the day count to differ from that of the index, however the two are typically the same.
When building, this will default to the day count of the index if not specified.
-
discounting
FraDiscountingMethod discounting
The method to use for discounting, defaulted to 'ISDA' or 'AFMA'.There are different approaches FRA pricing in the area of discounting. This method specifies the approach for this FRA.
When building, this will default 'AFMA' if the index has the currency 'AUD' or 'NZD' and to 'ISDA' otherwise.
-
endDate
LocalDate endDate
The end date, which is the termination date of the FRA.This is the last day that interest accrues. This date must be after the start date.
This date is typically set to be a valid business day. Optionally, the
businessDayAdjustment
property may be set to provide a rule for adjustment. -
fixedRate
double fixedRate
The fixed rate of interest. A 5% rate will be expressed as 0.05.See
buySell
to determine whether this rate is paid or received. -
fixingDateOffset
DaysAdjustment fixingDateOffset
The offset of the fixing date from the start date.The offset is applied to the start date and is typically minus 2 business days. The data model permits the offset to differ from that of the index, however the two are typically the same.
When building, this will default to the fixing date offset of the index if not specified.
-
index
IborIndex index
The Ibor index.The floating rate to be paid is based on this index It will be a well known market index such as 'GBP-LIBOR-3M'. This will be used throughout unless
indexInterpolated
is present.See
buySell
to determine whether this rate is paid or received. -
indexInterpolated
IborIndex indexInterpolated
The second Ibor index to be used for linear interpolation, optional.This will be used with
index
to linearly interpolate the rate. It will be a well known market index such as 'GBP-LIBOR-6M'. This index may be shorter or longer thanindex
, but not the same. -
notional
double notional
The notional amount.The notional expressed here must be positive. The currency of the notional is specified by
currency
. -
paymentDate
AdjustableDate paymentDate
The payment date.The payment date is typically the same as the start date. The date may be subject to adjustment to ensure it is a business day.
When building, this will default to the start date with no adjustments if not specified.
-
startDate
LocalDate startDate
The start date, which is the effective date of the FRA.This is the first date that interest accrues.
This date is typically set to be a valid business day. Optionally, the
businessDayAdjustment
property may be set to provide a rule for adjustment.
-
-
Class com.opengamma.strata.product.fra.FraTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
Class com.opengamma.strata.product.fra.ResolvedFra extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialization Methods
-
readResolve
private Object readResolve()
-
-
Serialized Fields
-
currency
Currency currency
The primary currency.This is the currency of the FRA and the currency that payment is made in. The data model permits this currency to differ from that of the index, however the two are typically the same.
-
discounting
FraDiscountingMethod discounting
The method to use for discounting.There are different approaches to FRA pricing in the area of discounting. This method specifies the approach for this FRA.
-
endDate
LocalDate endDate
The end date, which is the termination date of the FRA.This is the last day that interest accrues. This date must be after the start date.
This is an adjusted date, which should be a valid business day
-
fixedRate
double fixedRate
The fixed rate of interest. A 5% rate will be expressed as 0.05. -
floatingRate
RateComputation floatingRate
The floating rate of interest.The floating rate to be paid is based on this index. It will be a well known market index such as 'GBP-LIBOR-3M'.
-
notional
double notional
The notional amount.The notional, which is a positive signed amount if the FRA is 'buy', and a negative signed amount if the FRA is 'sell'.
The currency of the notional is specified by
currency
. -
paymentDate
LocalDate paymentDate
The date that payment occurs.This is an adjusted date, which should be a valid business day
-
startDate
LocalDate startDate
The start date, which is the effective date of the FRA.This is the first date that interest accrues.
This is an adjusted date, which should be a valid business day
-
yearFraction
double yearFraction
The year fraction between the start and end date.The value is usually calculated using a
DayCount
. Typically the value will be close to 1 for one year and close to 0.5 for six months. The fraction may be greater than 1, but not less than 0.
-
-
Class com.opengamma.strata.product.fra.ResolvedFraTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
TradeInfo info
The additional trade information, defaulted to an empty instance.This allows additional information to be attached to the trade.
-
product
ResolvedFra product
The resolved FRA product.The product captures the contracted financial details of the trade.
-
-
-
Package com.opengamma.strata.product.fra.type
-
Class com.opengamma.strata.product.fra.type.FraTemplate extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
convention
FraConvention convention
The underlying FRA convention.This specifies the market convention of the FRA to be created.
-
periodToEnd
Period periodToEnd
The period between the spot value date and the end date.In a FRA described as '2 x 5', the period to the end date is 5 months. The difference between the start date and the end date typically matches the tenor of the index, however this is not validated.
When building, this will default to the period to start plus the tenor of the index if not specified.
-
periodToStart
Period periodToStart
The period between the spot value date and the start date.In a FRA described as '2 x 5', the period to the start date is 2 months.
-
-
Class com.opengamma.strata.product.fra.type.ImmutableFraConvention extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
businessDayAdjustment
BusinessDayAdjustment businessDayAdjustment
The business day adjustment to apply to the start and end date, optional with defaulting getter.The start and end date are typically defined as valid business days and thus do not need to be adjusted. If this optional property is present, then the start and end date will be adjusted as defined here.
This will default to 'ModifiedFollowing' using the index fixing calendar if not specified.
-
currency
Currency currency
The primary currency, optional with defaulting getter.This is the currency of the FRA and the currency that payment is made in. The data model permits this currency to differ from that of the index, however the two are typically the same.
This will default to the currency of the index if not specified.
-
dayCount
DayCount dayCount
The day count convention applicable, optional with defaulting getter.This is used to convert dates to a numerical value. The data model permits the day count to differ from that of the index, however the two are typically the same.
This will default to the day count of the index if not specified.
-
discounting
FraDiscountingMethod discounting
The method to use for discounting, optional with defaulting getter.There are different approaches FRA pricing in the area of discounting. This method specifies the approach for this FRA.
This will default 'AFMA' if the index has the currency 'AUD' or 'NZD' and to 'ISDA' otherwise.
-
fixingDateOffset
DaysAdjustment fixingDateOffset
The offset of the fixing date from the start date, optional with defaulting getter.The offset is applied to the start date and is typically minus 2 business days. The data model permits the offset to differ from that of the index, however the two are typically the same.
This will default to the fixing date offset of the index if not specified.
-
index
IborIndex index
The Ibor index.The floating rate to be paid is based on this index It will be a well known market index such as 'GBP-LIBOR-3M'.
-
name
String name
The convention name, such as 'GBP-LIBOR-3M', optional with defaulting getter.This will default to the name of the index if not specified.
-
paymentDateOffset
DaysAdjustment paymentDateOffset
The offset of the payment date from the start date, optional with defaulting getter.Defines the offset from the start date to the payment date. In most cases, the payment date is the same as the start date, so the default of zero is appropriate.
This will default to zero if not specified.
-
spotDateOffset
DaysAdjustment spotDateOffset
The offset of the spot value date from the trade date, optional with defaulting getter.The offset is applied to the trade date and is typically plus 2 business days. The start and end date of the FRA term are relative to the spot date.
This will default to the effective date offset of the index if not specified.
-
-
-
Package com.opengamma.strata.product.fx
-
Class com.opengamma.strata.product.fx.FxNdf extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
agreedFxRate
FxRate agreedFxRate
The FX rate agreed for the value date at the inception of the trade.The settlement amount is based on the difference between this rate and the rate observed on the fixing date using the
index
.The forward is between the two currencies defined by the rate.
-
index
FxIndex index
The index defining the FX rate to observe on the fixing date.The index is used to settle the trade by providing the actual FX rate on the fixing date. The value of the trade is based on the difference between the actual rate and the agreed rate.
The forward is between the two currencies defined by the index.
-
paymentDate
LocalDate paymentDate
The date that the forward settles.On this date, the settlement amount will be exchanged. This date should be a valid business day.
-
settlementCurrencyNotional
CurrencyAmount settlementCurrencyNotional
The notional amount in the settlement currency, positive if receiving, negative if paying.The amount is signed. A positive amount indicates the payment is to be received. A negative amount indicates the payment is to be paid.
This must be specified in one of the two currencies of the forward.
-
-
Class com.opengamma.strata.product.fx.FxNdfTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
Class com.opengamma.strata.product.fx.FxSingle extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
baseCurrencyPayment
Payment baseCurrencyPayment
The payment in the base currency, positive if receiving, negative if paying.The amount is signed. A positive amount indicates the payment is to be received. A negative amount indicates the payment is to be paid.
The payment date is usually the same as
counterCurrencyPayment
. It is typically a valid business day, however thebusinessDayAdjustment
property may be used to adjust it. -
counterCurrencyPayment
Payment counterCurrencyPayment
The payment in the counter currency, positive if receiving, negative if paying.The amount is signed. A positive amount indicates the payment is to be received. A negative amount indicates the payment is to be paid.
The payment date is usually the same as
baseCurrencyPayment
. It is typically a valid business day, however thebusinessDayAdjustment
property may be used to adjust it. -
paymentDateAdjustment
BusinessDayAdjustment paymentDateAdjustment
The payment date adjustment, optional.If present, the adjustment will be applied to the payment date.
-
-
Class com.opengamma.strata.product.fx.FxSingleTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
Class com.opengamma.strata.product.fx.FxSwap extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
farLeg
FxSingle farLeg
The foreign exchange transaction at the later date.This provides details of a single foreign exchange at a specific date. The payment date of this transaction must be after that of the near leg.
-
nearLeg
FxSingle nearLeg
The foreign exchange transaction at the earlier date.This provides details of a single foreign exchange at a specific date. The payment date of this transaction must be before that of the far leg.
-
-
Class com.opengamma.strata.product.fx.FxSwapTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
TradeInfo info
The additional trade information, defaulted to an empty instance.This allows additional information to be attached to the trade.
-
product
FxSwap product
The FX swap product that was agreed when the trade occurred.The product captures the contracted financial details of the trade.
-
-
Class com.opengamma.strata.product.fx.ResolvedFxNdf extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
agreedFxRate
FxRate agreedFxRate
The FX rate agreed for the value date at the inception of the trade.The settlement amount is based on the difference between this rate and the rate observed on the fixing date using the
index
.The forward is between the two currencies defined by the rate.
-
observation
FxIndexObservation observation
The FX index observation.This defines the observation of the index used to settle the trade. The value of the trade is based on the difference between the actual rate and the agreed rate.
An FX index is a daily rate of exchange between two currencies. Note that the order of the currencies in the index does not matter, as the conversion direction is fully defined by the currency of the reference amount.
-
paymentDate
LocalDate paymentDate
The date that the forward settles.On this date, the settlement amount will be exchanged. This date should be a valid business day.
-
settlementCurrencyNotional
CurrencyAmount settlementCurrencyNotional
The notional amount in the settlement currency, positive if receiving, negative if paying.The amount is signed. A positive amount indicates the payment is to be received. A negative amount indicates the payment is to be paid.
This must be specified in one of the two currencies of the forward.
-
-
Class com.opengamma.strata.product.fx.ResolvedFxNdfTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
TradeInfo info
The additional trade information, defaulted to an empty instance.This allows additional information to be attached to the trade.
-
product
ResolvedFxNdf product
The resolved Non-Deliverable Forward (NDF) product.The product captures the contracted financial details of the trade.
-
-
Class com.opengamma.strata.product.fx.ResolvedFxSingle extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
baseCurrencyPayment
Payment baseCurrencyPayment
The payment in the base currency, positive if receiving, negative if paying.The payment amount is signed. A positive amount indicates the payment is to be received. A negative amount indicates the payment is to be paid.
-
counterCurrencyPayment
Payment counterCurrencyPayment
The payment in the counter currency, positive if receiving, negative if paying.The payment amount is signed. A positive amount indicates the payment is to be received. A negative amount indicates the payment is to be paid.
-
-
Class com.opengamma.strata.product.fx.ResolvedFxSingleTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
TradeInfo info
The additional trade information, defaulted to an empty instance.This allows additional information to be attached to the trade.
-
product
ResolvedFxSingle product
The resolved single FX product.The product captures the contracted financial details of the trade.
-
-
Class com.opengamma.strata.product.fx.ResolvedFxSwap extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
farLeg
ResolvedFxSingle farLeg
The foreign exchange transaction at the later date.This provides details of a single foreign exchange at a specific date. The payment date of this transaction must be after that of the near leg.
-
nearLeg
ResolvedFxSingle nearLeg
The foreign exchange transaction at the earlier date.This provides details of a single foreign exchange at a specific date. The payment date of this transaction must be before that of the far leg.
-
-
Class com.opengamma.strata.product.fx.ResolvedFxSwapTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
TradeInfo info
The additional trade information, defaulted to an empty instance.This allows additional information to be attached to the trade.
-
product
ResolvedFxSwap product
The resolved FX swap product.The product captures the contracted financial details of the trade.
-
-
-
Package com.opengamma.strata.product.fx.type
-
Class com.opengamma.strata.product.fx.type.FxSwapTemplate extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
convention
FxSwapConvention convention
The underlying FX Swap convention.This specifies the market convention of the FX Swap to be created.
-
periodToFar
Period periodToFar
The period between the spot value date and the far date.For example, a '3M x 6M' FX swap has a period from spot to the far date of 6 months
-
periodToNear
Period periodToNear
The period between the spot value date and the near date.For example, a '3M x 6M' FX swap has a period from spot to the near date of 3 months
-
-
Class com.opengamma.strata.product.fx.type.ImmutableFxSwapConvention extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
businessDayAdjustment
BusinessDayAdjustment businessDayAdjustment
The business day adjustment to apply to the start and end date, optional with defaulting getter.The start and end date are typically defined as valid business days and thus do not need to be adjusted. If this optional property is present, then the start and end date will be adjusted as defined here.
This will default to 'ModifiedFollowing' using the spot date offset calendar if not specified.
-
currencyPair
CurrencyPair currencyPair
The currency pair associated with the convention. -
name
String name
The convention name, such as 'EUR/USD', optional with defaulting getter.This will default to the name of the currency pair if not specified.
-
spotDateOffset
DaysAdjustment spotDateOffset
The offset of the spot value date from the trade date.The offset is applied to the trade date and is typically plus 2 business days in the joint calendar of the two currencies. The start and end date of the FX swap are relative to the spot date.
-
-
-
Package com.opengamma.strata.product.fxopt
-
Class com.opengamma.strata.product.fxopt.FxSingleBarrierOption extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
barrier
Barrier barrier
The barrier description.The barrier level stored in this field must be represented based on the direction of the currency pair in the underlying FX transaction.
For example, if the underlying option is an option on EUR/GBP, the barrier should be a certain level of EUR/GBP rate.
-
rebate
CurrencyAmount rebate
For a 'out' option, the amount is paid when the barrier is reached; for a 'in' option, the amount is paid at expiry if the barrier is not reached.This is the notional amount represented in one of the currency pair. The amount should be positive.
-
underlyingOption
FxVanillaOption underlyingOption
The underlying FX vanilla option.
-
-
Class com.opengamma.strata.product.fxopt.FxSingleBarrierOptionTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
TradeInfo info
The additional trade information, defaulted to an empty instance.This allows additional information to be attached to the trade.
-
premium
AdjustablePayment premium
The premium of the FX option.The premium sign should be compatible with the product Long/Short flag. This means that the premium is negative for long and positive for short.
-
product
FxSingleBarrierOption product
The FX option product that was agreed when the trade occurred.The product captures the contracted financial details of the trade.
-
-
Class com.opengamma.strata.product.fxopt.FxVanillaOption extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
expiryDate
LocalDate expiryDate
The expiry date of the option.The option is European, and can only be exercised on the expiry date.
-
expiryTime
LocalTime expiryTime
The expiry time of the option.The expiry time is related to the expiry date and time-zone.
-
expiryZone
ZoneId expiryZone
The time-zone of the expiry time.The expiry time-zone is related to the expiry date and time.
-
longShort
LongShort longShort
Whether the option is long or short.At expiry, the long party will have the option to enter in this transaction; the short party will, at the option of the long party, potentially enter into the inverse transaction.
-
underlying
FxSingle underlying
The underlying foreign exchange transaction.At expiry, if the option is in the money, this foreign exchange will occur.
-
-
Class com.opengamma.strata.product.fxopt.FxVanillaOptionTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
TradeInfo info
The additional trade information, defaulted to an empty instance.This allows additional information to be attached to the trade.
-
premium
AdjustablePayment premium
The premium of the FX option.The premium sign should be compatible with the product Long/Short flag. This means that the premium is negative for long and positive for short.
-
product
FxVanillaOption product
The FX option product that was agreed when the trade occurred.The product captures the contracted financial details of the trade.
-
-
Class com.opengamma.strata.product.fxopt.ResolvedFxSingleBarrierOption extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
barrier
Barrier barrier
The barrier description.The barrier level stored in this field must be represented based on the direction of the currency pair in the underlying FX transaction.
For example, if the underlying option is an option on EUR/GBP, the barrier should be a certain level of EUR/GBP rate.
-
rebate
CurrencyAmount rebate
For a 'out' option, the amount is paid when the barrier is reached; for a 'in' option, the amount is paid at expiry if the barrier is not reached.This is the notional amount represented in one of the currency pair. The amount should be positive.
-
underlyingOption
ResolvedFxVanillaOption underlyingOption
The underlying FX vanilla option.
-
-
Class com.opengamma.strata.product.fxopt.ResolvedFxSingleBarrierOptionTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
TradeInfo info
The additional trade information, defaulted to an empty instance.This allows additional information to be attached to the trade.
-
premium
Payment premium
The premium of the FX option.The premium sign should be compatible with the product Long/Short flag. This means that the premium is negative for long and positive for short.
-
product
ResolvedFxSingleBarrierOption product
The resolved barrier FX option product.The product captures the contracted financial details of the trade.
-
-
Class com.opengamma.strata.product.fxopt.ResolvedFxVanillaOption extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
expiry
ZonedDateTime expiry
The expiry date-time of the option.The option is European, and can only be exercised on the expiry date.
-
longShort
LongShort longShort
Whether the option is long or short.At expiry, the long party will have the option to enter in this transaction; the short party will, at the option of the long party, potentially enter into the inverse transaction.
-
underlying
ResolvedFxSingle underlying
The underlying foreign exchange transaction.At expiry, if the option is in the money, this foreign exchange will occur. A call option permits the transaction as specified to occur. A put option permits the inverse transaction to occur.
-
-
Class com.opengamma.strata.product.fxopt.ResolvedFxVanillaOptionTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
TradeInfo info
The additional trade information, defaulted to an empty instance.This allows additional information to be attached to the trade.
-
premium
Payment premium
The premium of the FX option.The premium sign should be compatible with the product Long/Short flag. This means that the premium is negative for long and positive for short.
-
product
ResolvedFxVanillaOption product
The resolved vanilla FX option product.The product captures the contracted financial details of the trade.
-
-
-
Package com.opengamma.strata.product.index
-
Class com.opengamma.strata.product.index.IborFuture extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
accrualFactor
double accrualFactor
The accrual factor, defaulted from the index if not set.This is the year fraction of the contract, typically 0.25 for a 3 month deposit.
When building, this will default to the number of months in the index divided by 12 if not specified. However, if the index is not month-based, no defaulting will occur.
-
currency
Currency currency
The currency that the future is traded in, defaulted from the index if not set. -
index
IborIndex index
The underlying Ibor index.The future is based on this index. It will be a well known market index such as 'USD-LIBOR-3M'.
-
lastTradeDate
LocalDate lastTradeDate
The last date of trading. This date is also the fixing date for the Ibor index. This is typically 2 business days before the IMM date (3rd Wednesday of the month). -
notional
double notional
The notional amount.This is the full notional of the deposit, such as 1 million dollars. The notional expressed here must be positive. The currency of the notional is specified by
currency
. -
rounding
Rounding rounding
The definition of how to round the futures price, defaulted to no rounding.The price is represented in decimal form, not percentage form. As such, the decimal places expressed by the rounding refers to this decimal form. For example, the common market price of 99.7125 for a 0.2875% rate is represented as 0.997125 which has 6 decimal places.
-
securityId
SecurityId securityId
The security identifier.This identifier uniquely identifies the security within the system.
-
-
Class com.opengamma.strata.product.index.IborFutureOption extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
expiryDate
LocalDate expiryDate
The expiry date of the option.The expiry date is related to the expiry time and time-zone. The date must not be after last trade date of the underlying future.
-
expiryTime
LocalTime expiryTime
The expiry time of the option.The expiry time is related to the expiry date and time-zone.
-
expiryZone
ZoneId expiryZone
The time-zone of the expiry time.The expiry time-zone is related to the expiry date and time.
-
premiumStyle
FutureOptionPremiumStyle premiumStyle
The style of the option premium.The two options are daily margining and upfront premium.
-
putCall
PutCall putCall
Whether the option is put or call.A call gives the owner the right, but not obligation, to buy the underlying at an agreed price in the future. A put gives a similar option to sell.
-
rounding
Rounding rounding
The definition of how to round the option price, defaulted to no rounding.The price is represented in decimal form, not percentage form. As such, the decimal places expressed by the rounding refers to this decimal form.
-
securityId
SecurityId securityId
The security identifier.This identifier uniquely identifies the security within the system.
-
strikePrice
double strikePrice
The strike price, in decimal form.This is the price at which the option applies and refers to the price of the underlying future. The rate implied by the strike can take negative values.
Strata uses decimal prices for Ibor 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.
-
underlyingFuture
IborFuture underlyingFuture
The underlying future.
-
-
Class com.opengamma.strata.product.index.IborFutureOptionPosition extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
PositionInfo info
The additional position information, defaulted to an empty instance.This allows additional information to be attached to the position.
-
longQuantity
double longQuantity
The long quantity of the security.This is the quantity of the underlying security that is held. The quantity cannot be negative, as that would imply short selling.
-
product
IborFutureOption product
The option that was traded.The product captures the contracted financial details.
-
shortQuantity
double shortQuantity
The short quantity of the security.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.
-
-
Class com.opengamma.strata.product.index.IborFutureOptionSecurity extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
currency
Currency currency
The currency that the option is traded in. -
expiryDate
LocalDate expiryDate
The expiry date of the option.The expiry date is related to the expiry time and time-zone. The date must not be after last trade date of the underlying future.
-
expiryTime
LocalTime expiryTime
The expiry time of the option.The expiry time is related to the expiry date and time-zone.
-
expiryZone
ZoneId expiryZone
The time-zone of the expiry time.The expiry time-zone is related to the expiry date and time.
-
info
SecurityInfo info
The standard security information.This includes the security identifier.
-
premiumStyle
FutureOptionPremiumStyle premiumStyle
The style of the option premium.The two options are daily margining and upfront premium.
-
putCall
PutCall putCall
Whether the option is put or call.A call gives the owner the right, but not obligation, to buy the underlying at an agreed price in the future. A put gives a similar option to sell.
-
rounding
Rounding rounding
The definition of how to round the option price, defaulted to no rounding.The price is represented in decimal form, not percentage form. As such, the decimal places expressed by the rounding refers to this decimal form.
-
strikePrice
double strikePrice
The strike price, in decimal form.This is the price at which the option applies and refers to the price of the underlying future. The rate implied by the strike can take negative values.
Strata uses decimal prices for Ibor 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.
-
underlyingFutureId
SecurityId underlyingFutureId
The identifier of the underlying future.
-
-
Class com.opengamma.strata.product.index.IborFutureOptionTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
TradeInfo info
The additional trade information, defaulted to an empty instance.This allows additional information to be attached to the trade. The trade date is required when calling
IborFutureOptionTrade.resolve(ReferenceData)
. -
price
double price
The price that was traded, in decimal form.This is the price agreed when the trade occurred.
Strata uses decimal prices for Ibor future options in the trade model, pricers and market data. The decimal price is based on the decimal rate equivalent to the percentage. For example, an option price of 0.2 is related to a futures price of 99.32 that implies an interest rate of 0.68%. Strata represents the price of the future as 0.9932 and thus represents the price of the option as 0.002.
-
product
IborFutureOption product
The option that was traded.The product captures the contracted financial details of the trade.
-
quantity
double quantity
The quantity that was traded.This is the number of contracts that were traded. This will be positive if buying and negative if selling.
-
-
Class com.opengamma.strata.product.index.IborFuturePosition extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
PositionInfo info
The additional position information, defaulted to an empty instance.This allows additional information to be attached to the position.
-
longQuantity
double longQuantity
The long quantity of the security.This is the quantity of the underlying security that is held. The quantity cannot be negative, as that would imply short selling.
-
product
IborFuture product
The future that was traded.The product captures the contracted financial details.
-
shortQuantity
double shortQuantity
The short quantity of the security.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.
-
-
Class com.opengamma.strata.product.index.IborFutureSecurity extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
index
IborIndex index
The underlying Ibor index.The future is based on this index. It will be a well known market index such as 'USD-LIBOR-3M'.
-
info
SecurityInfo info
The standard security information.This includes the security identifier.
-
lastTradeDate
LocalDate lastTradeDate
The last date of trading. This date is also the fixing date for the Ibor index. This is typically 2 business days before the IMM date (3rd Wednesday of the month). -
notional
double notional
The notional amount.This is the full notional of the deposit, such as 1 million dollars. The notional expressed here must be positive. The currency of the notional the same as the currency of the index.
-
rounding
Rounding rounding
The definition of how to round the futures price, defaulted to no rounding.The price is represented in decimal form, not percentage form. As such, the decimal places expressed by the rounding refers to this decimal form. For example, the common market price of 99.7125 for a 0.2875% rate is represented as 0.997125 which has 6 decimal places.
-
-
Class com.opengamma.strata.product.index.IborFutureTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
TradeInfo info
The additional trade information, defaulted to an empty instance.This allows additional information to be attached to the trade. The trade date is required when calling
IborFutureTrade.resolve(ReferenceData)
. -
price
double price
The price that was traded, in decimal form.This is the price agreed when the trade occurred.
Strata uses decimal prices for Ibor 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.
-
product
IborFuture product
The future that was traded.The product captures the contracted financial details of the trade.
-
quantity
double quantity
The quantity that was traded.This is the number of contracts that were traded. This will be positive if buying and negative if selling.
-
-
Class com.opengamma.strata.product.index.OvernightFuture extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
accrualFactor
double accrualFactor
The accrual factor, defaulted from the index if not set.This is the year fraction of the contract, typically 1/12 for a 30-day future. As such, it is often unrelated to the day count of the index. The year fraction must be positive.
-
accrualMethod
OvernightAccrualMethod accrualMethod
The method of accruing Overnight interest.The average rate is calculated based on this method over the period between
startDate
andendDate
. -
currency
Currency currency
The currency that the future is traded in, defaulted from the index if not set. -
endDate
LocalDate endDate
The last date of the rate calculation period.This is not necessarily a valid business day on the fixing calendar of
index
. However, it will be adjusted inOvernightRateComputation
if needed. -
index
OvernightIndex index
The underlying Overnight index.The future is based on this index. It will be a well known market index such as 'USD-FED-FUND'.
-
lastTradeDate
LocalDate lastTradeDate
The last date of trading.This must be a valid business day on the fixing calendar of
index
. For example, the last trade date is often the last business day of the month. -
notional
double notional
The notional amount.This is the full notional of the deposit, such as 5 million dollars. The notional expressed here must be positive. The currency of the notional is specified by
currency
. -
rounding
Rounding rounding
The definition of how to round the futures price, defaulted to no rounding.The price is represented in decimal form, not percentage form. As such, the decimal places expressed by the rounding refers to this decimal form. For example, the common market price of 99.7125 for a 0.2875% rate is represented as 0.997125 which has 6 decimal places.
-
securityId
SecurityId securityId
The security identifier.This identifier uniquely identifies the security within the system.
-
startDate
LocalDate startDate
The first date of the rate calculation period.This is not necessarily a valid business day on the fixing calendar of
index
. However, it will be adjusted inOvernightRateComputation
if needed.
-
-
Class com.opengamma.strata.product.index.OvernightFuturePosition extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
PositionInfo info
The additional position information, defaulted to an empty instance.This allows additional information to be attached to the position.
-
longQuantity
double longQuantity
The long quantity of the security.This is the quantity of the underlying security that is held. The quantity cannot be negative, as that would imply short selling.
-
product
OvernightFuture product
The future that was traded.The product captures the contracted financial details.
-
shortQuantity
double shortQuantity
The short quantity of the security.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.
-
-
Class com.opengamma.strata.product.index.OvernightFutureSecurity extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
accrualFactor
double accrualFactor
The accrual factor, defaulted from the index if not set.This is the year fraction of the contract, typically 1/12 for a 30-day future. As such, it is often unrelated to the day count of the index. The year fraction must be positive.
-
accrualMethod
OvernightAccrualMethod accrualMethod
The method of accruing Overnight interest.The average rate is calculated based on this method over the period between
startDate
andendDate
. -
endDate
LocalDate endDate
The last date of the rate calculation period.This is not necessarily a valid business day on the fixing calendar of
index
. However, it will be adjusted inOvernightRateComputation
if needed. -
index
OvernightIndex index
The underlying Overnight index.The future is based on this index. It will be a well known market index such as 'USD-FED-FUND'.
-
info
SecurityInfo info
The standard security information.This includes the security identifier.
-
lastTradeDate
LocalDate lastTradeDate
The last date of trading.This must be a valid business day on the fixing calendar of
index
. For example, the last trade date is often the last business day of the month. -
notional
double notional
The notional amount.This is the full notional of the deposit, such as 5 million dollars. The notional expressed here must be positive. The currency of the notional the same as the currency of the index.
-
rounding
Rounding rounding
The definition of how to round the futures price, defaulted to no rounding.The price is represented in decimal form, not percentage form. As such, the decimal places expressed by the rounding refers to this decimal form. For example, the common market price of 99.7125 for a 0.2875% rate is represented as 0.997125 which has 6 decimal places.
-
startDate
LocalDate startDate
The first date of the rate calculation period.This is not necessarily a valid business day on the fixing calendar of
index
. However, it will be adjusted inOvernightRateComputation
if needed.
-
-
Class com.opengamma.strata.product.index.OvernightFutureTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
TradeInfo info
The additional trade information, defaulted to an empty instance.This allows additional information to be attached to the trade. The trade date is required when calling
OvernightFutureTrade.resolve(ReferenceData)
. -
price
double price
The price that was traded, in decimal form.This is the price agreed when the trade occurred.
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.
-
product
OvernightFuture product
The future that was traded.The product captures the contracted financial details of the trade.
-
quantity
double quantity
The quantity that was traded.This is the number of contracts that were traded. This will be positive if buying and negative if selling.
-
-
Class com.opengamma.strata.product.index.ResolvedIborFuture extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
accrualFactor
double accrualFactor
The accrual factor, defaulted from the index if not set.This is the year fraction of the contract, typically 0.25 for a 3 month deposit.
When building, this will default to the number of months in the index divided by 12 if not specified. However, if the index is not month-based, no defaulting will occur.
-
currency
Currency currency
The currency that the future is traded in. -
iborRate
IborRateComputation iborRate
The Ibor rate observation.The future is based on this index. It will be a well known market index such as 'USD-LIBOR-3M'.
-
notional
double notional
The notional amount.This is the full notional of the deposit, such as 1 million dollars. The notional expressed here must be positive. The currency of the notional is specified by
currency
. -
rounding
Rounding rounding
The definition of how to round the futures price, defaulted to no rounding.The price is represented in decimal form, not percentage form. As such, the decimal places expressed by the rounding refers to this decimal form. For example, the common market price of 99.7125 for a 0.2875% rate is represented as 0.997125 which has 6 decimal places.
-
securityId
SecurityId securityId
The security identifier.This identifier uniquely identifies the security within the system.
-
-
Class com.opengamma.strata.product.index.ResolvedIborFutureOption extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
expiry
ZonedDateTime expiry
The expiry of the option.The date must not be after last trade date of the underlying future.
-
premiumStyle
FutureOptionPremiumStyle premiumStyle
The style of the option premium.The two options are daily margining and upfront premium.
-
putCall
PutCall putCall
Whether the option is put or call.A call gives the owner the right, but not obligation, to buy the underlying at an agreed price in the future. A put gives a similar option to sell.
-
rounding
Rounding rounding
The definition of how to round the option price, defaulted to no rounding.The price is represented in decimal form, not percentage form. As such, the decimal places expressed by the rounding refers to this decimal form.
-
securityId
SecurityId securityId
The security identifier.This identifier uniquely identifies the security within the system.
-
strikePrice
double strikePrice
The strike price, in decimal form.This is the price at which the option applies and refers to the price of the underlying future. The rate implied by the strike can take negative values.
Strata uses decimal prices for Ibor 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.
-
underlyingFuture
ResolvedIborFuture underlyingFuture
The underlying future.
-
-
Class com.opengamma.strata.product.index.ResolvedIborFutureOptionTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
PortfolioItemInfo info
The additional information, defaulted to an empty instance.This allows additional information to be attached.
-
product
ResolvedIborFutureOption product
The option that was traded.The product captures the contracted financial details of the trade.
-
quantity
double quantity
The quantity that was traded.This is the number of contracts that were traded. This will be positive if buying and negative if selling.
-
tradedPrice
TradedPrice tradedPrice
The price that was traded, together with the trade date, optional.This is the price agreed when the trade occurred, in decimal form. Strata uses decimal prices for Ibor future options in the trade model, pricers and market data. The decimal price is based on the decimal rate equivalent to the percentage. For example, an option price of 0.2 is related to a futures price of 99.32 that implies an interest rate of 0.68%. Strata represents the price of the future as 0.9932 and thus represents the price of the option as 0.002.
This is optional to allow the class to be used to price both trades and positions. When the instance represents a trade, the traded price should be present. When the instance represents a position, the traded price should be empty.
-
-
Class com.opengamma.strata.product.index.ResolvedIborFutureTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
PortfolioItemInfo info
The additional information, defaulted to an empty instance.This allows additional information to be attached.
-
product
ResolvedIborFuture product
The future that was traded.The product captures the contracted financial details of the trade.
-
quantity
double quantity
The quantity that was traded.This is the number of contracts that were traded. This will be positive if buying and negative if selling.
-
tradedPrice
TradedPrice tradedPrice
The price that was traded, together with the trade date, optional.This is the price agreed when the trade occurred, in decimal form. Strata uses decimal prices for Ibor 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.
This is optional to allow the class to be used to price both trades and positions. When the instance represents a trade, the traded price should be present. When the instance represents a position, the traded price should be empty.
-
-
Class com.opengamma.strata.product.index.ResolvedOvernightFuture extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
accrualFactor
double accrualFactor
The accrual factor, defaulted from the index if not set.This is the year fraction of the contract, typically 1/12 for a 30-day future. The year fraction must be positive.
-
currency
Currency currency
The currency that the future is traded in. -
lastTradeDate
LocalDate lastTradeDate
The last date of trading.This must be a valid business day on the fixing calendar of
index
. The last trade date is typically the last business day of the month. -
notional
double notional
The notional amount.This is the full notional of the deposit, such as 5 million dollars. The notional expressed here must be positive. The currency of the notional is specified by
currency
. -
overnightRate
OvernightRateComputation overnightRate
The Overnight rate observation.The future is based on this index. It will be a well known market index such as 'USD-FED-FUND'.
-
rounding
Rounding rounding
The definition of how to round the futures price, defaulted to no rounding.The price is represented in decimal form, not percentage form. As such, the decimal places expressed by the rounding refers to this decimal form. For example, the common market price of 99.7125 for a 0.2875% rate is represented as 0.997125 which has 6 decimal places.
-
securityId
SecurityId securityId
The security identifier.This identifier uniquely identifies the security within the system.
-
-
Class com.opengamma.strata.product.index.ResolvedOvernightFutureTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
PortfolioItemInfo info
The additional information, defaulted to an empty instance.This allows additional information to be attached.
-
product
ResolvedOvernightFuture product
The future that was traded.The product captures the contracted financial details of the trade.
-
quantity
double quantity
The quantity that was traded.This is the number of contracts that were traded. This will be positive if buying and negative if selling.
-
tradedPrice
TradedPrice tradedPrice
The price that was traded, together with the trade date, optional.This is the price agreed when the trade occurred, in decimal form. 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.
This is optional to allow the class to be used to price both trades and positions. When the instance represents a trade, the traded price should be present. When the instance represents a position, the traded price should be empty.
-
-
-
Package com.opengamma.strata.product.index.type
-
Class com.opengamma.strata.product.index.type.IborFutureTemplate extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
contractSpec
IborFutureContractSpec contractSpec
The underlying contract specification.This specifies the contract of the Ibor Futures to be created.
-
sequenceDate
SequenceDate sequenceDate
The instructions that define which future is desired.
-
-
Class com.opengamma.strata.product.index.type.ImmutableIborFutureContractSpec extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
businessDayAdjustment
BusinessDayAdjustment businessDayAdjustment
The business day adjustment to apply to the reference date.The reference date, which is often the third Wednesday of the month, will be adjusted as defined here.
-
dateSequence
DateSequence dateSequence
The sequence of dates that the future is based on.This is used to calculate the reference date of the future that is the start date of the underlying synthetic deposit.
-
index
IborIndex index
The Ibor index.The floating rate to be paid is based on this index It will be a well known market index such as 'GBP-LIBOR-3M'.
-
name
String name
The name, such as 'USD-LIBOR-3M-IMM-CME'. -
notional
double notional
The notional deposit that the contract models.This is the full notional of the deposit, such as 1 million dollars. The notional expressed here must be positive. The currency of the notional is specified by the index.
-
-
Class com.opengamma.strata.product.index.type.ImmutableIborFutureConvention extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
businessDayAdjustment
BusinessDayAdjustment businessDayAdjustment
Deprecated.The business day adjustment to apply to the reference date.The reference date, which is often the third Wednesday of the month, will be adjusted as defined here.
-
dateSequence
DateSequence dateSequence
Deprecated.The sequence of dates that the future is based on.This is used to calculate the reference date of the future that is the start date of the underlying synthetic deposit.
-
index
IborIndex index
Deprecated.The Ibor index.The floating rate to be paid is based on this index It will be a well known market index such as 'GBP-LIBOR-3M'.
-
name
String name
Deprecated.The convention name, such as 'USD-LIBOR-3M-Quarterly-IMM'.This will default to the name of the index suffixed by the name of the date sequence if not specified.
-
-
Class com.opengamma.strata.product.index.type.ImmutableOvernightFutureContractSpec extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
accrualMethod
OvernightAccrualMethod accrualMethod
The method of accruing Overnight interest. -
dateSequence
DateSequence dateSequence
The sequence of dates that the future is based on.This is used to calculate the reference date of the future that is the start date of the underlying synthetic deposit.
-
endDateAdjustment
DaysAdjustment endDateAdjustment
The days adjustment to apply to get the end date.The end date is obtained by applying this adjustment to the next date in sequence from the start date. This defaults to minus one without applying a holiday calendar.
-
index
OvernightIndex index
The Overnight index.The floating rate to be paid is based on this index It will be a well known market index such as 'GBP-SONIA'.
-
lastTradeDateAdjustment
DaysAdjustment lastTradeDateAdjustment
The days adjustment to apply to get the last trade date.The last trade date is obtained by applying this adjustment to the next date in sequence from the start date. This defaults to the previous business day in the fixing calendar (minus one calendar day and preceding).
-
name
String name
The name, such as 'GBP-SONIA-3M-IMM-ICE'. -
notional
double notional
The notional deposit that the contract models.This is the full notional of the deposit, such as 1 million dollars. The notional expressed here must be positive. The currency of the notional is specified by the index.
-
startDateAdjustment
BusinessDayAdjustment startDateAdjustment
The business day adjustment to apply to get the start date.The start date is obtained by applying this adjustment to the reference date from the date sequence. The reference date is often the third Wednesday of the month or the start of the month. This defaults to accepting the date from the sequence without applying a holiday calendar.
-
-
Class com.opengamma.strata.product.index.type.OvernightFutureTemplate extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
contractSpec
OvernightFutureContractSpec contractSpec
The underlying contract specification.This specifies the contract of the Overnight Futures to be created.
-
sequenceDate
SequenceDate sequenceDate
The instructions that define which future is desired.
-
-
-
Package com.opengamma.strata.product.option
-
Class com.opengamma.strata.product.option.SimpleConstantContinuousBarrier extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
barrierLevel
double barrierLevel
The barrier level. -
barrierType
BarrierType barrierType
The barrier type. -
knockType
KnockType knockType
The knock type.
-
-
-
Package com.opengamma.strata.product.payment
-
Class com.opengamma.strata.product.payment.BulletPayment extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
date
AdjustableDate date
The date that the payment is made.This date should normally be a valid business day.
-
payReceive
PayReceive payReceive
Whether the payment is to be paid or received.A value of 'Pay' implies that the amount is paid to the counterparty. A value of 'Receive' implies that the amount is received from the counterparty.
-
value
CurrencyAmount value
The amount of the payment.The amount is unsigned, with the direction implied by
payReceive
.
-
-
Class com.opengamma.strata.product.payment.BulletPaymentTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
TradeInfo info
The additional trade information, defaulted to an empty instance.This allows additional information to be attached to the trade.
-
product
BulletPayment product
The product that was agreed when the trade occurred.The product captures the contracted financial details of the trade.
-
-
Class com.opengamma.strata.product.payment.ResolvedBulletPayment extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
payment
Payment payment
The payment to be made.
-
-
Class com.opengamma.strata.product.payment.ResolvedBulletPaymentTrade extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
info
TradeInfo info
The additional trade information, defaulted to an empty instance.This allows additional information to be attached to the trade.
-
product
ResolvedBulletPayment product
The resolved bullet payment product.The product captures the contracted financial details of the trade.
-
-
-
Package com.opengamma.strata.product.rate
-
Class com.opengamma.strata.product.rate.FixedOvernightCompoundedAnnualRateComputation extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
accrualFactor
double accrualFactor
The accrual factor. -
rate
double rate
The fixed rate for overnight compounding. A 5% rate will be expressed as 0.05. -
simpleRate
double simpleRate
The calculated simple rate.
-
-
Class com.opengamma.strata.product.rate.FixedRateComputation extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
rate
double rate
The fixed rate to be paid. A 5% rate will be expressed as 0.05.
-
-
Class com.opengamma.strata.product.rate.IborAveragedFixing extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
fixedRate
Double fixedRate
The fixed rate for the fixing date, optional. A 5% rate will be expressed as 0.05.In certain circumstances two counterparties agree the rate of a fixing when the contract starts. It is used in place of an observed fixing. Other calculation elements, such as gearing or spread, still apply.
If the value not present, which is the normal case, then the rate is observed via the normal fixing process.
-
observation
IborIndexObservation observation
The Ibor index observation to use to determine a rate for the reset period. -
weight
double weight
The weight to apply to this fixing.If the averaging is unweighted, then all weights must be one.
-
-
Class com.opengamma.strata.product.rate.IborAveragedRateComputation extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialization Methods
-
readResolve
private Object readResolve()
-
-
Serialized Fields
-
fixings
ImmutableList<IborAveragedFixing> fixings
The list of fixings.A fixing will be taken for each reset period, with the final rate being an average of the fixings.
-
-
Class com.opengamma.strata.product.rate.IborInterpolatedRateComputation extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
longObservation
IborIndexObservation longObservation
The longer Ibor index observation.The rate to be paid is based on this index It will be a well known market index such as 'GBP-LIBOR-3M'.
-
shortObservation
IborIndexObservation shortObservation
The shorter Ibor index observation.The rate to be paid is based on this index It will be a well known market index such as 'GBP-LIBOR-1M'.
-
-
Class com.opengamma.strata.product.rate.IborRateComputation extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
observation
IborIndexObservation observation
The underlying index observation.
-
-
Class com.opengamma.strata.product.rate.InflationEndInterpolatedRateComputation extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
endObservation
PriceIndexObservation endObservation
The observation at the end.The inflation rate is the ratio between the start index value and the interpolated end observations. The end month is typically three months before the end of the period.
-
endSecondObservation
PriceIndexObservation endSecondObservation
The observation for interpolation at the end.The inflation rate is the ratio between the start index value and the interpolated end observations. The month is typically one month after the month of the end observation.
-
startIndexValue
double startIndexValue
The start index value.The published index value of the start month.
-
weight
double weight
The positive weight used when interpolating.Given two price index observations, typically in adjacent months, the weight is used to determine the adjusted index value. The value is given by the formula
(weight * price_index_1 + (1 - weight) * price_index_2)
.
-
-
Class com.opengamma.strata.product.rate.InflationEndMonthRateComputation extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
endObservation
PriceIndexObservation endObservation
The observation at the end.The inflation rate is the ratio between the start index value and end observation. The end month is typically three months before the end of the period.
-
startIndexValue
double startIndexValue
The start index value.The published index value of the start month.
-
-
Class com.opengamma.strata.product.rate.InflationInterpolatedRateComputation extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
endObservation
PriceIndexObservation endObservation
The observation at the end.The inflation rate is the ratio between the interpolated start and end observations. The end month is typically three months before the end of the period.
-
endSecondObservation
PriceIndexObservation endSecondObservation
The observation for interpolation at the end.The inflation rate is the ratio between the interpolated start and end observations. The month is typically one month after the month of the end observation.
-
startObservation
PriceIndexObservation startObservation
The observation at the start.The inflation rate is the ratio between the interpolated start and end observations. The start month is typically three months before the start of the period.
-
startSecondObservation
PriceIndexObservation startSecondObservation
The observation for interpolation at the start.The inflation rate is the ratio between the interpolated start and end observations. The month is typically one month after the month of the start observation.
-
weight
double weight
The positive weight used when interpolating.Given two price index observations, typically in adjacent months, the weight is used to determine the adjusted index value. The value is given by the formula
(weight * price_index_1 + (1 - weight) * price_index_2)
.
-
-
Class com.opengamma.strata.product.rate.InflationMonthlyRateComputation extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
endObservation
PriceIndexObservation endObservation
The observation at the end.The inflation rate is the ratio between the start and end observation. The end month is typically three months before the end of the period.
-
startObservation
PriceIndexObservation startObservation
The observation at the start.The inflation rate is the ratio between the start and end observation. The start month is typically three months before the start of the period.
-
-
Class com.opengamma.strata.product.rate.OvernightAveragedDailyRateComputation extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
endDate
LocalDate endDate
The end date of the accrual period.This is not necessarily a valid business day. In this case, the last fixing date is the previous business day of the end date on
fixingCalendar
. -
fixingCalendar
HolidayCalendar fixingCalendar
The resolved calendar that the index uses. -
index
OvernightIndex index
The Overnight index.The rate to be paid is based on this index. It will be a well known market index such as 'GBP-SONIA'.
-
startDate
LocalDate startDate
The start date of the accrual period.This is not necessarily a valid business day. In this case, the first fixing date is the previous business day of the start date on
fixingCalendar
.
-
-
Class com.opengamma.strata.product.rate.OvernightAveragedRateComputation extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
endDate
LocalDate endDate
The fixing date associated with the end date of the accrual period.The overnight rate is accrued until the maturity date associated with this date.
In general, the fixing dates and accrual dates are the same for an overnight index. However, in the case of a Tomorrow/Next index, the fixing period is one business day before the accrual period.
-
fixingCalendar
HolidayCalendar fixingCalendar
The resolved calendar that the index uses. -
index
OvernightIndex index
The Overnight index.The rate to be paid is based on this index. It will be a well known market index such as 'GBP-SONIA'.
-
rateCutOffDays
int rateCutOffDays
The number of business days before the end of the period that the rate is cut off.When a rate cut-off applies, the final daily rate is determined this number of days before the end of the period, with any subsequent days having the same rate.
The amount must be zero or positive. A value of zero or one will have no effect on the standard calculation. The fixing holiday calendar of the index is used to determine business days.
For example, a value of
3
means that the rate observed on(periodEndDate - 3 business days)
is also to be used on(periodEndDate - 2 business days)
and(periodEndDate - 1 business day)
.If there are multiple accrual periods in the payment period, then this should typically only be non-zero in the last accrual period.
-
startDate
LocalDate startDate
The fixing date associated with the start date of the accrual period.This is also the first fixing date. The overnight rate is observed from this date onwards.
In general, the fixing dates and accrual dates are the same for an overnight index. However, in the case of a Tomorrow/Next index, the fixing period is one business day before the accrual period.
-
-
Class com.opengamma.strata.product.rate.OvernightCompoundedAnnualRateComputation extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
endDate
LocalDate endDate
The fixing date associated with the end date of the accrual period.The overnight rate is observed until this date.
In general, the fixing dates and accrual dates are the same for an overnight index. However, in the case of a Tomorrow/Next index, the fixing period is one business day before the accrual period.
-
fixingCalendar
HolidayCalendar fixingCalendar
The resolved calendar that the index uses. -
index
OvernightIndex index
The Overnight index.The rate to be paid is based on this index.
-
startDate
LocalDate startDate
The fixing date associated with the start date of the accrual period.This is also the first fixing date. The overnight rate is observed from this date onwards.
In general, the fixing dates and accrual dates are the same for an overnight index. However, in the case of a Tomorrow/Next index, the fixing period is one business day before the accrual period.
-
-
Class com.opengamma.strata.product.rate.OvernightCompoundedRateComputation extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
endDate
LocalDate endDate
The fixing date associated with the end date of the accrual period.The overnight rate is observed until this date.
In general, the fixing dates and accrual dates are the same for an overnight index. However, in the case of a Tomorrow/Next index, the fixing period is one business day before the accrual period.
-
fixingCalendar
HolidayCalendar fixingCalendar
The resolved calendar that the index uses. -
index
OvernightIndex index
The Overnight index.The rate to be paid is based on this index. It will be a well known market index such as 'GBP-SONIA'.
-
rateCutOffDays
int rateCutOffDays
The number of business days before the end of the period that the rate is cut off.When a rate cut-off applies, the final daily rate is determined this number of days before the end of the period, with any subsequent days having the same rate.
The amount must be zero or positive. A value of zero or one will have no effect on the standard calculation. The fixing holiday calendar of the index is used to determine business days.
For example, a value of
3
means that the rate observed on(periodEndDate - 3 business days)
is also to be used on(periodEndDate - 2 business days)
and(periodEndDate - 1 business day)
.If there are multiple accrual periods in the payment period, then this should typically only be non-zero in the last accrual period.
-
startDate
LocalDate startDate
The fixing date associated with the start date of the accrual period.This is also the first fixing date. The overnight rate is observed from this date onwards.
In general, the fixing dates and accrual dates are the same for an overnight index. However, in the case of a Tomorrow/Next index, the fixing period is one business day before the accrual period.
-
-
-
Package com.opengamma.strata.product.swap
-
Class com.opengamma.strata.product.swap.FixedRateCalculation extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
dayCount
DayCount dayCount
The day count convention.This is used to convert schedule period dates to a numerical value.
-
finalStub
FixedRateStubCalculation finalStub
The final stub, optional.The final stub of a swap may have a different rate from the regular accrual periods. This property allows the stub rate to be specified, either as a known amount or a rate. If this property is not present, then the rate derived from the
rate
property applies during the stub. If this property is present and there is no initial stub, it is ignored. -
futureValueNotional
FutureValueNotional futureValueNotional
The future value notional.This property is used when the fixed leg of a swap has a future value notional. This is typically used for Brazilian swaps.
-
initialStub
FixedRateStubCalculation initialStub
The initial stub, optional.The initial stub of a swap may have a different rate from the regular accrual periods. This property allows the stub rate to be specified, either as a known amount or a rate. If this property is not present, then the rate derived from the
rate
property applies during the stub. If this property is present and there is no initial stub, it is ignored. -
rate
ValueSchedule rate
The interest rate to be paid. A 5% rate will be expressed as 0.05.This defines the rate as an initial amount and a list of adjustments. The rate is only permitted to change at accrual period boundaries.
-
-
Class com.opengamma.strata.product.swap.FixedRateStubCalculation extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
fixedRate
Double fixedRate
The fixed rate to use in the stub. A 5% rate will be expressed as 0.05.If the fixed rate is present, then
knownAmount
must not be present. -
knownAmount
CurrencyAmount knownAmount
The known amount to pay/receive for the stub.If the known amount is present, then
fixedRate
must not be present.
-
-
Class com.opengamma.strata.product.swap.FutureValueNotional extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
dayCountDays
Integer dayCountDays
The number of days in the calculation period.This defines the number of days from the adjusted start date to the adjusted end date as calculated by the day count.
-
value
Double value
The amount.The future value notional amount, derived as per the standard formula.
-
valueDate
LocalDate valueDate
The value date.This is the adjusted value date of the future value amount, which is the adjusted end date.
-
-
Class com.opengamma.strata.product.swap.FxReset extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
observation
FxIndexObservation observation
The FX index observation.This defines the observation of the index used to obtain the FX reset rate.
An FX index is a daily rate of exchange between two currencies. Note that the order of the currencies in the index does not matter, as the conversion direction is fully defined by the currency of the reference amount.
-
referenceCurrency
Currency referenceCurrency
The currency of the notional amount defined in the contract.This is the currency of notional amount as defined in the contract. The amount will be converted from this reference currency to the swap leg currency when calculating the value of the leg.
The reference currency must be one of the two currencies of the index.
The reference currency is also known as the constant currency.
-
-
Class com.opengamma.strata.product.swap.FxResetCalculation extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
fixingDateOffset
DaysAdjustment fixingDateOffset
The offset of the FX reset fixing date from each adjusted accrual date.The offset is applied to the base date specified by
fixingRelativeTo
. The offset is typically a negative number of business days.When building, this will default to the fixing offset of the index if not specified.
-
fixingRelativeTo
FxResetFixingRelativeTo fixingRelativeTo
The base date that each FX reset fixing is made relative to, defaulted to 'PeriodStart'.The FX reset fixing date is relative to either the start or end of each accrual period.
-
index
FxIndex index
The FX index used to obtain the FX reset rate.This is the index of FX used to obtain the FX reset rate. An FX index is a daily rate of exchange between two currencies. Note that the order of the currencies in the index does not matter, as the conversion direction is fully defined by the reference and swap leg currencies.
-
initialNotionalValue
Double initialNotionalValue
The initial notional value, specified in the payment currency.If present, this fixed amount represents the notional of the initial period of the swap leg, with no FX reset being applied.
If not present, the initial notional amount is calculated by applying an fx conversion to the reference currency in the same manner as all other period notional calculations.
-
referenceCurrency
Currency referenceCurrency
The currency of the notional amount defined in the contract.This is the currency of notional amount as defined in the contract. The amount will be converted from this reference currency to the swap leg currency when calculating the value of the leg.
The reference currency must be one of the two currencies of the index.
The reference currency is also known as the constant currency.
-
-
Class com.opengamma.strata.product.swap.FxResetNotionalExchange extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
notionalAmount
CurrencyAmount notionalAmount
The notional amount, positive if receiving, negative if paying.The notional amount applicable during the period. The currency of the notional is specified by
referenceCurrency
but will be paid after FX conversion using the index. -
observation
FxIndexObservation observation
The FX index observation.This defines the observation of the index used to obtain the FX reset rate.
An FX index is a daily rate of exchange between two currencies. Note that the order of the currencies in the index does not matter, as the conversion direction is fully defined by the currency of the reference amount.
-
paymentDate
LocalDate paymentDate
The date that the payment is made.Each payment event has a single payment date. This date has been adjusted to be a valid business day.
-
-
Class com.opengamma.strata.product.swap.IborRateCalculation extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
dayCount
DayCount dayCount
The day count convention.This is used to convert dates to a numerical value.
When building, this will default to the day count of the index if not specified.
-
finalStub
IborRateStubCalculation finalStub
The rate to be used in final stub, optional.The final stub of a swap may have different rate rules to the regular accrual periods. A fixed rate may be specified, a different floating rate or a linearly interpolated floating rate. This may not be present if there is no final stub, or if the index during the stub is the same as the main floating rate index.
If this property is not present, then the main index applies during any final stub. If this property is present and there is no final stub, it is ignored.
-
firstFixingDateOffset
DaysAdjustment firstFixingDateOffset
The offset of the first fixing date from the first adjusted reset date, optional.If present, this offset is used instead of
fixingDateOffset
for the first reset period of the swap, which will be either an initial stub or the first reset period of the first regular accrual period.The offset is applied to the base date specified by
fixingRelativeTo
. The offset is typically a negative number of business days.If this property is not present, then the
fixingDateOffset
applies to all fixings. -
firstRate
Double firstRate
The rate of the first reset period, which may be a stub, optional. A 5% rate will be expressed as 0.05.In certain circumstances two counterparties agree the rate of the first fixing when the contract starts, and it is used in place of one observed fixing. For all other fixings, the rate is observed via the normal fixing process.
This property allows the rate of the first reset period to be controlled, irrespective of whether that is an initial stub or a regular period. Other calculation elements, such as gearing or spread, still apply to the rate specified here.
This property is similar to
firstRegularRate
. This property operates on the first reset period, whether that is an initial stub or a regular period. By contrast,firstRegularRate
operates on the first regular period, and never on a stub.If either
firstRegularRate
orinitialStub
are present, this property is ignored.If this property is not present, then the first rate is observed via the normal fixing process.
-
firstRegularRate
Double firstRegularRate
The rate of the first regular reset period, optional. A 5% rate will be expressed as 0.05.In certain circumstances two counterparties agree the rate of the first fixing when the contract starts, and it is used in place of one observed fixing. For all other fixings, the rate is observed via the normal fixing process.
This property allows the rate of the first reset period of the first regular accrual period to be controlled. Note that if there is an initial stub, this will be the second reset period. Other calculation elements, such as gearing or spread, still apply to the rate specified here.
If the first rate applies to the initial stub rather than the regular accrual periods it must be specified using
initialStub
. Alternatively,firstRate
can be used.This property follows the definition in FpML. See also
firstRate
. -
fixingDateOffset
DaysAdjustment fixingDateOffset