cortex-risk-sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,857 @@
1
+ import { z } from "zod";
2
+ export type CalibrationMethod = "mle" | "grid" | "empirical" | "hybrid";
3
+ export type DataSource = "solana" | "yfinance";
4
+ export type ThresholdMethod = "percentile" | "mean_excess" | "variance_stability";
5
+ export type CopulaFamily = "gaussian" | "student_t" | "clayton" | "gumbel" | "frank" | "auto";
6
+ export type RoughModel = "rough_bergomi" | "rough_heston";
7
+ export type TradeDirection = "long" | "short";
8
+ export interface CalibrateRequest {
9
+ token: string;
10
+ data_source?: DataSource;
11
+ start_date: string;
12
+ end_date: string;
13
+ num_states?: number;
14
+ method?: CalibrationMethod;
15
+ target_var_breach?: number;
16
+ interval?: string;
17
+ use_student_t?: boolean;
18
+ nu?: number;
19
+ }
20
+ export interface CalibrationMetrics {
21
+ var_breach_rate: number;
22
+ vol_correlation: number;
23
+ log_likelihood: number;
24
+ aic: number;
25
+ bic: number;
26
+ }
27
+ export interface CalibrateResponse {
28
+ token: string;
29
+ method: string;
30
+ num_states: number;
31
+ sigma_low: number;
32
+ sigma_high: number;
33
+ p_stay: number | number[];
34
+ sigma_states: number[];
35
+ metrics: CalibrationMetrics;
36
+ calibrated_at: string;
37
+ }
38
+ export interface RegimeResponse {
39
+ timestamp: string;
40
+ regime_state: number;
41
+ regime_name: string;
42
+ regime_probabilities: number[];
43
+ volatility_filtered: number;
44
+ volatility_forecast: number;
45
+ var_95: number;
46
+ transition_matrix: number[][];
47
+ }
48
+ export interface VaRResponse {
49
+ timestamp: string;
50
+ confidence: number;
51
+ var_value: number;
52
+ sigma_forecast: number;
53
+ z_alpha: number;
54
+ regime_probabilities: number[];
55
+ distribution: string;
56
+ }
57
+ export interface VolatilityForecastResponse {
58
+ timestamp: string;
59
+ sigma_forecast: number;
60
+ sigma_filtered: number;
61
+ regime_probabilities: number[];
62
+ sigma_states: number[];
63
+ }
64
+ export interface BacktestSummaryResponse {
65
+ token: string;
66
+ num_observations: number;
67
+ var_alpha: number;
68
+ breach_count: number;
69
+ breach_rate: number;
70
+ kupiec_lr: number | null;
71
+ kupiec_pvalue: number | null;
72
+ kupiec_pass: boolean;
73
+ christoffersen_lr: number | null;
74
+ christoffersen_pvalue: number | null;
75
+ christoffersen_pass: boolean;
76
+ }
77
+ export interface TailProbResponse {
78
+ l1_threshold: number;
79
+ p1_day: number;
80
+ horizon_probs: Record<string, number>;
81
+ distribution: string;
82
+ }
83
+ export interface RegimeStreamMessage {
84
+ timestamp: string;
85
+ regime_state: number;
86
+ regime_name: string;
87
+ regime_probabilities: number[];
88
+ volatility_forecast: number;
89
+ var_95: number;
90
+ }
91
+ export interface ErrorResponse {
92
+ detail: string;
93
+ error_code: string;
94
+ }
95
+ export interface NewsSentiment {
96
+ score: number;
97
+ confidence: number;
98
+ label: string;
99
+ bull_weight: number;
100
+ bear_weight: number;
101
+ entropy: number;
102
+ }
103
+ export interface NewsItem {
104
+ id: string;
105
+ source: string;
106
+ api_source: string;
107
+ title: string;
108
+ body: string;
109
+ url: string;
110
+ timestamp: number;
111
+ assets: string[];
112
+ sentiment: NewsSentiment;
113
+ impact: number;
114
+ novelty: number;
115
+ source_credibility: number;
116
+ time_decay: number;
117
+ regime_multiplier: number;
118
+ }
119
+ export interface NewsMarketSignal {
120
+ sentiment_ewma: number;
121
+ sentiment_momentum: number;
122
+ entropy: number;
123
+ confidence: number;
124
+ direction: string;
125
+ strength: number;
126
+ n_sources: number;
127
+ n_items: number;
128
+ bull_pct: number;
129
+ bear_pct: number;
130
+ neutral_pct: number;
131
+ }
132
+ export interface NewsSourceCounts {
133
+ cryptocompare: number;
134
+ newsdata: number;
135
+ cryptopanic: number;
136
+ }
137
+ export interface NewsMeta {
138
+ errors: string[];
139
+ elapsed_ms: number;
140
+ total: number;
141
+ regime_state: number | null;
142
+ }
143
+ export interface NewsFeedResponse {
144
+ items: NewsItem[];
145
+ signal: NewsMarketSignal;
146
+ source_counts: NewsSourceCounts;
147
+ meta: NewsMeta;
148
+ }
149
+ export interface RegimeDurationsResponse {
150
+ token: string;
151
+ p_stay: number | number[];
152
+ num_states: number;
153
+ durations: Record<string, number>;
154
+ timestamp: string;
155
+ }
156
+ export interface RegimePeriod {
157
+ start: string;
158
+ end: string;
159
+ regime: number;
160
+ duration: number;
161
+ cumulative_return: number;
162
+ volatility: number;
163
+ max_drawdown: number;
164
+ }
165
+ export interface RegimeHistoryResponse {
166
+ token: string;
167
+ num_periods: number;
168
+ periods: RegimePeriod[];
169
+ timestamp: string;
170
+ }
171
+ export interface TransitionAlertResponse {
172
+ token: string;
173
+ alert: boolean;
174
+ current_regime: number;
175
+ transition_probability: number;
176
+ most_likely_next_regime: number;
177
+ next_regime_probability: number;
178
+ threshold: number;
179
+ timestamp: string;
180
+ }
181
+ export interface RegimeStatRow {
182
+ regime: number;
183
+ mean_return: number;
184
+ volatility: number;
185
+ sharpe_ratio: number;
186
+ max_drawdown: number;
187
+ days_in_regime: number;
188
+ frequency: number;
189
+ }
190
+ export interface RegimeStatisticsResponse {
191
+ token: string;
192
+ num_states: number;
193
+ total_observations: number;
194
+ statistics: RegimeStatRow[];
195
+ timestamp: string;
196
+ }
197
+ export interface CompareRequest {
198
+ token: string;
199
+ alpha?: number;
200
+ models?: string[] | null;
201
+ }
202
+ export interface ModelMetricsRow {
203
+ model: string;
204
+ log_likelihood: number | null;
205
+ aic: number | null;
206
+ bic: number | null;
207
+ breach_rate: number | null;
208
+ breach_count: number;
209
+ kupiec_lr: number | null;
210
+ kupiec_pvalue: number | null;
211
+ kupiec_pass: boolean | null;
212
+ christoffersen_lr: number | null;
213
+ christoffersen_pvalue: number | null;
214
+ christoffersen_pass: boolean | null;
215
+ mae_volatility: number;
216
+ correlation: number | null;
217
+ num_params: number;
218
+ }
219
+ export interface CompareResponse {
220
+ token: string;
221
+ alpha: number;
222
+ num_observations: number;
223
+ models_compared: string[];
224
+ results: ModelMetricsRow[];
225
+ timestamp: string;
226
+ }
227
+ export interface ComparisonReportResponse {
228
+ token: string;
229
+ alpha: number;
230
+ summary_table: string;
231
+ winners: Record<string, string>;
232
+ pass_fail: Record<string, Record<string, boolean | null>>;
233
+ ranking: string[];
234
+ timestamp: string;
235
+ }
236
+ export interface PortfolioCalibrateRequest {
237
+ tokens: string[];
238
+ weights: Record<string, number>;
239
+ num_states?: number;
240
+ method?: string;
241
+ period?: string;
242
+ data_source?: DataSource;
243
+ copula_family?: string | null;
244
+ }
245
+ export interface RegimeBreakdownItem {
246
+ regime: number;
247
+ probability: number;
248
+ portfolio_sigma: number;
249
+ portfolio_var: number;
250
+ }
251
+ export interface PortfolioVaRResponse {
252
+ portfolio_var: number;
253
+ portfolio_sigma: number;
254
+ z_alpha: number;
255
+ weights: Record<string, number>;
256
+ regime_breakdown: RegimeBreakdownItem[];
257
+ timestamp: string;
258
+ }
259
+ export interface AssetDecompositionItem {
260
+ asset: string;
261
+ weight: number;
262
+ marginal_var: number;
263
+ component_var: number;
264
+ pct_contribution: number;
265
+ }
266
+ export interface MarginalVaRResponse {
267
+ portfolio_var: number;
268
+ portfolio_sigma: number;
269
+ decomposition: AssetDecompositionItem[];
270
+ timestamp: string;
271
+ }
272
+ export interface AssetStressItem {
273
+ asset: string;
274
+ normal_sigma: number;
275
+ stressed_sigma: number;
276
+ }
277
+ export interface StressVaRResponse {
278
+ forced_regime: number;
279
+ stressed_var: number;
280
+ stressed_sigma: number;
281
+ normal_var: number;
282
+ normal_sigma: number;
283
+ stress_multiplier: number;
284
+ regime_correlation: number[][];
285
+ asset_stress: AssetStressItem[];
286
+ timestamp: string;
287
+ }
288
+ export interface TailDependence {
289
+ lambda_lower: number;
290
+ lambda_upper: number;
291
+ }
292
+ export interface CopulaFitResult {
293
+ family: string;
294
+ params: Record<string, unknown>;
295
+ log_likelihood: number;
296
+ aic: number;
297
+ bic: number;
298
+ n_obs: number;
299
+ n_assets: number;
300
+ n_params: number;
301
+ tail_dependence: TailDependence;
302
+ }
303
+ export interface CopulaPortfolioVaRResponse {
304
+ copula_var: number;
305
+ gaussian_var: number;
306
+ var_ratio: number;
307
+ copula_family: string;
308
+ tail_dependence: TailDependence;
309
+ n_simulations: number;
310
+ alpha: number;
311
+ timestamp: string;
312
+ }
313
+ export interface RegimeCopulaItem {
314
+ regime: number;
315
+ n_obs: number;
316
+ copula: CopulaFitResult;
317
+ }
318
+ export interface CopulaDiagnosticsResponse {
319
+ portfolio_key: string;
320
+ copula_family: string;
321
+ fit: CopulaFitResult;
322
+ regime_copulas: RegimeCopulaItem[];
323
+ timestamp: string;
324
+ }
325
+ export interface CopulaCompareItem {
326
+ family: string;
327
+ log_likelihood: number;
328
+ aic: number;
329
+ bic: number;
330
+ tail_dependence: TailDependence;
331
+ rank: number;
332
+ best: boolean;
333
+ }
334
+ export interface CopulaCompareResponse {
335
+ portfolio_key: string;
336
+ results: CopulaCompareItem[];
337
+ timestamp: string;
338
+ }
339
+ export interface RegimeTailDependenceItem {
340
+ regime: number;
341
+ family: string;
342
+ lambda_lower: number;
343
+ lambda_upper: number;
344
+ }
345
+ export interface RegimeDependentCopulaVaRResponse {
346
+ regime_dependent_var: number;
347
+ static_var: number;
348
+ var_difference_pct: number;
349
+ current_regime_copula: CopulaFitResult;
350
+ regime_tail_dependence: RegimeTailDependenceItem[];
351
+ dominant_regime: number;
352
+ regime_probs: number[];
353
+ n_simulations: number;
354
+ alpha: number;
355
+ timestamp: string;
356
+ }
357
+ export interface EVTCalibrateRequest {
358
+ token: string;
359
+ threshold_method?: ThresholdMethod;
360
+ min_exceedances?: number;
361
+ }
362
+ export interface EVTCalibrateResponse {
363
+ token: string;
364
+ xi: number;
365
+ beta: number;
366
+ threshold: number;
367
+ n_total: number;
368
+ n_exceedances: number;
369
+ log_likelihood: number;
370
+ aic: number;
371
+ bic: number;
372
+ threshold_method: string;
373
+ timestamp: string;
374
+ }
375
+ export interface EVTVaRResponse {
376
+ timestamp: string;
377
+ confidence: number;
378
+ var_value: number;
379
+ cvar_value: number;
380
+ distribution: string;
381
+ xi: number;
382
+ beta: number;
383
+ threshold: number;
384
+ }
385
+ export interface EVTBacktestRow {
386
+ alpha: number;
387
+ confidence: number;
388
+ evt_var: number;
389
+ breach_count: number;
390
+ breach_rate: number;
391
+ expected_rate: number;
392
+ kupiec_lr: number | null;
393
+ kupiec_pvalue: number | null;
394
+ kupiec_pass: boolean | null;
395
+ }
396
+ export interface VaRComparisonRow {
397
+ method: string;
398
+ alpha: number;
399
+ confidence: number;
400
+ var_value: number;
401
+ breach_count: number;
402
+ breach_rate: number;
403
+ expected_rate: number;
404
+ }
405
+ export interface EVTDiagnosticsResponse {
406
+ token: string;
407
+ xi: number;
408
+ beta: number;
409
+ threshold: number;
410
+ threshold_method: string;
411
+ n_exceedances: number;
412
+ backtest: EVTBacktestRow[];
413
+ comparison: VaRComparisonRow[];
414
+ timestamp: string;
415
+ }
416
+ export interface HawkesCalibrateRequest {
417
+ token: string;
418
+ threshold_percentile?: number;
419
+ use_absolute?: boolean;
420
+ }
421
+ export interface HawkesCalibrateResponse {
422
+ token: string;
423
+ mu: number;
424
+ alpha: number;
425
+ beta: number;
426
+ branching_ratio: number;
427
+ half_life: number;
428
+ stationary: boolean;
429
+ n_events: number;
430
+ log_likelihood: number;
431
+ aic: number;
432
+ bic: number;
433
+ threshold: number;
434
+ timestamp: string;
435
+ }
436
+ export interface HawkesIntensityResponse {
437
+ token: string;
438
+ current_intensity: number;
439
+ baseline: number;
440
+ intensity_ratio: number;
441
+ peak_intensity: number;
442
+ mean_intensity: number;
443
+ contagion_risk_score: number;
444
+ excitation_level: number;
445
+ risk_level: string;
446
+ timestamp: string;
447
+ }
448
+ export interface HawkesClusterItem {
449
+ cluster_id: number;
450
+ start_time: number;
451
+ end_time: number;
452
+ n_events: number;
453
+ duration: number;
454
+ peak_intensity: number;
455
+ }
456
+ export interface HawkesClustersResponse {
457
+ token: string;
458
+ clusters: HawkesClusterItem[];
459
+ n_clusters: number;
460
+ timestamp: string;
461
+ }
462
+ export interface HawkesVaRRequest {
463
+ token: string;
464
+ confidence?: number;
465
+ max_multiplier?: number;
466
+ }
467
+ export interface HawkesVaRResponse {
468
+ adjusted_var: number;
469
+ base_var: number;
470
+ multiplier: number;
471
+ intensity_ratio: number;
472
+ capped: boolean;
473
+ confidence: number;
474
+ recent_events: number;
475
+ timestamp: string;
476
+ }
477
+ export interface HawkesSimulateRequest {
478
+ token?: string | null;
479
+ mu?: number | null;
480
+ alpha?: number | null;
481
+ beta?: number | null;
482
+ T?: number;
483
+ seed?: number;
484
+ }
485
+ export interface HawkesSimulateResponse {
486
+ n_events: number;
487
+ T: number;
488
+ mean_intensity: number;
489
+ peak_intensity: number;
490
+ timestamp: string;
491
+ }
492
+ export interface HurstResponse {
493
+ token: string;
494
+ H: number;
495
+ H_se: number;
496
+ r_squared: number;
497
+ interpretation: string;
498
+ method: string;
499
+ timestamp: string;
500
+ }
501
+ export interface MultifractalSpectrumResponse {
502
+ token: string;
503
+ width: number;
504
+ peak_alpha: number;
505
+ is_multifractal: boolean;
506
+ q_values: number[];
507
+ tau_q: number[];
508
+ H_q: number[];
509
+ alpha: number[];
510
+ f_alpha: number[];
511
+ timestamp: string;
512
+ }
513
+ export interface RegimeHurstItem {
514
+ regime: number;
515
+ sigma: number;
516
+ n_obs: number;
517
+ fraction: number;
518
+ H: number | null;
519
+ H_se: number | null;
520
+ interpretation: string;
521
+ }
522
+ export interface RegimeHurstResponse {
523
+ token: string;
524
+ per_regime: RegimeHurstItem[];
525
+ n_states: number;
526
+ summary: string;
527
+ timestamp: string;
528
+ }
529
+ export interface FractalDiagnosticsResponse {
530
+ token: string;
531
+ H_rs: number;
532
+ H_dfa: number;
533
+ spectrum_width: number;
534
+ is_multifractal: boolean;
535
+ is_long_range_dependent: boolean;
536
+ confidence_z: number;
537
+ timestamp: string;
538
+ }
539
+ export interface RoughCalibrateRequest {
540
+ token: string;
541
+ model?: RoughModel;
542
+ window?: number;
543
+ max_lag?: number;
544
+ }
545
+ export interface RoughCalibrationMetrics {
546
+ H_se: number;
547
+ H_r_squared: number;
548
+ vol_correlation: number;
549
+ mae: number;
550
+ is_rough: boolean;
551
+ optimization_success: boolean | null;
552
+ optimization_nit: number | null;
553
+ }
554
+ export interface RoughCalibrateResponse {
555
+ token: string;
556
+ model: string;
557
+ H: number;
558
+ nu: number | null;
559
+ lambda_: number | null;
560
+ theta: number | null;
561
+ xi: number | null;
562
+ V0: number;
563
+ metrics: RoughCalibrationMetrics;
564
+ method: string;
565
+ timestamp: string;
566
+ }
567
+ export interface RoughForecastResponse {
568
+ token: string;
569
+ model: string;
570
+ horizon: number;
571
+ current_vol: number;
572
+ point_forecast: number[];
573
+ lower_95: number[];
574
+ upper_95: number[];
575
+ mean_forecast: number[];
576
+ timestamp: string;
577
+ }
578
+ export interface RoughDiagnosticsResponse {
579
+ token: string;
580
+ H_variogram: number;
581
+ H_se: number;
582
+ r_squared: number;
583
+ is_rough: boolean;
584
+ lags: number[];
585
+ variogram: number[];
586
+ interpretation: string;
587
+ timestamp: string;
588
+ }
589
+ export interface RoughModelMetrics {
590
+ mae: number;
591
+ rmse: number;
592
+ correlation: number;
593
+ }
594
+ export interface RoughCompareMSMResponse {
595
+ token: string;
596
+ rough_H: number;
597
+ rough_nu: number;
598
+ rough_is_rough: boolean;
599
+ rough_metrics: RoughModelMetrics;
600
+ msm_num_states: number;
601
+ msm_metrics: RoughModelMetrics;
602
+ winner: string;
603
+ mae_ratio: number;
604
+ rmse_ratio: number;
605
+ corr_diff: number;
606
+ timestamp: string;
607
+ }
608
+ export interface SVJCalibrateRequest {
609
+ token: string;
610
+ use_hawkes?: boolean;
611
+ jump_threshold_multiplier?: number;
612
+ }
613
+ export interface SVJHawkesParams {
614
+ mu: number;
615
+ alpha: number;
616
+ beta: number;
617
+ branching_ratio: number;
618
+ current_intensity: number;
619
+ baseline_intensity: number;
620
+ intensity_ratio: number;
621
+ }
622
+ export interface SVJCalibrateResponse {
623
+ token: string;
624
+ kappa: number;
625
+ theta: number;
626
+ sigma: number;
627
+ rho: number;
628
+ lambda_: number;
629
+ mu_j: number;
630
+ sigma_j: number;
631
+ feller_ratio: number;
632
+ feller_satisfied: boolean;
633
+ log_likelihood: number | null;
634
+ aic: number | null;
635
+ bic: number | null;
636
+ n_obs: number;
637
+ n_jumps_detected: number;
638
+ jump_fraction: number;
639
+ bns_statistic: number;
640
+ bns_pvalue: number;
641
+ optimization_success: boolean;
642
+ use_hawkes: boolean;
643
+ hawkes_params: SVJHawkesParams | null;
644
+ timestamp: string;
645
+ }
646
+ export interface SVJVaRResponse {
647
+ token: string;
648
+ var_svj: number;
649
+ var_diffusion_only: number;
650
+ var_jump_component: number;
651
+ expected_shortfall: number;
652
+ jump_contribution_pct: number;
653
+ alpha: number;
654
+ confidence: number;
655
+ n_simulations: number;
656
+ current_variance: number;
657
+ avg_jumps_per_day: number;
658
+ timestamp: string;
659
+ }
660
+ export interface SVJJumpRiskResponse {
661
+ token: string;
662
+ diffusion_variance: number;
663
+ jump_variance: number;
664
+ total_model_variance: number;
665
+ empirical_variance: number;
666
+ jump_share_pct: number;
667
+ diffusion_share_pct: number;
668
+ daily_diffusion_vol: number;
669
+ daily_jump_vol: number;
670
+ daily_total_vol: number;
671
+ annualized_diffusion_vol: number;
672
+ annualized_jump_vol: number;
673
+ annualized_total_vol: number;
674
+ timestamp: string;
675
+ }
676
+ export interface SVJJumpStats {
677
+ n_jumps: number;
678
+ jump_fraction: number;
679
+ avg_jump_size: number;
680
+ jump_vol: number;
681
+ bns_statistic: number;
682
+ bns_pvalue: number;
683
+ jumps_significant: boolean;
684
+ }
685
+ export interface SVJParameterQuality {
686
+ feller_satisfied: boolean;
687
+ feller_ratio: number;
688
+ half_life_years: number;
689
+ mean_reversion_days: number;
690
+ optimization_success: boolean;
691
+ }
692
+ export interface SVJMomentComparison {
693
+ empirical_skewness: number;
694
+ empirical_kurtosis: number;
695
+ model_variance: number;
696
+ model_skew_approx: number;
697
+ }
698
+ export interface SVJEVTTail {
699
+ gpd_xi: number;
700
+ gpd_beta: number;
701
+ threshold: number;
702
+ n_exceedances: number;
703
+ tail_index: number;
704
+ }
705
+ export interface SVJClustering {
706
+ branching_ratio: number;
707
+ half_life_days: number;
708
+ n_clusters: number;
709
+ avg_cluster_size: number;
710
+ stationarity: boolean;
711
+ }
712
+ export interface SVJDiagnosticsResponse {
713
+ token: string;
714
+ jump_stats: SVJJumpStats;
715
+ parameter_quality: SVJParameterQuality;
716
+ moment_comparison: SVJMomentComparison;
717
+ evt_tail: SVJEVTTail | null;
718
+ clustering: SVJClustering | null;
719
+ timestamp: string;
720
+ }
721
+ export interface GuardianAssessRequest {
722
+ token: string;
723
+ trade_size_usd: number;
724
+ direction: TradeDirection;
725
+ urgency?: boolean;
726
+ max_slippage_pct?: number;
727
+ }
728
+ export interface GuardianComponentScore {
729
+ component: string;
730
+ score: number;
731
+ details: Record<string, unknown>;
732
+ }
733
+ export interface GuardianAssessResponse {
734
+ approved: boolean;
735
+ risk_score: number;
736
+ veto_reasons: string[];
737
+ recommended_size: number;
738
+ regime_state: number;
739
+ confidence: number;
740
+ expires_at: string;
741
+ component_scores: GuardianComponentScore[];
742
+ from_cache: boolean;
743
+ }
744
+ export declare const GuardianAssessResponseSchema: z.ZodObject<{
745
+ approved: z.ZodBoolean;
746
+ risk_score: z.ZodNumber;
747
+ veto_reasons: z.ZodArray<z.ZodString, "many">;
748
+ recommended_size: z.ZodNumber;
749
+ regime_state: z.ZodNumber;
750
+ confidence: z.ZodNumber;
751
+ expires_at: z.ZodString;
752
+ component_scores: z.ZodArray<z.ZodObject<{
753
+ component: z.ZodString;
754
+ score: z.ZodNumber;
755
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
756
+ }, "strip", z.ZodTypeAny, {
757
+ component: string;
758
+ score: number;
759
+ details: Record<string, unknown>;
760
+ }, {
761
+ component: string;
762
+ score: number;
763
+ details: Record<string, unknown>;
764
+ }>, "many">;
765
+ from_cache: z.ZodBoolean;
766
+ }, "strip", z.ZodTypeAny, {
767
+ approved: boolean;
768
+ risk_score: number;
769
+ veto_reasons: string[];
770
+ recommended_size: number;
771
+ regime_state: number;
772
+ confidence: number;
773
+ expires_at: string;
774
+ component_scores: {
775
+ component: string;
776
+ score: number;
777
+ details: Record<string, unknown>;
778
+ }[];
779
+ from_cache: boolean;
780
+ }, {
781
+ approved: boolean;
782
+ risk_score: number;
783
+ veto_reasons: string[];
784
+ recommended_size: number;
785
+ regime_state: number;
786
+ confidence: number;
787
+ expires_at: string;
788
+ component_scores: {
789
+ component: string;
790
+ score: number;
791
+ details: Record<string, unknown>;
792
+ }[];
793
+ from_cache: boolean;
794
+ }>;
795
+ export declare const VaRResponseSchema: z.ZodObject<{
796
+ timestamp: z.ZodString;
797
+ confidence: z.ZodNumber;
798
+ var_value: z.ZodNumber;
799
+ sigma_forecast: z.ZodNumber;
800
+ z_alpha: z.ZodNumber;
801
+ regime_probabilities: z.ZodArray<z.ZodNumber, "many">;
802
+ distribution: z.ZodString;
803
+ }, "strip", z.ZodTypeAny, {
804
+ confidence: number;
805
+ timestamp: string;
806
+ var_value: number;
807
+ sigma_forecast: number;
808
+ z_alpha: number;
809
+ regime_probabilities: number[];
810
+ distribution: string;
811
+ }, {
812
+ confidence: number;
813
+ timestamp: string;
814
+ var_value: number;
815
+ sigma_forecast: number;
816
+ z_alpha: number;
817
+ regime_probabilities: number[];
818
+ distribution: string;
819
+ }>;
820
+ export declare const RegimeResponseSchema: z.ZodObject<{
821
+ timestamp: z.ZodString;
822
+ regime_state: z.ZodNumber;
823
+ regime_name: z.ZodString;
824
+ regime_probabilities: z.ZodArray<z.ZodNumber, "many">;
825
+ volatility_filtered: z.ZodNumber;
826
+ volatility_forecast: z.ZodNumber;
827
+ var_95: z.ZodNumber;
828
+ transition_matrix: z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">;
829
+ }, "strip", z.ZodTypeAny, {
830
+ regime_state: number;
831
+ timestamp: string;
832
+ regime_probabilities: number[];
833
+ regime_name: string;
834
+ volatility_filtered: number;
835
+ volatility_forecast: number;
836
+ var_95: number;
837
+ transition_matrix: number[][];
838
+ }, {
839
+ regime_state: number;
840
+ timestamp: string;
841
+ regime_probabilities: number[];
842
+ regime_name: string;
843
+ volatility_filtered: number;
844
+ volatility_forecast: number;
845
+ var_95: number;
846
+ transition_matrix: number[][];
847
+ }>;
848
+ export interface RiskEngineConfig {
849
+ baseUrl: string;
850
+ timeout?: number;
851
+ retries?: number;
852
+ retryDelay?: number;
853
+ circuitBreakerThreshold?: number;
854
+ circuitBreakerResetMs?: number;
855
+ validateResponses?: boolean;
856
+ }
857
+ //# sourceMappingURL=types.d.ts.map