@turnbuckle/aprs-calculator-services
Version:
Anchorpoint Risk Calculator Service.
49 lines (48 loc) • 3.17 kB
TypeScript
import { AgeAnalysisItemInterface } from '../../interfaces/array-item-models/age-analysis-item.interface';
import { scoreAgeAnalysis } from './score-age-analysis';
import { ageFinancialTransactions } from './age-financial-transactions';
import { createDefaultsTable } from './helper-functions/create-defaults-table';
import { calculateCcfTermStructure } from './calculate-ccf-term-structure';
import { CalculateLgdTermStructureOutputModelInterface } from '../../interfaces/output-models/calculate-lgd-term-structure-output-model.interface';
import { ScoreAgeAnalysisInputModelInterface } from '../../interfaces/input-models/score-age-analysis-input-model.interface';
import { CreateDefaultsTableInputModelInterface } from '../../interfaces/input-models/create-defaults-table-input-model.interface';
import { CalculateLgdTermStructureInputModelInterface } from '../../interfaces/input-models/calculate-lgd-term-structure-input-model.interface';
import { calculateCohortMatrix } from './calculate-cohort-matrix';
import { calculateHazardRateMatrix } from './calculate-hazard-rate-matrix';
import { BaseOutputInterface } from '../../interfaces/output-models/base-output.interface';
import { MatrixBaseInputModelInterface } from '../../interfaces/common-models/matrix-base-input-model.interface';
declare type TCompositeLgdTermStructureInput = ScoreAgeAnalysisInputModelInterface<AgeAnalysisItemInterface> & Omit<CreateDefaultsTableInputModelInterface<AgeAnalysisItemInterface>, "ageAnalysis"> & Omit<CalculateLgdTermStructureInputModelInterface, "defaultsTable">;
declare type TCompositeMatrixInput = ScoreAgeAnalysisInputModelInterface<AgeAnalysisItemInterface> & Omit<MatrixBaseInputModelInterface, "absorbingStates">;
declare type TCompositeMatrixOutput = {
cohortMatrix: number[][];
migrationMatrix: number[][];
} & BaseOutputInterface;
export declare class HazardRateFacade {
static ageFinancialTransactions: typeof ageFinancialTransactions;
static scoreAgeAnalysis: typeof scoreAgeAnalysis;
static calculateCcfTermStructure: typeof calculateCcfTermStructure;
static createDefaultsTable: typeof createDefaultsTable;
static calculateHazardRateMatrix: typeof calculateHazardRateMatrix;
static calculateCohortMatrix: typeof calculateCohortMatrix;
/**
* ageAnalysis: AgeAnalysisItemInterface[]
* scoringType: ScoringTableTypeEnums
* scoringTable: ScoringTableItemInterface[]
* absorbingStates: number
* defaultsRating: number
* trackDefaultEvents: TrackDefaultEventTypeEnums
* interestRate: number
*/
static calculateLgdTermStructure(input: TCompositeLgdTermStructureInput): Promise<CalculateLgdTermStructureOutputModelInterface>;
/**
* ageAnalysis: AgeAnalysisItemInterface[]
* scoringType: ScoringTableTypeEnums
* scoringTable: ScoringTableItemInterface[]
* absorbingStates: number
* maxRating: number
* dataFrequencyScalar: number
*/
static calculateAllMatrices(input: TCompositeMatrixInput): Promise<TCompositeMatrixOutput>;
private static scoreAgeAnalysisIfNotAlreadyScored;
}
export {};