LUSID C# SDK
Public Member Functions | Protected Member Functions | Properties | List of all members
Lusid.Sdk.Model.FxOption Class Reference

LUSID representation of an FX Option. Including Vanilla, American, European, and Digital (Binary) options. More...

Inheritance diagram for Lusid.Sdk.Model.FxOption:
Inheritance graph
[legend]

Public Member Functions

 FxOption (DateTimeOffset startDate=default(DateTimeOffset), string domCcy=default(string), decimal? domAmount=default(decimal?), string fgnCcy=default(string), decimal? fgnAmount=default(decimal?), decimal? strike=default(decimal?), List< Barrier > barriers=default(List< Barrier >), string exerciseType=default(string), bool isCallNotPut=default(bool), bool isDeliveryNotCash=default(bool), bool isPayoffDigital=default(bool), DateTimeOffset optionMaturityDate=default(DateTimeOffset), DateTimeOffset optionSettlementDate=default(DateTimeOffset), string payoutStyle=default(string), Premium premium=default(Premium), List< Touch > touches=default(List< Touch >), InstrumentTypeEnum instrumentType=default(InstrumentTypeEnum))
 Initializes a new instance of the FxOption class. More...
 
override string ToString ()
 Returns the string presentation of the object More...
 
override string ToJson ()
 Returns the JSON string presentation of the object More...
 
override bool Equals (object input)
 Returns true if objects are equal More...
 
bool Equals (FxOption input)
 Returns true if FxOption instances are equal More...
 
override int GetHashCode ()
 Gets the hash code More...
 
- Public Member Functions inherited from Lusid.Sdk.Model.LusidInstrument
 LusidInstrument (InstrumentTypeEnum instrumentType=default(InstrumentTypeEnum))
 Initializes a new instance of the LusidInstrument class. More...
 
override string ToString ()
 Returns the string presentation of the object More...
 
override bool Equals (object input)
 Returns true if objects are equal More...
 
bool Equals (LusidInstrument input)
 Returns true if LusidInstrument instances are equal More...
 
override int GetHashCode ()
 Gets the hash code More...
 

Protected Member Functions

 FxOption ()
 Initializes a new instance of the FxOption class. More...
 
IEnumerable< System.ComponentModel.DataAnnotations.ValidationResult > BaseValidate (ValidationContext validationContext)
 To validate all properties of the instance More...
 
- Protected Member Functions inherited from Lusid.Sdk.Model.LusidInstrument
 LusidInstrument ()
 Initializes a new instance of the LusidInstrument class. More...
 
IEnumerable< System.ComponentModel.DataAnnotations.ValidationResult > BaseValidate (ValidationContext validationContext)
 To validate all properties of the instance More...
 

Properties

DateTimeOffset StartDate [get, set]
 The start date of the instrument. This is normally synonymous with the trade-date. More...
 
string DomCcy [get, set]
 The domestic currency of the instrument. More...
 
decimal? DomAmount [get, set]
 The Amount of DomCcy that will be exchanged if the option is exercised. This amount should be a positive number, with the Call/Put flag used to indicate direction. The corresponding amount of FgnCcy that will be exchanged is this amount times the strike. Note there is no rounding performed on this computed value. This is an optional field, if not set the option ContractSize will default to 1. More...
 
string FgnCcy [get, set]
 The foreign currency of the FX. More...
 
decimal? FgnAmount [get, set]
 For a vanilla FxOption contract, FgnAmount cannot be set. In case of a digital FxOption (IsPayoffDigital&#x3D;&#x3D;true) a payoff (if the option is in the money) can be either in domestic or in foreign currency - for the latter FgnAmount must be set. Note: It is invalid to have FgnAmount and DomAmount at the same time. More...
 
decimal? Strike [get, set]
 The strike of the option. More...
 
List< BarrierBarriers [get, set]
 For a barrier option the list should not be empty. Up to two barriers are supported. An option cannot be at the same time barrier- and touch-option. One (or both) of the lists must be empty. More...
 
string ExerciseType [get, set]
 Type of optionality that is present; European, American. Supported string (enumeration) values are: [European, American]. More...
 
bool IsCallNotPut [get, set]
 True if the option is a call, false if the option is a put. More...
 
bool IsDeliveryNotCash [get, set]
 True if the option delivers the FX underlying, False if the option is settled in cash. More...
 
bool IsPayoffDigital [get, set]
 By default IsPayoffDigital is false. If IsPayoffDigital&#x3D;true, the option is &#39;digital&#39;, and the option payoff is 0 or 1 unit of currency, instead of a vanilla CallPayoff&#x3D;max(spot-strike,0) or PutPayoff&#x3D;max(strike-spot,0). More...
 
DateTimeOffset OptionMaturityDate [get, set]
 The maturity date of the option. More...
 
DateTimeOffset OptionSettlementDate [get, set]
 The settlement date of the option. More...
 
string PayoutStyle [get, set]
 PayoutStyle for touch options. For options without touch optionality, payoutStyle should not be set. For options with touch optionality (where the touches data has been set), payoutStyle must be defined and cannot be None. Supported string (enumeration) values are: [Deferred, Immediate]. More...
 
Premium Premium [get, set]
 Gets or Sets Premium More...
 
List< TouchTouches [get, set]
 For a touch option the list should not be empty. Up to two touches are supported. An option cannot be at the same time barrier- and touch-option. One (or both) of the lists must be empty. More...
 
- Properties inherited from Lusid.Sdk.Model.LusidInstrument
InstrumentTypeEnum InstrumentType [get, set]
 The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan More...
 

Additional Inherited Members

- Public Types inherited from Lusid.Sdk.Model.LusidInstrument
enum class  InstrumentTypeEnum {
  QuotedSecurity = 1 , InterestRateSwap = 2 , FxForward = 3 , Future = 4 ,
  ExoticInstrument = 5 , FxOption = 6 , CreditDefaultSwap = 7 , InterestRateSwaption = 8 ,
  Bond = 9 , EquityOption = 10 , FixedLeg = 11 , FloatingLeg = 12 ,
  BespokeCashFlowsLeg = 13 , Unknown = 14 , TermDeposit = 15 , ContractForDifference = 16 ,
  EquitySwap = 17 , CashPerpetual = 18 , CapFloor = 19 , CashSettled = 20 ,
  CdsIndex = 21 , Basket = 22 , FundingLeg = 23 , FxSwap = 24 ,
  ForwardRateAgreement = 25 , SimpleInstrument = 26 , Repo = 27 , Equity = 28 ,
  ExchangeTradedOption = 29 , ReferenceInstrument = 30 , ComplexBond = 31 , InflationLinkedBond = 32 ,
  InflationSwap = 33 , SimpleCashFlowLoan = 34 , TotalReturnSwap = 35 , InflationLeg = 36 ,
  FundShareClass = 37 , FlexibleLoan = 38
}
 The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan More...
 

Detailed Description

LUSID representation of an FX Option. Including Vanilla, American, European, and Digital (Binary) options.

Constructor & Destructor Documentation

◆ FxOption() [1/2]

Lusid.Sdk.Model.FxOption.FxOption ( )
inlineprotected

Initializes a new instance of the FxOption class.

◆ FxOption() [2/2]

Lusid.Sdk.Model.FxOption.FxOption ( DateTimeOffset  startDate = default(DateTimeOffset),
string  domCcy = default(string),
decimal?  domAmount = default(decimal?),
string  fgnCcy = default(string),
decimal?  fgnAmount = default(decimal?),
decimal?  strike = default(decimal?),
List< Barrier barriers = default(List<Barrier>),
string  exerciseType = default(string),
bool  isCallNotPut = default(bool),
bool  isDeliveryNotCash = default(bool),
bool  isPayoffDigital = default(bool),
DateTimeOffset  optionMaturityDate = default(DateTimeOffset),
DateTimeOffset  optionSettlementDate = default(DateTimeOffset),
string  payoutStyle = default(string),
Premium  premium = default(Premium),
List< Touch touches = default(List<Touch>),
InstrumentTypeEnum  instrumentType = default(InstrumentTypeEnum) 
)
inline

Initializes a new instance of the FxOption class.

Parameters
startDateThe start date of the instrument. This is normally synonymous with the trade-date. (required).
domCcyThe domestic currency of the instrument. (required).
domAmountThe Amount of DomCcy that will be exchanged if the option is exercised. This amount should be a positive number, with the Call/Put flag used to indicate direction. The corresponding amount of FgnCcy that will be exchanged is this amount times the strike. Note there is no rounding performed on this computed value. This is an optional field, if not set the option ContractSize will default to 1..
fgnCcyThe foreign currency of the FX. (required).
fgnAmountFor a vanilla FxOption contract, FgnAmount cannot be set. In case of a digital FxOption (IsPayoffDigital&#x3D;&#x3D;true) a payoff (if the option is in the money) can be either in domestic or in foreign currency - for the latter FgnAmount must be set. Note: It is invalid to have FgnAmount and DomAmount at the same time..
strikeThe strike of the option..
barriersFor a barrier option the list should not be empty. Up to two barriers are supported. An option cannot be at the same time barrier- and touch-option. One (or both) of the lists must be empty..
exerciseTypeType of optionality that is present; European, American. Supported string (enumeration) values are: [European, American]..
isCallNotPutTrue if the option is a call, false if the option is a put. (required).
isDeliveryNotCashTrue if the option delivers the FX underlying, False if the option is settled in cash. (required).
isPayoffDigitalBy default IsPayoffDigital is false. If IsPayoffDigital&#x3D;true, the option is &#39;digital&#39;, and the option payoff is 0 or 1 unit of currency, instead of a vanilla CallPayoff&#x3D;max(spot-strike,0) or PutPayoff&#x3D;max(strike-spot,0)..
optionMaturityDateThe maturity date of the option. (required).
optionSettlementDateThe settlement date of the option. (required).
payoutStylePayoutStyle for touch options. For options without touch optionality, payoutStyle should not be set. For options with touch optionality (where the touches data has been set), payoutStyle must be defined and cannot be None. Supported string (enumeration) values are: [Deferred, Immediate]..
premiumpremium.
touchesFor a touch option the list should not be empty. Up to two touches are supported. An option cannot be at the same time barrier- and touch-option. One (or both) of the lists must be empty..
instrumentTypeThe available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan (required) (default to "FxOption").

Member Function Documentation

◆ BaseValidate()

IEnumerable<System.ComponentModel.DataAnnotations.ValidationResult> Lusid.Sdk.Model.FxOption.BaseValidate ( ValidationContext  validationContext)
inlineprotected

To validate all properties of the instance

Parameters
validationContextValidation context
Returns
Validation Result

◆ Equals() [1/2]

bool Lusid.Sdk.Model.FxOption.Equals ( FxOption  input)
inline

Returns true if FxOption instances are equal

Parameters
inputInstance of FxOption to be compared
Returns
Boolean

◆ Equals() [2/2]

override bool Lusid.Sdk.Model.FxOption.Equals ( object  input)
inline

Returns true if objects are equal

Parameters
inputObject to be compared
Returns
Boolean

◆ GetHashCode()

override int Lusid.Sdk.Model.FxOption.GetHashCode ( )
inline

Gets the hash code

Returns
Hash code

◆ ToJson()

override string Lusid.Sdk.Model.FxOption.ToJson ( )
inlinevirtual

Returns the JSON string presentation of the object

Returns
JSON string presentation of the object

Reimplemented from Lusid.Sdk.Model.LusidInstrument.

◆ ToString()

override string Lusid.Sdk.Model.FxOption.ToString ( )
inline

Returns the string presentation of the object

Returns
String presentation of the object

Property Documentation

◆ Barriers

List<Barrier> Lusid.Sdk.Model.FxOption.Barriers
getset

For a barrier option the list should not be empty. Up to two barriers are supported. An option cannot be at the same time barrier- and touch-option. One (or both) of the lists must be empty.

For a barrier option the list should not be empty. Up to two barriers are supported. An option cannot be at the same time barrier- and touch-option. One (or both) of the lists must be empty.

◆ DomAmount

decimal? Lusid.Sdk.Model.FxOption.DomAmount
getset

The Amount of DomCcy that will be exchanged if the option is exercised. This amount should be a positive number, with the Call/Put flag used to indicate direction. The corresponding amount of FgnCcy that will be exchanged is this amount times the strike. Note there is no rounding performed on this computed value. This is an optional field, if not set the option ContractSize will default to 1.

The Amount of DomCcy that will be exchanged if the option is exercised. This amount should be a positive number, with the Call/Put flag used to indicate direction. The corresponding amount of FgnCcy that will be exchanged is this amount times the strike. Note there is no rounding performed on this computed value. This is an optional field, if not set the option ContractSize will default to 1.

◆ DomCcy

string Lusid.Sdk.Model.FxOption.DomCcy
getset

The domestic currency of the instrument.

The domestic currency of the instrument.

◆ ExerciseType

string Lusid.Sdk.Model.FxOption.ExerciseType
getset

Type of optionality that is present; European, American. Supported string (enumeration) values are: [European, American].

Type of optionality that is present; European, American. Supported string (enumeration) values are: [European, American].

◆ FgnAmount

decimal? Lusid.Sdk.Model.FxOption.FgnAmount
getset

For a vanilla FxOption contract, FgnAmount cannot be set. In case of a digital FxOption (IsPayoffDigital&#x3D;&#x3D;true) a payoff (if the option is in the money) can be either in domestic or in foreign currency - for the latter FgnAmount must be set. Note: It is invalid to have FgnAmount and DomAmount at the same time.

For a vanilla FxOption contract, FgnAmount cannot be set. In case of a digital FxOption (IsPayoffDigital&#x3D;&#x3D;true) a payoff (if the option is in the money) can be either in domestic or in foreign currency - for the latter FgnAmount must be set. Note: It is invalid to have FgnAmount and DomAmount at the same time.

◆ FgnCcy

string Lusid.Sdk.Model.FxOption.FgnCcy
getset

The foreign currency of the FX.

The foreign currency of the FX.

◆ IsCallNotPut

bool Lusid.Sdk.Model.FxOption.IsCallNotPut
getset

True if the option is a call, false if the option is a put.

True if the option is a call, false if the option is a put.

◆ IsDeliveryNotCash

bool Lusid.Sdk.Model.FxOption.IsDeliveryNotCash
getset

True if the option delivers the FX underlying, False if the option is settled in cash.

True if the option delivers the FX underlying, False if the option is settled in cash.

◆ IsPayoffDigital

bool Lusid.Sdk.Model.FxOption.IsPayoffDigital
getset

By default IsPayoffDigital is false. If IsPayoffDigital&#x3D;true, the option is &#39;digital&#39;, and the option payoff is 0 or 1 unit of currency, instead of a vanilla CallPayoff&#x3D;max(spot-strike,0) or PutPayoff&#x3D;max(strike-spot,0).

By default IsPayoffDigital is false. If IsPayoffDigital&#x3D;true, the option is &#39;digital&#39;, and the option payoff is 0 or 1 unit of currency, instead of a vanilla CallPayoff&#x3D;max(spot-strike,0) or PutPayoff&#x3D;max(strike-spot,0).

◆ OptionMaturityDate

DateTimeOffset Lusid.Sdk.Model.FxOption.OptionMaturityDate
getset

The maturity date of the option.

The maturity date of the option.

◆ OptionSettlementDate

DateTimeOffset Lusid.Sdk.Model.FxOption.OptionSettlementDate
getset

The settlement date of the option.

The settlement date of the option.

◆ PayoutStyle

string Lusid.Sdk.Model.FxOption.PayoutStyle
getset

PayoutStyle for touch options. For options without touch optionality, payoutStyle should not be set. For options with touch optionality (where the touches data has been set), payoutStyle must be defined and cannot be None. Supported string (enumeration) values are: [Deferred, Immediate].

PayoutStyle for touch options. For options without touch optionality, payoutStyle should not be set. For options with touch optionality (where the touches data has been set), payoutStyle must be defined and cannot be None. Supported string (enumeration) values are: [Deferred, Immediate].

◆ Premium

Premium Lusid.Sdk.Model.FxOption.Premium
getset

Gets or Sets Premium

◆ StartDate

DateTimeOffset Lusid.Sdk.Model.FxOption.StartDate
getset

The start date of the instrument. This is normally synonymous with the trade-date.

The start date of the instrument. This is normally synonymous with the trade-date.

◆ Strike

decimal? Lusid.Sdk.Model.FxOption.Strike
getset

The strike of the option.

The strike of the option.

◆ Touches

List<Touch> Lusid.Sdk.Model.FxOption.Touches
getset

For a touch option the list should not be empty. Up to two touches are supported. An option cannot be at the same time barrier- and touch-option. One (or both) of the lists must be empty.

For a touch option the list should not be empty. Up to two touches are supported. An option cannot be at the same time barrier- and touch-option. One (or both) of the lists must be empty.


The documentation for this class was generated from the following file: