|
LUSID C# SDK
|
Lusid representation of a repurchase agreement, where one party sells some collateral and agrees to re-buy it at a later date for some given price. More...

Public Member Functions | |
| FlexibleRepo (DateTimeOffset startDate=default(DateTimeOffset), DateTimeOffset? maturityDate=default(DateTimeOffset?), string buyerOrSeller=default(string), string repoCcy=default(string), string repoType=default(string), string accrualBasis=default(string), Collateral collateral=default(Collateral), decimal? haircut=default(decimal?), decimal? margin=default(decimal?), string openRepoRollingPeriod=default(string), decimal? purchasePrice=default(decimal?), List< Schedule > repoRateSchedules=default(List< Schedule >), decimal? repurchasePrice=default(decimal?), TimeZoneConventions timeZoneConventions=default(TimeZoneConventions), TradingConventions tradingConventions=default(TradingConventions), bool isCollateralTransferActivated=default(bool), InstrumentTypeEnum instrumentType=default(InstrumentTypeEnum)) | |
| Initializes a new instance of the FlexibleRepo 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 (FlexibleRepo input) |
| Returns true if FlexibleRepo 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 | |
| FlexibleRepo () | |
| Initializes a new instance of the FlexibleRepo 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 maturity date of the instrument. This is the date at which the repurchase will occur for a TermRepo. Optional for OpenRepo, but if not provided, defaults to the StartDate plus a long period (e.g. 2099-12-31). More... | |
| string | BuyerOrSeller [get, set] |
| Is the user the Buyer or the Seller of this repo? Every repo agreement has two sides, a buyer and a seller. The Buyer pays the PurchasePrice to the Seller in exchange for legal ownership of the collateral. At Maturity, the Buyer then receives the RepurchasePrice in exchange for returning legal ownership of the collateral. Controls the direction of purchase and repurchase cashflows, as well as the recipient of cashflows from the collateral. Available values: Buyer, Seller. More... | |
| string | RepoCcy [get, set] |
| Currency of the purchase and repurchase prices. May differ from the currencies on any collateral. More... | |
| string | RepoType [get, set] |
| The type of the repurchase agreement, Open or Term. If Term, the repurchase automatically takes place at Maturity. If Open, the agreement is rolled by the given tenor, and an interest cashflow is paid out with each roll, unless manually triggered by a FlexibleRepoFullClosureEvent. Available values: OpenRepo, TermRepo. More... | |
| string | AccrualBasis [get, set] |
| For calculation of interest, the accrual day count to be used. Required if no RepoRateSchedules are provided. If both RepoRateSchedules and AccrualBasis are provided, then AccrualBasis will take precedence. 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... | |
| Collateral | Collateral [get, set] |
| Gets or Sets Collateral More... | |
| decimal? | Haircut [get, set] |
| Haircut on the value of the collateral, used to calculate PurchasePrice if not provided directly. Haircut or Margin should be specified if PurchasePrice is not specified. More... | |
| decimal? | Margin [get, set] |
| Initial margin on the value of the collateral, used to calculate PurchasePrice if not provided directly. Haircut or Margin should be specified if PurchasePrice is not specified. More... | |
| string | OpenRepoRollingPeriod [get, set] |
| Required if the RepoType is Open. The tenor representing the mandatory roll period if the FlexibleRepo is not manually matured. If a user matures the FlexibleRepo via an instrument event, then the repurchase will delay until the end of this rolling period. Generally this is set to 1D (one day), i.e. the repurchase will occur on the same day as the instrument event, though any valid tenor is accepted with TenorUnit set to Day, Week, Month, or Year. Note that TenorUnit T is not accepted here. More... | |
| decimal? | PurchasePrice [get, set] |
| The initial purchase price of the collateral. If provided directly in this field, then Collateral.CollateralValue, Haircut, and Margin should not be provided. More... | |
| List< Schedule > | RepoRateSchedules [get, set] |
| Schedules used to calculate the repurchase price and any interest payments on the FlexibleRepo. Only one schedule may be provided, and must be of type FixedSchedule or FloatSchedule. If RepoType is OpenRepo, a FixedSchedule or FloatSchedule must be provided to calculate the expected Repo Rate, and RepurchasePrice must be omitted. If RepoType is TermRepo, only one of RepurchasePrice and RepoRateSchedules should be provided. If a RepoRateSchedule is provided on a TermRepo, the PaymentFrequency in the FlowConventions should be 1T. StubType must be set to None, and no ExDividend configuration should be provided. More... | |
| decimal? | RepurchasePrice [get, set] |
| The repurchase price of the repo, if known. Only one of RepurchasePrice and RepoRateSchedules should be provided. In the case of an OpenRepo, RepurchasePrice should not be provided, and RepoRateSchedules should be provided instead in order to calculate the RepoRate. More... | |
| TimeZoneConventions | TimeZoneConventions [get, set] |
| Gets or Sets TimeZoneConventions More... | |
| TradingConventions | TradingConventions [get, set] |
| Gets or Sets TradingConventions More... | |
| bool | IsCollateralTransferActivated [get, set] |
| Indicates whether the FlexibleRepoCollateralTransfer event is activated. Determines the behavior of manufactured coupons and related boolean parameters. Defaults to false. When true: - Generates the FlexibleRepoCollateralTransfer event - Processes collateral transfer transactions into holding changes - Generates manufactured payments when due to be paid When false: - Does not generate the event - Generates manufactured payments when due to be received More... | |
Properties inherited from Lusid.Sdk.Model.LusidInstrument | |
| InstrumentTypeEnum | InstrumentType [get, set] |
| Available values: 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, UnsettledCash, Cash, MasteredInstrument, LoanFacility, FlexibleDeposit, FlexibleRepo. More... | |
Lusid representation of a repurchase agreement, where one party sells some collateral and agrees to re-buy it at a later date for some given price.
|
inlineprotected |
Initializes a new instance of the FlexibleRepo class.
|
inline |
Initializes a new instance of the FlexibleRepo class.
| startDate | The start date of the instrument. This is normally synonymous with the trade-date. (required). |
| maturityDate | The maturity date of the instrument. This is the date at which the repurchase will occur for a TermRepo. Optional for OpenRepo, but if not provided, defaults to the StartDate plus a long period (e.g. 2099-12-31).. |
| buyerOrSeller | Is the user the Buyer or the Seller of this repo? Every repo agreement has two sides, a buyer and a seller. The Buyer pays the PurchasePrice to the Seller in exchange for legal ownership of the collateral. At Maturity, the Buyer then receives the RepurchasePrice in exchange for returning legal ownership of the collateral. Controls the direction of purchase and repurchase cashflows, as well as the recipient of cashflows from the collateral. Available values: Buyer, Seller. (required). |
| repoCcy | Currency of the purchase and repurchase prices. May differ from the currencies on any collateral. (required). |
| repoType | The type of the repurchase agreement, Open or Term. If Term, the repurchase automatically takes place at Maturity. If Open, the agreement is rolled by the given tenor, and an interest cashflow is paid out with each roll, unless manually triggered by a FlexibleRepoFullClosureEvent. Available values: OpenRepo, TermRepo. (required). |
| accrualBasis | For calculation of interest, the accrual day count to be used. Required if no RepoRateSchedules are provided. If both RepoRateSchedules and AccrualBasis are provided, then AccrualBasis will take precedence. 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 | collateral. |
| haircut | Haircut on the value of the collateral, used to calculate PurchasePrice if not provided directly. Haircut or Margin should be specified if PurchasePrice is not specified.. |
| margin | Initial margin on the value of the collateral, used to calculate PurchasePrice if not provided directly. Haircut or Margin should be specified if PurchasePrice is not specified.. |
| openRepoRollingPeriod | Required if the RepoType is Open. The tenor representing the mandatory roll period if the FlexibleRepo is not manually matured. If a user matures the FlexibleRepo via an instrument event, then the repurchase will delay until the end of this rolling period. Generally this is set to 1D (one day), i.e. the repurchase will occur on the same day as the instrument event, though any valid tenor is accepted with TenorUnit set to Day, Week, Month, or Year. Note that TenorUnit T is not accepted here.. |
| purchasePrice | The initial purchase price of the collateral. If provided directly in this field, then Collateral.CollateralValue, Haircut, and Margin should not be provided.. |
| repoRateSchedules | Schedules used to calculate the repurchase price and any interest payments on the FlexibleRepo. Only one schedule may be provided, and must be of type FixedSchedule or FloatSchedule. If RepoType is OpenRepo, a FixedSchedule or FloatSchedule must be provided to calculate the expected Repo Rate, and RepurchasePrice must be omitted. If RepoType is TermRepo, only one of RepurchasePrice and RepoRateSchedules should be provided. If a RepoRateSchedule is provided on a TermRepo, the PaymentFrequency in the FlowConventions should be 1T. StubType must be set to None, and no ExDividend configuration should be provided.. |
| repurchasePrice | The repurchase price of the repo, if known. Only one of RepurchasePrice and RepoRateSchedules should be provided. In the case of an OpenRepo, RepurchasePrice should not be provided, and RepoRateSchedules should be provided instead in order to calculate the RepoRate.. |
| timeZoneConventions | timeZoneConventions. |
| tradingConventions | tradingConventions. |
| isCollateralTransferActivated | Indicates whether the FlexibleRepoCollateralTransfer event is activated. Determines the behavior of manufactured coupons and related boolean parameters. Defaults to false. When true: - Generates the FlexibleRepoCollateralTransfer event - Processes collateral transfer transactions into holding changes - Generates manufactured payments when due to be paid When false: - Does not generate the event - Generates manufactured payments when due to be received. |
| instrumentType | Available values: 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, UnsettledCash, Cash, MasteredInstrument, LoanFacility, FlexibleDeposit, FlexibleRepo. (required) (default to "FlexibleRepo"). |
|
inlineprotected |
To validate all properties of the instance
| validationContext | Validation context |
|
inline |
Returns true if FlexibleRepo instances are equal
| input | Instance of FlexibleRepo to be compared |
|
inline |
Returns true if objects are equal
| input | Object to be compared |
|
inline |
Gets the hash code
|
inlinevirtual |
Returns the JSON string presentation of the object
Reimplemented from Lusid.Sdk.Model.LusidInstrument.
|
inline |
Returns the string presentation of the object
|
getset |
For calculation of interest, the accrual day count to be used. Required if no RepoRateSchedules are provided. If both RepoRateSchedules and AccrualBasis are provided, then AccrualBasis will take precedence. 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 day count to be used. Required if no RepoRateSchedules are provided. If both RepoRateSchedules and AccrualBasis are provided, then AccrualBasis will take precedence. 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].
|
getset |
Is the user the Buyer or the Seller of this repo? Every repo agreement has two sides, a buyer and a seller. The Buyer pays the PurchasePrice to the Seller in exchange for legal ownership of the collateral. At Maturity, the Buyer then receives the RepurchasePrice in exchange for returning legal ownership of the collateral. Controls the direction of purchase and repurchase cashflows, as well as the recipient of cashflows from the collateral. Available values: Buyer, Seller.
Is the user the Buyer or the Seller of this repo? Every repo agreement has two sides, a buyer and a seller. The Buyer pays the PurchasePrice to the Seller in exchange for legal ownership of the collateral. At Maturity, the Buyer then receives the RepurchasePrice in exchange for returning legal ownership of the collateral. Controls the direction of purchase and repurchase cashflows, as well as the recipient of cashflows from the collateral. Available values: Buyer, Seller.
|
getset |
Gets or Sets Collateral
|
getset |
Haircut on the value of the collateral, used to calculate PurchasePrice if not provided directly. Haircut or Margin should be specified if PurchasePrice is not specified.
Haircut on the value of the collateral, used to calculate PurchasePrice if not provided directly. Haircut or Margin should be specified if PurchasePrice is not specified.
|
getset |
Indicates whether the FlexibleRepoCollateralTransfer event is activated. Determines the behavior of manufactured coupons and related boolean parameters. Defaults to false. When true: - Generates the FlexibleRepoCollateralTransfer event - Processes collateral transfer transactions into holding changes - Generates manufactured payments when due to be paid When false: - Does not generate the event - Generates manufactured payments when due to be received
Indicates whether the FlexibleRepoCollateralTransfer event is activated. Determines the behavior of manufactured coupons and related boolean parameters. Defaults to false. When true: - Generates the FlexibleRepoCollateralTransfer event - Processes collateral transfer transactions into holding changes - Generates manufactured payments when due to be paid When false: - Does not generate the event - Generates manufactured payments when due to be received
|
getset |
Initial margin on the value of the collateral, used to calculate PurchasePrice if not provided directly. Haircut or Margin should be specified if PurchasePrice is not specified.
Initial margin on the value of the collateral, used to calculate PurchasePrice if not provided directly. Haircut or Margin should be specified if PurchasePrice is not specified.
|
getset |
The maturity date of the instrument. This is the date at which the repurchase will occur for a TermRepo. Optional for OpenRepo, but if not provided, defaults to the StartDate plus a long period (e.g. 2099-12-31).
The maturity date of the instrument. This is the date at which the repurchase will occur for a TermRepo. Optional for OpenRepo, but if not provided, defaults to the StartDate plus a long period (e.g. 2099-12-31).
|
getset |
Required if the RepoType is Open. The tenor representing the mandatory roll period if the FlexibleRepo is not manually matured. If a user matures the FlexibleRepo via an instrument event, then the repurchase will delay until the end of this rolling period. Generally this is set to 1D (one day), i.e. the repurchase will occur on the same day as the instrument event, though any valid tenor is accepted with TenorUnit set to Day, Week, Month, or Year. Note that TenorUnit T is not accepted here.
Required if the RepoType is Open. The tenor representing the mandatory roll period if the FlexibleRepo is not manually matured. If a user matures the FlexibleRepo via an instrument event, then the repurchase will delay until the end of this rolling period. Generally this is set to 1D (one day), i.e. the repurchase will occur on the same day as the instrument event, though any valid tenor is accepted with TenorUnit set to Day, Week, Month, or Year. Note that TenorUnit T is not accepted here.
|
getset |
The initial purchase price of the collateral. If provided directly in this field, then Collateral.CollateralValue, Haircut, and Margin should not be provided.
The initial purchase price of the collateral. If provided directly in this field, then Collateral.CollateralValue, Haircut, and Margin should not be provided.
|
getset |
Currency of the purchase and repurchase prices. May differ from the currencies on any collateral.
Currency of the purchase and repurchase prices. May differ from the currencies on any collateral.
|
getset |
Schedules used to calculate the repurchase price and any interest payments on the FlexibleRepo. Only one schedule may be provided, and must be of type FixedSchedule or FloatSchedule. If RepoType is OpenRepo, a FixedSchedule or FloatSchedule must be provided to calculate the expected Repo Rate, and RepurchasePrice must be omitted. If RepoType is TermRepo, only one of RepurchasePrice and RepoRateSchedules should be provided. If a RepoRateSchedule is provided on a TermRepo, the PaymentFrequency in the FlowConventions should be 1T. StubType must be set to None, and no ExDividend configuration should be provided.
Schedules used to calculate the repurchase price and any interest payments on the FlexibleRepo. Only one schedule may be provided, and must be of type FixedSchedule or FloatSchedule. If RepoType is OpenRepo, a FixedSchedule or FloatSchedule must be provided to calculate the expected Repo Rate, and RepurchasePrice must be omitted. If RepoType is TermRepo, only one of RepurchasePrice and RepoRateSchedules should be provided. If a RepoRateSchedule is provided on a TermRepo, the PaymentFrequency in the FlowConventions should be 1T. StubType must be set to None, and no ExDividend configuration should be provided.
|
getset |
The type of the repurchase agreement, Open or Term. If Term, the repurchase automatically takes place at Maturity. If Open, the agreement is rolled by the given tenor, and an interest cashflow is paid out with each roll, unless manually triggered by a FlexibleRepoFullClosureEvent. Available values: OpenRepo, TermRepo.
The type of the repurchase agreement, Open or Term. If Term, the repurchase automatically takes place at Maturity. If Open, the agreement is rolled by the given tenor, and an interest cashflow is paid out with each roll, unless manually triggered by a FlexibleRepoFullClosureEvent. Available values: OpenRepo, TermRepo.
|
getset |
The repurchase price of the repo, if known. Only one of RepurchasePrice and RepoRateSchedules should be provided. In the case of an OpenRepo, RepurchasePrice should not be provided, and RepoRateSchedules should be provided instead in order to calculate the RepoRate.
The repurchase price of the repo, if known. Only one of RepurchasePrice and RepoRateSchedules should be provided. In the case of an OpenRepo, RepurchasePrice should not be provided, and RepoRateSchedules should be provided instead in order to calculate the RepoRate.
|
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.
|
getset |
Gets or Sets TimeZoneConventions
|
getset |
Gets or Sets TradingConventions