import { LusidInstrument } from './lusidInstrument'; /** * LUSID representation of a Simple Instrument, used as a basic definition of a generic instrument. No analytics can be obtained for this. */ export interface SimpleInstrument extends LusidInstrument { /** * 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. */ maturityDate?: string; /** * The domestic currency. */ domCcy: string; /** * The available values are: InterestRates, FX, Inflation, Equities, Credit, Commodities, Money, Unknown */ assetClass: SimpleInstrument.AssetClassEnum; /** * The set of foreign currencies, if any (optional). */ fgnCcys?: Array | null; /** * The Instrument type of the simple instrument. */ simpleInstrumentType: string; /** * 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 */ instrumentType: SimpleInstrument.InstrumentTypeEnum; } export declare namespace SimpleInstrument { type AssetClassEnum = 'InterestRates' | 'FX' | 'Inflation' | 'Equities' | 'Credit' | 'Commodities' | 'Money' | 'Unknown'; const AssetClassEnum: { InterestRates: AssetClassEnum; Fx: AssetClassEnum; Inflation: AssetClassEnum; Equities: AssetClassEnum; Credit: AssetClassEnum; Commodities: AssetClassEnum; Money: AssetClassEnum; Unknown: AssetClassEnum; }; type InstrumentTypeEnum = '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'; const InstrumentTypeEnum: { QuotedSecurity: InstrumentTypeEnum; InterestRateSwap: InstrumentTypeEnum; FxForward: InstrumentTypeEnum; Future: InstrumentTypeEnum; ExoticInstrument: InstrumentTypeEnum; FxOption: InstrumentTypeEnum; CreditDefaultSwap: InstrumentTypeEnum; InterestRateSwaption: InstrumentTypeEnum; Bond: InstrumentTypeEnum; EquityOption: InstrumentTypeEnum; FixedLeg: InstrumentTypeEnum; FloatingLeg: InstrumentTypeEnum; BespokeCashFlowsLeg: InstrumentTypeEnum; Unknown: InstrumentTypeEnum; TermDeposit: InstrumentTypeEnum; ContractForDifference: InstrumentTypeEnum; EquitySwap: InstrumentTypeEnum; CashPerpetual: InstrumentTypeEnum; CapFloor: InstrumentTypeEnum; CashSettled: InstrumentTypeEnum; CdsIndex: InstrumentTypeEnum; Basket: InstrumentTypeEnum; FundingLeg: InstrumentTypeEnum; FxSwap: InstrumentTypeEnum; ForwardRateAgreement: InstrumentTypeEnum; SimpleInstrument: InstrumentTypeEnum; Repo: InstrumentTypeEnum; Equity: InstrumentTypeEnum; ExchangeTradedOption: InstrumentTypeEnum; ReferenceInstrument: InstrumentTypeEnum; ComplexBond: InstrumentTypeEnum; InflationLinkedBond: InstrumentTypeEnum; InflationSwap: InstrumentTypeEnum; SimpleCashFlowLoan: InstrumentTypeEnum; TotalReturnSwap: InstrumentTypeEnum; InflationLeg: InstrumentTypeEnum; }; }