import { DataInterface, ExtendedParams, TableInterface, ContentDefinition } from '../../base-interfaces'; import { DayCountBasisConvention, PriceSide } from '../ipa'; export { DayCountBasisConvention, PriceSide } from '../ipa'; import * as Bond from './bond'; import * as BondFuture from './bond-future'; import * as CapFloor from './cap-floor'; import * as CDS from './cds'; import * as FxCross from './fx-cross'; import * as IRSwap from './ir-swap'; import * as Option from './option'; import * as Repo from './repo'; import * as Swaption from './swaption'; import * as TermDeposit from './term-deposit'; export declare enum PaymentRollConvention { Last = "Last", Same = "Same", Same1 = "Same1", Last28 = "Last28", Same28 = "Same28" } export declare enum Direction { Paid = "Paid", Received = "Received" } export declare enum PaymentFrequency { Annual = "Annual", SemiAnnual = "SemiAnnual", Quarterly = "Quarterly", Monthly = "Monthly", BiMonthly = "BiMonthly", Everyday = "Everyday", EveryWorkingDay = "EveryWorkingDay", Every7Days = "Every7Days", Every14Days = "Every14Days", Every28Days = "Every28Days", Every30Days = "Every30Days", Every91Days = "Every91Days", Every182Days = "Every182Days", Every364Days = "Every364Days", Every365Days = "Every365Days", Every90Days = "Every90Days", Every92Days = "Every92Days", Every93Days = "Every93Days", Every180Days = "Every180Days", Every183Days = "Every183Days", Every184Days = "Every184Days", Every4Months = "Every4Months", R2 = "R2", R4 = "R4", Zero = "Zero", Scheduled = "Scheduled" } export declare enum StubRule { Issue = "Issue", Maturity = "Maturity", ShortFirstProRata = "ShortFirstProRata", ShortFirstFull = "ShortFirstFull", LongFirstFull = "LongFirstFull", ShortLastProRata = "ShortLastProRata" } export interface SwapLegDefinition { accruedCalculationMethod?: DayCountBasisConvention; adjustInterestToPaymentDate?: AdjustInterest; amortizationSchedule?: AmortizationItemDefinition[]; cmsTemplate?: string; direction?: Direction; firstRegularPaymentDate?: string; fixedRatePercent?: number; fixedRatePercentSchedule?: object; floorStrikePercent?: number; indexAverageMethod?: IndexAverageMethod; indexCompoundingMethod?: IndexCalculationMethod; indexFixingLag?: number; indexFixingRic?: string; indexLockoutPeriod?: number; indexName?: string; indexObservationMethod?: IndexObservationMethod; indexPriceSide?: PriceSide; indexResetFrequency?: PaymentFrequency; indexResetType?: ResetType; indexSource?: string; indexSpreadCompoundingMethod?: IndexSpreadCompoundingMethod; indexTenor?: string; inflationIndexBaseReference?: number; inflationMode?: InflationMode; interestCalculationConvention?: InterestCalculationConvention; interestCalculationMethod?: DayCountBasisConvention; interestPaymentDelay?: number; interestPaymentFrequency?: PaymentFrequency; interestType?: InterestType; lastRegularPaymentDate?: string; legTag?: string; notionalAmount?: number; notionalCcy?: string; notionalExchange?: NotionalExchange; paymentBusinessDayConvention?: BusinessDayConvention; paymentBusinessDays?: string; paymentRollConvention?: PaymentRollConvention; spreadBp?: number; stubRule?: StubRule; upfrontAmount?: number; } export interface AmortizationItemDefinition { amortizationFrequency?: AmortizationFrequency; amortizationType?: AmortizationType; amount?: number; endDate?: string; remainingNotional?: number; startDate?: string; } export declare enum AmortizationFrequency { Once = "Once", EveryCoupon = "EveryCoupon", Every2ndCoupon = "Every2ndCoupon", Every3rdCoupon = "Every3rdCoupon", Every4thCoupon = "Every4thCoupon", Every12thCoupon = "Every12thCoupon " } export declare enum AmortizationType { None = "None", Linear = "Linear", Annuity = "Annuity", Schedule = "Schedule " } export declare enum IndexObservationMethod { Lookback = "Lookback", PeriodShift = "PeriodShift", Mixed = "Mixed" } export declare enum IndexAverageMethod { CompoundedActual = "CompoundedActual", DailyCompoundedAverage = "DailyCompoundedAverage", CompoundedAverageRate = "CompoundedAverageRate", ArithmeticAverage = "ArithmeticAverage" } export declare enum InterestType { Fixed = "Fixed", Float = "Float", Stepped = "Stepped" } export declare enum ResetType { InAdvance = "InAdvance", InArrears = "InArrears" } export declare enum NotionalExchange { None = "None", Start = "Start", End = "End", Both = "Both", EndAdjustment = "EndAdjustment" } export declare enum IndexCalculationMethod { Compounded = "Compounded", Average = "Average", Constant = "Constant", AdjustedCompounded = "AdjustedCompounded", MexicanCompounded = "MexicanCompounded" } export declare enum IndexSpreadCompoundingMethod { IsdaCompounding = "IsdaCompounding", NoCompounding = "NoCompounding", IsdaFlatCompounding = "IsdaFlatCompounding" } export declare enum InflationMode { Unadjusted = "Unadjusted", Adjusted = "Adjusted", Default = "Default" } export declare enum InterestCalculationConvention { None = "None", MoneyMarket = "MoneyMarket", BondBasis = "BondBasis" } export declare enum AdjustInterest { Unadjusted = "Unadjusted", Adjusted = "Adjusted" } export declare enum BusinessDayConvention { PreviousBusinessDay = "PreviousBusinessDay", NextBusinessDay = "NextBusinessDay", ModifiedFollowing = "ModifiedFollowing", NoMoving = "NoMoving", EveryThirdWednesday = "EveryThirdWednesday", BBSWModifiedFollowing = "BBSWModifiedFollowing" } export declare enum BuySell { Buy = "Buy", Sell = "Sell" } export declare enum FxSwapCalculationMethod { FxSwap = "FxSwap", DepositCcy1ImpliedFromFxSwap = "DepositCcy1ImpliedFromFxSwap", DepositCcy2ImpliedFromFxSwap = "DepositCcy2ImpliedFromFxSwap", FxSwapImpliedFromDeposit = "FxSwapImpliedFromDeposit" } export declare enum CallPut { Call = "Call", Put = "Put" } export declare enum ExerciseStyle { Euro = "EURO", Amer = "AMER", Berm = "BERM " } export type FinancialContractsDefinitions = Array>; export interface Params extends FinancialInstrumentParams { definitions: FinancialContractsDefinitions; } export interface FinancialInstrumentParams extends ExtendedParams { fields?: string[]; outputs?: Outputs[]; } export interface Content extends FinancialInstrumentParams { universe: FinancialInstrument[]; pricingParameters?: Array; } export interface FinancialInstrument { instrumentType: string; instrumentDefinition: Bond.InstrumentDefinition | Option.InstrumentDefinition | CDS.InstrumentDefinition | IRSwap.InstrumentDefinition | Repo.InstrumentDefinition | FxCross.InstrumentDefinition | Swaption.InstrumentDefinition | CapFloor.InstrumentDefinition | TermDeposit.InstrumentDefinition | BondFuture.InstrumentDefinition; pricingParameters?: Bond.PricingParameters | Option.PricingParameters | CDS.PricingParameters | IRSwap.PricingParameters | Repo.PricingParameters | FxCross.PricingParameters | Swaption.PricingParameters | CapFloor.PricingParameters | TermDeposit.PricingParameters | BondFuture.PricingParameters; } export declare enum Outputs { Headers = "Headers", Statuses = "Statuses", Data = "Data", MarketData = "MarketData" } export interface Data extends DataInterface { statuses?: number[][]; } interface Header { name: string; type: Type; } declare enum Type { InvalidField = "InvalidField", String = "String", Float = "Float", DateTime = "DateTime", Integer = "Integer", Object = "Object", Date = "Date", Bool = "Bool", StringArray = "StringArray", FloatArray = "FloatArray", DateArray = "DateArray", ObjectArray = "ObjectArray" } export declare enum ConvexityAdjustmentIntegrationMethod { RiemannSum = "RiemannSum", RungeKutta = "RungeKutta" } export declare enum ConvexityAdjustmentMethod { None = "None", BlackScholes = "BlackScholes", Replication = "Replication", LinearSwapModel = "LinearSwapModel" } export declare enum TenorReferenceDate { SpotDate = "SpotDate", ValuationDate = "ValuationDate" } export type Table = TableInterface; export interface TableRow { [key: string]: any; }