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

LUSID representation of a sale and repurchase agreement, supporting haircut, margin or repo rate methods. More...

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

Public Member Functions

 Repo (DateTimeOffset startDate=default(DateTimeOffset), DateTimeOffset maturityDate=default(DateTimeOffset), string domCcy=default(string), string accrualBasis=default(string), List< LusidInstrument > collateral=default(List< LusidInstrument >), decimal? collateralValue=default(decimal?), decimal? haircut=default(decimal?), decimal? margin=default(decimal?), decimal? purchasePrice=default(decimal?), decimal? repoRate=default(decimal?), decimal? repurchasePrice=default(decimal?), InstrumentTypeEnum instrumentType=default(InstrumentTypeEnum))
 Initializes a new instance of the Repo 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 (Repo input)
 Returns true if Repo 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

 Repo ()
 Initializes a new instance of the Repo 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...
 
DateTimeOffset MaturityDate [get, set]
 The final maturity date of the instrument. This means the last date on which the instruments makes a payment of any amount. For the avoidance of doubt, that is not necessarily prior to its last sensitivity date for the purposes of risk; e.g. instruments such as Constant Maturity Swaps (CMS) often have sensitivities to rates that may well be observed or set prior to the maturity date, but refer to a termination date beyond it. More...
 
string DomCcy [get, set]
 The domestic currency of the instrument. More...
 
string AccrualBasis [get, set]
 For calculation of interest, the accrual basis to be used. For more information on day counts, see knowledge base article KA-01798 Supported string (enumeration) values are: [Actual360, Act360, MoneyMarket, Actual365, Act365, Thirty360, ThirtyU360, Bond, ThirtyE360, EuroBond, ActualActual, ActAct, ActActIsda, ActActIsma, ActActIcma, OneOne, Act364, Act365F, Act365L, Act365_25, Act252, Bus252, NL360, NL365, ActActAFB, Act365Cad, ThirtyActIsda, Thirty365Isda, ThirtyEActIsda, ThirtyE360Isda, ThirtyE365Isda, ThirtyU360EOM]. More...
 
List< LusidInstrumentCollateral [get, set]
 The actual collateral in the Repo. This property is for informational purposes only, Lusid pricing is not affected. More...
 
decimal? CollateralValue [get, set]
 The full market value of the collateral in domestic currency, before any margin or haircut is applied. More...
 
decimal? Haircut [get, set]
 The haircut (or margin percentage) applied to the collateral, this should be a number between 0 and 1, i.e. for a 5% haircut this should be 0.05. This is defined as (CollateralValue - PurchasePrice) / CollateralValue. If this property is specified, so too must CollateralValue. While this property is optional, one, and only one, of PurchasePrice, Margin and Haircut must be specified. More...
 
decimal? Margin [get, set]
 The initial margin (or margin ratio) applied to the collateral, this should be a number greater than or equal to 1.0, i.e. for a 102% margin this should be 1.02. A value of 1.0 means no margin (100%). This is defined as CollateralValue / PurchasePrice. If this property is specified, so too must CollateralValue. While this property is optional, one, and only one, of PurchasePrice, Margin and Haircut must be specified. More...
 
decimal? PurchasePrice [get, set]
 The price the collateral is initially purchased for, this property can be used to explicitly set the purchase price and not require collateral value and a margin or haircut. While this property is optional, one, and only one, of PurchasePrice, Margin and Haircut must be specified. More...
 
decimal? RepoRate [get, set]
 The rate at which interest is to be accrue and be paid upon redemption of the collateral at maturity. This field is used to calculate the Repurchase price. While this property is optional, one, and only one, of the RepoRate and RepurchasePrice must be specified. More...
 
decimal? RepurchasePrice [get, set]
 The price at which the collateral is repurchased, this field is optional and can be explicitly set here or will be calculated from the PurchasePrice and RepoRate. One, and only one, of the RepoRate and RepurchasePrice must be specified. 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 a sale and repurchase agreement, supporting haircut, margin or repo rate methods.

Constructor & Destructor Documentation

◆ Repo() [1/2]

Lusid.Sdk.Model.Repo.Repo ( )
inlineprotected

Initializes a new instance of the Repo class.

◆ Repo() [2/2]

Lusid.Sdk.Model.Repo.Repo ( DateTimeOffset  startDate = default(DateTimeOffset),
DateTimeOffset  maturityDate = default(DateTimeOffset),
string  domCcy = default(string),
string  accrualBasis = default(string),
List< LusidInstrument collateral = default(List<LusidInstrument>),
decimal?  collateralValue = default(decimal?),
decimal?  haircut = default(decimal?),
decimal?  margin = default(decimal?),
decimal?  purchasePrice = default(decimal?),
decimal?  repoRate = default(decimal?),
decimal?  repurchasePrice = default(decimal?),
InstrumentTypeEnum  instrumentType = default(InstrumentTypeEnum) 
)
inline

Initializes a new instance of the Repo class.

Parameters
startDateThe start date of the instrument. This is normally synonymous with the trade-date. (required).
maturityDateThe final maturity date of the instrument. This means the last date on which the instruments makes a payment of any amount. For the avoidance of doubt, that is not necessarily prior to its last sensitivity date for the purposes of risk; e.g. instruments such as Constant Maturity Swaps (CMS) often have sensitivities to rates that may well be observed or set prior to the maturity date, but refer to a termination date beyond it. (required).
domCcyThe domestic currency of the instrument. (required).
accrualBasisFor calculation of interest, the accrual basis to be used. For more information on day counts, see knowledge base article KA-01798 Supported string (enumeration) values are: [Actual360, Act360, MoneyMarket, Actual365, Act365, Thirty360, ThirtyU360, Bond, ThirtyE360, EuroBond, ActualActual, ActAct, ActActIsda, ActActIsma, ActActIcma, OneOne, Act364, Act365F, Act365L, Act365_25, Act252, Bus252, NL360, NL365, ActActAFB, Act365Cad, ThirtyActIsda, Thirty365Isda, ThirtyEActIsda, ThirtyE360Isda, ThirtyE365Isda, ThirtyU360EOM]. (required).
collateralThe actual collateral in the Repo. This property is for informational purposes only, Lusid pricing is not affected..
collateralValueThe full market value of the collateral in domestic currency, before any margin or haircut is applied..
haircutThe haircut (or margin percentage) applied to the collateral, this should be a number between 0 and 1, i.e. for a 5% haircut this should be 0.05. This is defined as (CollateralValue - PurchasePrice) / CollateralValue. If this property is specified, so too must CollateralValue. While this property is optional, one, and only one, of PurchasePrice, Margin and Haircut must be specified..
marginThe initial margin (or margin ratio) applied to the collateral, this should be a number greater than or equal to 1.0, i.e. for a 102% margin this should be 1.02. A value of 1.0 means no margin (100%). This is defined as CollateralValue / PurchasePrice. If this property is specified, so too must CollateralValue. While this property is optional, one, and only one, of PurchasePrice, Margin and Haircut must be specified..
purchasePriceThe price the collateral is initially purchased for, this property can be used to explicitly set the purchase price and not require collateral value and a margin or haircut. While this property is optional, one, and only one, of PurchasePrice, Margin and Haircut must be specified..
repoRateThe rate at which interest is to be accrue and be paid upon redemption of the collateral at maturity. This field is used to calculate the Repurchase price. While this property is optional, one, and only one, of the RepoRate and RepurchasePrice must be specified..
repurchasePriceThe price at which the collateral is repurchased, this field is optional and can be explicitly set here or will be calculated from the PurchasePrice and RepoRate. One, and only one, of the RepoRate and RepurchasePrice must be specified..
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 "Repo").

Member Function Documentation

◆ BaseValidate()

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

To validate all properties of the instance

Parameters
validationContextValidation context
Returns
Validation Result

◆ Equals() [1/2]

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

Returns true if objects are equal

Parameters
inputObject to be compared
Returns
Boolean

◆ Equals() [2/2]

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

Returns true if Repo instances are equal

Parameters
inputInstance of Repo to be compared
Returns
Boolean

◆ GetHashCode()

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

Gets the hash code

Returns
Hash code

◆ ToJson()

override string Lusid.Sdk.Model.Repo.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.Repo.ToString ( )
inline

Returns the string presentation of the object

Returns
String presentation of the object

Property Documentation

◆ AccrualBasis

string Lusid.Sdk.Model.Repo.AccrualBasis
getset

For calculation of interest, the accrual basis to be used. For more information on day counts, see knowledge base article KA-01798 Supported string (enumeration) values are: [Actual360, Act360, MoneyMarket, Actual365, Act365, Thirty360, ThirtyU360, Bond, ThirtyE360, EuroBond, ActualActual, ActAct, ActActIsda, ActActIsma, ActActIcma, OneOne, Act364, Act365F, Act365L, Act365_25, Act252, Bus252, NL360, NL365, ActActAFB, Act365Cad, ThirtyActIsda, Thirty365Isda, ThirtyEActIsda, ThirtyE360Isda, ThirtyE365Isda, ThirtyU360EOM].

For calculation of interest, the accrual basis to be used. For more information on day counts, see knowledge base article KA-01798 Supported string (enumeration) values are: [Actual360, Act360, MoneyMarket, Actual365, Act365, Thirty360, ThirtyU360, Bond, ThirtyE360, EuroBond, ActualActual, ActAct, ActActIsda, ActActIsma, ActActIcma, OneOne, Act364, Act365F, Act365L, Act365_25, Act252, Bus252, NL360, NL365, ActActAFB, Act365Cad, ThirtyActIsda, Thirty365Isda, ThirtyEActIsda, ThirtyE360Isda, ThirtyE365Isda, ThirtyU360EOM].

◆ Collateral

List<LusidInstrument> Lusid.Sdk.Model.Repo.Collateral
getset

The actual collateral in the Repo. This property is for informational purposes only, Lusid pricing is not affected.

The actual collateral in the Repo. This property is for informational purposes only, Lusid pricing is not affected.

◆ CollateralValue

decimal? Lusid.Sdk.Model.Repo.CollateralValue
getset

The full market value of the collateral in domestic currency, before any margin or haircut is applied.

The full market value of the collateral in domestic currency, before any margin or haircut is applied.

◆ DomCcy

string Lusid.Sdk.Model.Repo.DomCcy
getset

The domestic currency of the instrument.

The domestic currency of the instrument.

◆ Haircut

decimal? Lusid.Sdk.Model.Repo.Haircut
getset

The haircut (or margin percentage) applied to the collateral, this should be a number between 0 and 1, i.e. for a 5% haircut this should be 0.05. This is defined as (CollateralValue - PurchasePrice) / CollateralValue. If this property is specified, so too must CollateralValue. While this property is optional, one, and only one, of PurchasePrice, Margin and Haircut must be specified.

The haircut (or margin percentage) applied to the collateral, this should be a number between 0 and 1, i.e. for a 5% haircut this should be 0.05. This is defined as (CollateralValue - PurchasePrice) / CollateralValue. If this property is specified, so too must CollateralValue. While this property is optional, one, and only one, of PurchasePrice, Margin and Haircut must be specified.

◆ Margin

decimal? Lusid.Sdk.Model.Repo.Margin
getset

The initial margin (or margin ratio) applied to the collateral, this should be a number greater than or equal to 1.0, i.e. for a 102% margin this should be 1.02. A value of 1.0 means no margin (100%). This is defined as CollateralValue / PurchasePrice. If this property is specified, so too must CollateralValue. While this property is optional, one, and only one, of PurchasePrice, Margin and Haircut must be specified.

The initial margin (or margin ratio) applied to the collateral, this should be a number greater than or equal to 1.0, i.e. for a 102% margin this should be 1.02. A value of 1.0 means no margin (100%). This is defined as CollateralValue / PurchasePrice. If this property is specified, so too must CollateralValue. While this property is optional, one, and only one, of PurchasePrice, Margin and Haircut must be specified.

◆ MaturityDate

DateTimeOffset Lusid.Sdk.Model.Repo.MaturityDate
getset

The final maturity date of the instrument. This means the last date on which the instruments makes a payment of any amount. For the avoidance of doubt, that is not necessarily prior to its last sensitivity date for the purposes of risk; e.g. instruments such as Constant Maturity Swaps (CMS) often have sensitivities to rates that may well be observed or set prior to the maturity date, but refer to a termination date beyond it.

The final maturity date of the instrument. This means the last date on which the instruments makes a payment of any amount. For the avoidance of doubt, that is not necessarily prior to its last sensitivity date for the purposes of risk; e.g. instruments such as Constant Maturity Swaps (CMS) often have sensitivities to rates that may well be observed or set prior to the maturity date, but refer to a termination date beyond it.

◆ PurchasePrice

decimal? Lusid.Sdk.Model.Repo.PurchasePrice
getset

The price the collateral is initially purchased for, this property can be used to explicitly set the purchase price and not require collateral value and a margin or haircut. While this property is optional, one, and only one, of PurchasePrice, Margin and Haircut must be specified.

The price the collateral is initially purchased for, this property can be used to explicitly set the purchase price and not require collateral value and a margin or haircut. While this property is optional, one, and only one, of PurchasePrice, Margin and Haircut must be specified.

◆ RepoRate

decimal? Lusid.Sdk.Model.Repo.RepoRate
getset

The rate at which interest is to be accrue and be paid upon redemption of the collateral at maturity. This field is used to calculate the Repurchase price. While this property is optional, one, and only one, of the RepoRate and RepurchasePrice must be specified.

The rate at which interest is to be accrue and be paid upon redemption of the collateral at maturity. This field is used to calculate the Repurchase price. While this property is optional, one, and only one, of the RepoRate and RepurchasePrice must be specified.

◆ RepurchasePrice

decimal? Lusid.Sdk.Model.Repo.RepurchasePrice
getset

The price at which the collateral is repurchased, this field is optional and can be explicitly set here or will be calculated from the PurchasePrice and RepoRate. One, and only one, of the RepoRate and RepurchasePrice must be specified.

The price at which the collateral is repurchased, this field is optional and can be explicitly set here or will be calculated from the PurchasePrice and RepoRate. One, and only one, of the RepoRate and RepurchasePrice must be specified.

◆ StartDate

DateTimeOffset Lusid.Sdk.Model.Repo.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.


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