@barfinex/types
Version:
Core TypeScript type definitions and shared interfaces for the Barfinex ecosystem. Provides strongly-typed contracts for modules, services, and plugins.
81 lines • 2.4 kB
TypeScript
export type DecisionQualityDimension = 'signalQuality' | 'timingQuality' | 'riskQuality' | 'regimeFitQuality' | 'executionQuality' | 'outcomeQuality';
export interface QualityDimensionBreakdown {
signalQuality: number;
timingQuality: number;
riskQuality: number;
regimeFitQuality: number;
executionQuality: number;
outcomeQuality: number;
}
export interface DecisionAttribution {
strategyId: string;
strategyFamily?: string;
strategyVersion?: string;
detectorSource?: string;
triggerSource?: string;
experimentTag?: string;
experimentCohort?: string;
mergedSignalCount?: number;
}
export interface DecisionOutcome {
outcome: 'WIN' | 'LOSS' | 'IGNORE' | 'ERROR';
directionCorrect: boolean;
priceAtDecision: number;
priceAfterWindow: number;
pnlPct: number;
maxFavorableExcursionPct: number;
maxAdverseExcursionPct: number;
edgePersistenceMs: number;
}
export interface DecisionQualityScore {
overallQualityScore: number;
dimensions: QualityDimensionBreakdown;
}
export interface StrategyExperimentState {
strategyId: string;
status: 'active' | 'suppressed' | 'candidate' | 'disabled';
rankingScore: number;
qualityScore: number;
suppressionReason?: string;
lastEvaluatedAt?: string;
sampleSize: number;
experimentTag?: string;
experimentCohort?: string;
}
export interface StrategyQualityStats {
strategyId: string;
strategyFamily?: string;
strategyVersion?: string;
symbol?: string;
totalDecisions: number;
wins: number;
losses: number;
ignores: number;
errors: number;
winRate: number;
avgPnlPct: number;
avgOverallQualityScore: number;
avgSignalQuality: number;
avgTimingQuality: number;
avgRiskQuality: number;
avgRegimeFitQuality: number;
avgExecutionQuality: number;
avgOutcomeQuality: number;
avgMfePct: number;
avgMaePct: number;
firstEvaluationTs?: string;
latestEvaluationTs?: string;
}
export interface DecisionEvaluation {
decisionId: string;
symbol: string;
evaluatedAt: number;
confidenceAtDecision: number;
convictionMultiplier: number;
riskMode?: string;
marketRegime?: string;
attribution: DecisionAttribution;
outcome: DecisionOutcome;
quality: DecisionQualityScore;
}
//# sourceMappingURL=decision-quality.interface.d.ts.map