@adaptic/utils 0.1.48 → 0.1.50

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.
Files changed (141) hide show
  1. package/dist/index.cjs +58226 -229
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.mjs +58193 -229
  4. package/dist/index.mjs.map +1 -1
  5. package/dist/types/alpaca/client.d.ts +105 -0
  6. package/dist/types/alpaca/client.d.ts.map +1 -0
  7. package/dist/types/alpaca/crypto/data.d.ts +281 -0
  8. package/dist/types/alpaca/crypto/data.d.ts.map +1 -0
  9. package/dist/types/alpaca/crypto/index.d.ts +75 -0
  10. package/dist/types/alpaca/crypto/index.d.ts.map +1 -0
  11. package/dist/types/alpaca/crypto/orders.d.ts +221 -0
  12. package/dist/types/alpaca/crypto/orders.d.ts.map +1 -0
  13. package/dist/types/alpaca/index.d.ts +204 -0
  14. package/dist/types/alpaca/index.d.ts.map +1 -0
  15. package/dist/types/alpaca/market-data/bars.d.ts +142 -0
  16. package/dist/types/alpaca/market-data/bars.d.ts.map +1 -0
  17. package/dist/types/alpaca/market-data/index.d.ts +13 -0
  18. package/dist/types/alpaca/market-data/index.d.ts.map +1 -0
  19. package/dist/types/alpaca/market-data/news.d.ts +87 -0
  20. package/dist/types/alpaca/market-data/news.d.ts.map +1 -0
  21. package/dist/types/alpaca/market-data/quotes.d.ts +85 -0
  22. package/dist/types/alpaca/market-data/quotes.d.ts.map +1 -0
  23. package/dist/types/alpaca/market-data/trades.d.ts +98 -0
  24. package/dist/types/alpaca/market-data/trades.d.ts.map +1 -0
  25. package/dist/types/alpaca/options/contracts.d.ts +279 -0
  26. package/dist/types/alpaca/options/contracts.d.ts.map +1 -0
  27. package/dist/types/alpaca/options/data.d.ts +126 -0
  28. package/dist/types/alpaca/options/data.d.ts.map +1 -0
  29. package/dist/types/alpaca/options/index.d.ts +17 -0
  30. package/dist/types/alpaca/options/index.d.ts.map +1 -0
  31. package/dist/types/alpaca/options/orders.d.ts +366 -0
  32. package/dist/types/alpaca/options/orders.d.ts.map +1 -0
  33. package/dist/types/alpaca/options/strategies.d.ts +224 -0
  34. package/dist/types/alpaca/options/strategies.d.ts.map +1 -0
  35. package/dist/types/alpaca/streams/base-stream.d.ts +143 -0
  36. package/dist/types/alpaca/streams/base-stream.d.ts.map +1 -0
  37. package/dist/types/alpaca/streams/crypto-stream.d.ts +173 -0
  38. package/dist/types/alpaca/streams/crypto-stream.d.ts.map +1 -0
  39. package/dist/types/alpaca/streams/index.d.ts +54 -0
  40. package/dist/types/alpaca/streams/index.d.ts.map +1 -0
  41. package/dist/types/alpaca/streams/option-stream.d.ts +167 -0
  42. package/dist/types/alpaca/streams/option-stream.d.ts.map +1 -0
  43. package/dist/types/alpaca/streams/stock-stream.d.ts +176 -0
  44. package/dist/types/alpaca/streams/stock-stream.d.ts.map +1 -0
  45. package/dist/types/alpaca/streams/stream-manager.d.ts +277 -0
  46. package/dist/types/alpaca/streams/stream-manager.d.ts.map +1 -0
  47. package/dist/types/alpaca/streams/trading-stream.d.ts +186 -0
  48. package/dist/types/alpaca/streams/trading-stream.d.ts.map +1 -0
  49. package/dist/types/alpaca/trading/account.d.ts +198 -0
  50. package/dist/types/alpaca/trading/account.d.ts.map +1 -0
  51. package/dist/types/alpaca/trading/bracket-orders.d.ts +162 -0
  52. package/dist/types/alpaca/trading/bracket-orders.d.ts.map +1 -0
  53. package/dist/types/alpaca/trading/clock.d.ts +99 -0
  54. package/dist/types/alpaca/trading/clock.d.ts.map +1 -0
  55. package/dist/types/alpaca/trading/index.d.ts +15 -0
  56. package/dist/types/alpaca/trading/index.d.ts.map +1 -0
  57. package/dist/types/alpaca/trading/oco-orders.d.ts +203 -0
  58. package/dist/types/alpaca/trading/oco-orders.d.ts.map +1 -0
  59. package/dist/types/alpaca/trading/order-utils.d.ts +404 -0
  60. package/dist/types/alpaca/trading/order-utils.d.ts.map +1 -0
  61. package/dist/types/alpaca/trading/orders.d.ts +199 -0
  62. package/dist/types/alpaca/trading/orders.d.ts.map +1 -0
  63. package/dist/types/alpaca/trading/oto-orders.d.ts +282 -0
  64. package/dist/types/alpaca/trading/oto-orders.d.ts.map +1 -0
  65. package/dist/types/alpaca/trading/positions.d.ts +389 -0
  66. package/dist/types/alpaca/trading/positions.d.ts.map +1 -0
  67. package/dist/types/alpaca/trading/smart-orders.d.ts +301 -0
  68. package/dist/types/alpaca/trading/smart-orders.d.ts.map +1 -0
  69. package/dist/types/alpaca/trading/trailing-stops.d.ts +247 -0
  70. package/dist/types/alpaca/trading/trailing-stops.d.ts.map +1 -0
  71. package/dist/types/config/api-endpoints.d.ts +94 -0
  72. package/dist/types/config/api-endpoints.d.ts.map +1 -0
  73. package/dist/types/errors/index.d.ts +130 -0
  74. package/dist/types/errors/index.d.ts.map +1 -0
  75. package/dist/types/examples/rate-limiter-example.d.ts +7 -0
  76. package/dist/types/examples/rate-limiter-example.d.ts.map +1 -0
  77. package/dist/types/http-timeout.d.ts +37 -0
  78. package/dist/types/http-timeout.d.ts.map +1 -0
  79. package/dist/types/index.d.ts +9 -0
  80. package/dist/types/index.d.ts.map +1 -1
  81. package/dist/types/logger.d.ts +68 -0
  82. package/dist/types/logger.d.ts.map +1 -0
  83. package/dist/types/massive.d.ts +167 -0
  84. package/dist/types/massive.d.ts.map +1 -0
  85. package/dist/types/rate-limiter.d.ts +173 -0
  86. package/dist/types/rate-limiter.d.ts.map +1 -0
  87. package/dist/types/risk-free-rate.d.ts +153 -0
  88. package/dist/types/risk-free-rate.d.ts.map +1 -0
  89. package/dist/types/schemas/alpaca-schemas.d.ts +779 -0
  90. package/dist/types/schemas/alpaca-schemas.d.ts.map +1 -0
  91. package/dist/types/schemas/alphavantage-schemas.d.ts +255 -0
  92. package/dist/types/schemas/alphavantage-schemas.d.ts.map +1 -0
  93. package/dist/types/schemas/index.d.ts +21 -0
  94. package/dist/types/schemas/index.d.ts.map +1 -0
  95. package/dist/types/schemas/massive-schemas.d.ts +561 -0
  96. package/dist/types/schemas/massive-schemas.d.ts.map +1 -0
  97. package/dist/types/schemas/validate-response.d.ts +88 -0
  98. package/dist/types/schemas/validate-response.d.ts.map +1 -0
  99. package/dist/types/trading-policy/defaults/default-trading-policy.d.ts +29 -0
  100. package/dist/types/trading-policy/defaults/default-trading-policy.d.ts.map +1 -0
  101. package/dist/types/trading-policy/enums.d.ts +85 -0
  102. package/dist/types/trading-policy/enums.d.ts.map +1 -0
  103. package/dist/types/trading-policy/index.d.ts +13 -2
  104. package/dist/types/trading-policy/index.d.ts.map +1 -1
  105. package/dist/types/trading-policy/schemas/asset-universe-prefs.schema.d.ts +182 -0
  106. package/dist/types/trading-policy/schemas/asset-universe-prefs.schema.d.ts.map +1 -0
  107. package/dist/types/trading-policy/schemas/audit-notification-prefs.schema.d.ts +112 -0
  108. package/dist/types/trading-policy/schemas/audit-notification-prefs.schema.d.ts.map +1 -0
  109. package/dist/types/trading-policy/schemas/autonomy-prefs.schema.d.ts +369 -0
  110. package/dist/types/trading-policy/schemas/autonomy-prefs.schema.d.ts.map +1 -0
  111. package/dist/types/trading-policy/schemas/effective-policy.schema.d.ts +1703 -0
  112. package/dist/types/trading-policy/schemas/effective-policy.schema.d.ts.map +1 -0
  113. package/dist/types/trading-policy/schemas/execution-prefs.schema.d.ts +122 -0
  114. package/dist/types/trading-policy/schemas/execution-prefs.schema.d.ts.map +1 -0
  115. package/dist/types/trading-policy/schemas/index.d.ts +13 -0
  116. package/dist/types/trading-policy/schemas/index.d.ts.map +1 -0
  117. package/dist/types/trading-policy/schemas/model-prefs.schema.d.ts +249 -0
  118. package/dist/types/trading-policy/schemas/model-prefs.schema.d.ts.map +1 -0
  119. package/dist/types/trading-policy/schemas/overlay-response-prefs.schema.d.ts +217 -0
  120. package/dist/types/trading-policy/schemas/overlay-response-prefs.schema.d.ts.map +1 -0
  121. package/dist/types/trading-policy/schemas/policy-mutation.schema.d.ts +3031 -0
  122. package/dist/types/trading-policy/schemas/policy-mutation.schema.d.ts.map +1 -0
  123. package/dist/types/trading-policy/schemas/portfolio-construction-prefs.schema.d.ts +258 -0
  124. package/dist/types/trading-policy/schemas/portfolio-construction-prefs.schema.d.ts.map +1 -0
  125. package/dist/types/trading-policy/schemas/position-management-prefs.schema.d.ts +218 -0
  126. package/dist/types/trading-policy/schemas/position-management-prefs.schema.d.ts.map +1 -0
  127. package/dist/types/trading-policy/schemas/risk-budget-prefs.schema.d.ts +188 -0
  128. package/dist/types/trading-policy/schemas/risk-budget-prefs.schema.d.ts.map +1 -0
  129. package/dist/types/trading-policy/schemas/signal-consumption-prefs.schema.d.ts +274 -0
  130. package/dist/types/trading-policy/schemas/signal-consumption-prefs.schema.d.ts.map +1 -0
  131. package/dist/types/types/alpaca-types.d.ts +108 -17
  132. package/dist/types/types/alpaca-types.d.ts.map +1 -1
  133. package/dist/types/utils/paginator.d.ts +154 -0
  134. package/dist/types/utils/paginator.d.ts.map +1 -0
  135. package/dist/types/utils/retry.d.ts +83 -0
  136. package/dist/types/utils/retry.d.ts.map +1 -0
  137. package/package.json +5 -1
  138. package/dist/types/__tests__/financial-regression.test.d.ts +0 -2
  139. package/dist/types/__tests__/financial-regression.test.d.ts.map +0 -1
  140. package/dist/types/__tests__/price-utils.test.d.ts +0 -2
  141. package/dist/types/__tests__/price-utils.test.d.ts.map +0 -1
@@ -0,0 +1,188 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Risk budget preferences schema (section 7.3).
4
+ * Controls portfolio-level risk limits including concentration caps,
5
+ * drawdown thresholds, loss limits, and exposure constraints.
6
+ *
7
+ * The raw ZodObject variant (`RiskBudgetPrefsObjectSchema`) is exported
8
+ * for use with `deepPartial()`, which requires a ZodObject (not ZodDefault).
9
+ */
10
+ export declare const RiskBudgetPrefsObjectSchema: z.ZodObject<{
11
+ maxMarginUtilPct: z.ZodDefault<z.ZodNumber>;
12
+ maxIssuerConcentrationPct: z.ZodDefault<z.ZodNumber>;
13
+ maxThemeConcentrationPct: z.ZodDefault<z.ZodNumber>;
14
+ maxAssetClassConcentrationPct: z.ZodDefault<z.ZodNumber>;
15
+ maxCountryConcentrationPct: z.ZodDefault<z.ZodNumber>;
16
+ maxCurrencyExposurePct: z.ZodDefault<z.ZodNumber>;
17
+ maxCorrelatedExposurePct: z.ZodDefault<z.ZodNumber>;
18
+ betaTarget: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
19
+ maxBeta: z.ZodDefault<z.ZodNumber>;
20
+ maxRiskPerTradePct: z.ZodDefault<z.ZodNumber>;
21
+ maxLossPerDayPct: z.ZodDefault<z.ZodNumber>;
22
+ maxLossPerWeekPct: z.ZodDefault<z.ZodNumber>;
23
+ maxLossPerMonthPct: z.ZodDefault<z.ZodNumber>;
24
+ maxDrawdownFromPeakPct: z.ZodDefault<z.ZodNumber>;
25
+ maxSimultaneousSignalsPerStrategy: z.ZodDefault<z.ZodNumber>;
26
+ maxAggregateHeatPct: z.ZodDefault<z.ZodNumber>;
27
+ overnightExposureCapPct: z.ZodDefault<z.ZodNumber>;
28
+ weekendExposureCapPct: z.ZodDefault<z.ZodNumber>;
29
+ eventRiskExposureCapPct: z.ZodDefault<z.ZodNumber>;
30
+ gapRiskSensitivity: z.ZodDefault<z.ZodEnum<["low", "medium", "high"]>>;
31
+ /**
32
+ * Per-trade equity allocation as % of account equity. Replaces legacy AlpacaAccount.tradeAllocationPct.
33
+ * Smaller per-trade size (2% vs 5%) for scalping — shorter holds + higher
34
+ * concurrency demand smaller per-position bets.
35
+ */
36
+ perTradeAllocationPct: z.ZodDefault<z.ZodNumber>;
37
+ /** Per-trade crypto allocation as % of account equity. Replaces legacy AlpacaAccount.cryptoTradeAllocationPct. */
38
+ perTradeCryptoAllocationPct: z.ZodDefault<z.ZodNumber>;
39
+ /** Alpaca day-trading buying power check enforcement. Synced to Alpaca API. */
40
+ dtbpCheck: z.ZodDefault<z.ZodEnum<["both", "entry", "exit"]>>;
41
+ /** Alpaca pattern day trader rule enforcement. Synced to Alpaca API. */
42
+ pdtCheck: z.ZodDefault<z.ZodEnum<["both", "entry", "exit"]>>;
43
+ /** Strict PDT enforcement — block all violations without exception. Synced to Alpaca API. */
44
+ ptpNoExceptionEntry: z.ZodDefault<z.ZodBoolean>;
45
+ }, "strip", z.ZodTypeAny, {
46
+ maxMarginUtilPct: number;
47
+ maxIssuerConcentrationPct: number;
48
+ maxThemeConcentrationPct: number;
49
+ maxAssetClassConcentrationPct: number;
50
+ maxCountryConcentrationPct: number;
51
+ maxCurrencyExposurePct: number;
52
+ maxCorrelatedExposurePct: number;
53
+ betaTarget: number | null;
54
+ maxBeta: number;
55
+ maxRiskPerTradePct: number;
56
+ maxLossPerDayPct: number;
57
+ maxLossPerWeekPct: number;
58
+ maxLossPerMonthPct: number;
59
+ maxDrawdownFromPeakPct: number;
60
+ maxSimultaneousSignalsPerStrategy: number;
61
+ maxAggregateHeatPct: number;
62
+ overnightExposureCapPct: number;
63
+ weekendExposureCapPct: number;
64
+ eventRiskExposureCapPct: number;
65
+ gapRiskSensitivity: "low" | "medium" | "high";
66
+ perTradeAllocationPct: number;
67
+ perTradeCryptoAllocationPct: number;
68
+ dtbpCheck: "both" | "entry" | "exit";
69
+ pdtCheck: "both" | "entry" | "exit";
70
+ ptpNoExceptionEntry: boolean;
71
+ }, {
72
+ maxMarginUtilPct?: number | undefined;
73
+ maxIssuerConcentrationPct?: number | undefined;
74
+ maxThemeConcentrationPct?: number | undefined;
75
+ maxAssetClassConcentrationPct?: number | undefined;
76
+ maxCountryConcentrationPct?: number | undefined;
77
+ maxCurrencyExposurePct?: number | undefined;
78
+ maxCorrelatedExposurePct?: number | undefined;
79
+ betaTarget?: number | null | undefined;
80
+ maxBeta?: number | undefined;
81
+ maxRiskPerTradePct?: number | undefined;
82
+ maxLossPerDayPct?: number | undefined;
83
+ maxLossPerWeekPct?: number | undefined;
84
+ maxLossPerMonthPct?: number | undefined;
85
+ maxDrawdownFromPeakPct?: number | undefined;
86
+ maxSimultaneousSignalsPerStrategy?: number | undefined;
87
+ maxAggregateHeatPct?: number | undefined;
88
+ overnightExposureCapPct?: number | undefined;
89
+ weekendExposureCapPct?: number | undefined;
90
+ eventRiskExposureCapPct?: number | undefined;
91
+ gapRiskSensitivity?: "low" | "medium" | "high" | undefined;
92
+ perTradeAllocationPct?: number | undefined;
93
+ perTradeCryptoAllocationPct?: number | undefined;
94
+ dtbpCheck?: "both" | "entry" | "exit" | undefined;
95
+ pdtCheck?: "both" | "entry" | "exit" | undefined;
96
+ ptpNoExceptionEntry?: boolean | undefined;
97
+ }>;
98
+ export declare const RiskBudgetPrefsSchema: z.ZodDefault<z.ZodObject<{
99
+ maxMarginUtilPct: z.ZodDefault<z.ZodNumber>;
100
+ maxIssuerConcentrationPct: z.ZodDefault<z.ZodNumber>;
101
+ maxThemeConcentrationPct: z.ZodDefault<z.ZodNumber>;
102
+ maxAssetClassConcentrationPct: z.ZodDefault<z.ZodNumber>;
103
+ maxCountryConcentrationPct: z.ZodDefault<z.ZodNumber>;
104
+ maxCurrencyExposurePct: z.ZodDefault<z.ZodNumber>;
105
+ maxCorrelatedExposurePct: z.ZodDefault<z.ZodNumber>;
106
+ betaTarget: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
107
+ maxBeta: z.ZodDefault<z.ZodNumber>;
108
+ maxRiskPerTradePct: z.ZodDefault<z.ZodNumber>;
109
+ maxLossPerDayPct: z.ZodDefault<z.ZodNumber>;
110
+ maxLossPerWeekPct: z.ZodDefault<z.ZodNumber>;
111
+ maxLossPerMonthPct: z.ZodDefault<z.ZodNumber>;
112
+ maxDrawdownFromPeakPct: z.ZodDefault<z.ZodNumber>;
113
+ maxSimultaneousSignalsPerStrategy: z.ZodDefault<z.ZodNumber>;
114
+ maxAggregateHeatPct: z.ZodDefault<z.ZodNumber>;
115
+ overnightExposureCapPct: z.ZodDefault<z.ZodNumber>;
116
+ weekendExposureCapPct: z.ZodDefault<z.ZodNumber>;
117
+ eventRiskExposureCapPct: z.ZodDefault<z.ZodNumber>;
118
+ gapRiskSensitivity: z.ZodDefault<z.ZodEnum<["low", "medium", "high"]>>;
119
+ /**
120
+ * Per-trade equity allocation as % of account equity. Replaces legacy AlpacaAccount.tradeAllocationPct.
121
+ * Smaller per-trade size (2% vs 5%) for scalping — shorter holds + higher
122
+ * concurrency demand smaller per-position bets.
123
+ */
124
+ perTradeAllocationPct: z.ZodDefault<z.ZodNumber>;
125
+ /** Per-trade crypto allocation as % of account equity. Replaces legacy AlpacaAccount.cryptoTradeAllocationPct. */
126
+ perTradeCryptoAllocationPct: z.ZodDefault<z.ZodNumber>;
127
+ /** Alpaca day-trading buying power check enforcement. Synced to Alpaca API. */
128
+ dtbpCheck: z.ZodDefault<z.ZodEnum<["both", "entry", "exit"]>>;
129
+ /** Alpaca pattern day trader rule enforcement. Synced to Alpaca API. */
130
+ pdtCheck: z.ZodDefault<z.ZodEnum<["both", "entry", "exit"]>>;
131
+ /** Strict PDT enforcement — block all violations without exception. Synced to Alpaca API. */
132
+ ptpNoExceptionEntry: z.ZodDefault<z.ZodBoolean>;
133
+ }, "strip", z.ZodTypeAny, {
134
+ maxMarginUtilPct: number;
135
+ maxIssuerConcentrationPct: number;
136
+ maxThemeConcentrationPct: number;
137
+ maxAssetClassConcentrationPct: number;
138
+ maxCountryConcentrationPct: number;
139
+ maxCurrencyExposurePct: number;
140
+ maxCorrelatedExposurePct: number;
141
+ betaTarget: number | null;
142
+ maxBeta: number;
143
+ maxRiskPerTradePct: number;
144
+ maxLossPerDayPct: number;
145
+ maxLossPerWeekPct: number;
146
+ maxLossPerMonthPct: number;
147
+ maxDrawdownFromPeakPct: number;
148
+ maxSimultaneousSignalsPerStrategy: number;
149
+ maxAggregateHeatPct: number;
150
+ overnightExposureCapPct: number;
151
+ weekendExposureCapPct: number;
152
+ eventRiskExposureCapPct: number;
153
+ gapRiskSensitivity: "low" | "medium" | "high";
154
+ perTradeAllocationPct: number;
155
+ perTradeCryptoAllocationPct: number;
156
+ dtbpCheck: "both" | "entry" | "exit";
157
+ pdtCheck: "both" | "entry" | "exit";
158
+ ptpNoExceptionEntry: boolean;
159
+ }, {
160
+ maxMarginUtilPct?: number | undefined;
161
+ maxIssuerConcentrationPct?: number | undefined;
162
+ maxThemeConcentrationPct?: number | undefined;
163
+ maxAssetClassConcentrationPct?: number | undefined;
164
+ maxCountryConcentrationPct?: number | undefined;
165
+ maxCurrencyExposurePct?: number | undefined;
166
+ maxCorrelatedExposurePct?: number | undefined;
167
+ betaTarget?: number | null | undefined;
168
+ maxBeta?: number | undefined;
169
+ maxRiskPerTradePct?: number | undefined;
170
+ maxLossPerDayPct?: number | undefined;
171
+ maxLossPerWeekPct?: number | undefined;
172
+ maxLossPerMonthPct?: number | undefined;
173
+ maxDrawdownFromPeakPct?: number | undefined;
174
+ maxSimultaneousSignalsPerStrategy?: number | undefined;
175
+ maxAggregateHeatPct?: number | undefined;
176
+ overnightExposureCapPct?: number | undefined;
177
+ weekendExposureCapPct?: number | undefined;
178
+ eventRiskExposureCapPct?: number | undefined;
179
+ gapRiskSensitivity?: "low" | "medium" | "high" | undefined;
180
+ perTradeAllocationPct?: number | undefined;
181
+ perTradeCryptoAllocationPct?: number | undefined;
182
+ dtbpCheck?: "both" | "entry" | "exit" | undefined;
183
+ pdtCheck?: "both" | "entry" | "exit" | undefined;
184
+ ptpNoExceptionEntry?: boolean | undefined;
185
+ }>>;
186
+ /** Inferred TypeScript type for risk budget preferences. */
187
+ export type RiskBudgetPrefs = z.infer<typeof RiskBudgetPrefsSchema>;
188
+ //# sourceMappingURL=risk-budget-prefs.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"risk-budget-prefs.schema.d.ts","sourceRoot":"","sources":["../../../../src/trading-policy/schemas/risk-budget-prefs.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;IA4BtC;;;;OAIG;;IAEH,kHAAkH;;IAGlH,+EAA+E;;IAE/E,wEAAwE;;IAExE,6FAA6F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE7F,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;IAjBhC;;;;OAIG;;IAEH,kHAAkH;;IAGlH,+EAA+E;;IAE/E,wEAAwE;;IAExE,6FAA6F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAInB,CAAC;AAE7E,4DAA4D;AAC5D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1,274 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Signal consumption preferences schema (section 7.4).
4
+ * Controls how incoming trade signals are filtered, throttled,
5
+ * prioritized, and handled when conflicts arise.
6
+ *
7
+ * The raw ZodObject variant (`SignalConsumptionPrefsObjectSchema`) is exported
8
+ * for use with `deepPartial()`, which requires a ZodObject (not ZodDefault).
9
+ */
10
+ export declare const SignalConsumptionPrefsObjectSchema: z.ZodObject<{
11
+ enabledStrategies: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
12
+ disabledStrategies: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
13
+ minConfidenceByDefault: z.ZodDefault<z.ZodNumber>;
14
+ minConfidenceByAssetClass: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>;
15
+ minConfidenceByStrategy: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>;
16
+ minExpectedRewardRiskRatio: z.ZodDefault<z.ZodNumber>;
17
+ minExpectedEdgePct: z.ZodDefault<z.ZodNumber>;
18
+ maxSignalAgeSeconds: z.ZodDefault<z.ZodNumber>;
19
+ cooldownAfterEntrySeconds: z.ZodDefault<z.ZodNumber>;
20
+ cooldownAfterExitSeconds: z.ZodDefault<z.ZodNumber>;
21
+ cooldownAfterStopOutSeconds: z.ZodDefault<z.ZodNumber>;
22
+ cooldownAfterFailedTradeSeconds: z.ZodDefault<z.ZodNumber>;
23
+ duplicateSignalSuppressionWindowSeconds: z.ZodDefault<z.ZodNumber>;
24
+ reversalHandlingPolicy: z.ZodDefault<z.ZodEnum<["ignore_reversal", "close_only", "flatten_then_reverse", "allow_full_reversal"]>>;
25
+ conflictHandlingOpenOrders: z.ZodDefault<z.ZodEnum<["cancel_conflicting", "replace_existing", "keep_existing_skip", "escalate"]>>;
26
+ conflictHandlingOpposingPosition: z.ZodDefault<z.ZodEnum<["reduce", "close", "flatten_then_reverse", "hold"]>>;
27
+ minConvictionDeltaToModify: z.ZodDefault<z.ZodNumber>;
28
+ strategyPriorityRules: z.ZodDefault<z.ZodArray<z.ZodObject<{
29
+ strategy: z.ZodString;
30
+ priority: z.ZodNumber;
31
+ }, "strip", z.ZodTypeAny, {
32
+ strategy: string;
33
+ priority: number;
34
+ }, {
35
+ strategy: string;
36
+ priority: number;
37
+ }>, "many">>;
38
+ noTradeWindows: z.ZodDefault<z.ZodArray<z.ZodObject<{
39
+ name: z.ZodString;
40
+ startTime: z.ZodString;
41
+ endTime: z.ZodString;
42
+ daysOfWeek: z.ZodDefault<z.ZodArray<z.ZodNumber, "many">>;
43
+ enabled: z.ZodDefault<z.ZodBoolean>;
44
+ }, "strip", z.ZodTypeAny, {
45
+ name: string;
46
+ startTime: string;
47
+ endTime: string;
48
+ daysOfWeek: number[];
49
+ enabled: boolean;
50
+ }, {
51
+ name: string;
52
+ startTime: string;
53
+ endTime: string;
54
+ daysOfWeek?: number[] | undefined;
55
+ enabled?: boolean | undefined;
56
+ }>, "many">>;
57
+ earningsBlackoutEnabled: z.ZodDefault<z.ZodBoolean>;
58
+ earningsBlackoutHoursBefore: z.ZodDefault<z.ZodNumber>;
59
+ earningsBlackoutHoursAfter: z.ZodDefault<z.ZodNumber>;
60
+ /**
61
+ * Minimum price movement % to qualify as a tradeable signal. Replaces legacy AlpacaAccount.minPercentageChange.
62
+ * Tighter intraday move filter (15bps vs 50bps) — scalping captures
63
+ * sub-percent moves that the swing-trading default would have ignored.
64
+ */
65
+ minPercentageChange: z.ZodDefault<z.ZodNumber>;
66
+ /**
67
+ * Minimum average daily volume to qualify a symbol for trading. Replaces legacy AlpacaAccount.volumeThreshold.
68
+ * Higher floor (100k vs 50k) — scalping requires consistent liquidity to
69
+ * keep slippage within the tightened maxSlippageTolerancePct (0.3%).
70
+ */
71
+ volumeThreshold: z.ZodDefault<z.ZodNumber>;
72
+ }, "strip", z.ZodTypeAny, {
73
+ minPercentageChange: number;
74
+ volumeThreshold: number;
75
+ enabledStrategies: string[];
76
+ disabledStrategies: string[];
77
+ minConfidenceByDefault: number;
78
+ minConfidenceByAssetClass: Record<string, number>;
79
+ minConfidenceByStrategy: Record<string, number>;
80
+ minExpectedRewardRiskRatio: number;
81
+ minExpectedEdgePct: number;
82
+ maxSignalAgeSeconds: number;
83
+ cooldownAfterEntrySeconds: number;
84
+ cooldownAfterExitSeconds: number;
85
+ cooldownAfterStopOutSeconds: number;
86
+ cooldownAfterFailedTradeSeconds: number;
87
+ duplicateSignalSuppressionWindowSeconds: number;
88
+ reversalHandlingPolicy: "ignore_reversal" | "close_only" | "flatten_then_reverse" | "allow_full_reversal";
89
+ conflictHandlingOpenOrders: "cancel_conflicting" | "replace_existing" | "keep_existing_skip" | "escalate";
90
+ conflictHandlingOpposingPosition: "close" | "reduce" | "flatten_then_reverse" | "hold";
91
+ minConvictionDeltaToModify: number;
92
+ strategyPriorityRules: {
93
+ strategy: string;
94
+ priority: number;
95
+ }[];
96
+ noTradeWindows: {
97
+ name: string;
98
+ startTime: string;
99
+ endTime: string;
100
+ daysOfWeek: number[];
101
+ enabled: boolean;
102
+ }[];
103
+ earningsBlackoutEnabled: boolean;
104
+ earningsBlackoutHoursBefore: number;
105
+ earningsBlackoutHoursAfter: number;
106
+ }, {
107
+ minPercentageChange?: number | undefined;
108
+ volumeThreshold?: number | undefined;
109
+ enabledStrategies?: string[] | undefined;
110
+ disabledStrategies?: string[] | undefined;
111
+ minConfidenceByDefault?: number | undefined;
112
+ minConfidenceByAssetClass?: Record<string, number> | undefined;
113
+ minConfidenceByStrategy?: Record<string, number> | undefined;
114
+ minExpectedRewardRiskRatio?: number | undefined;
115
+ minExpectedEdgePct?: number | undefined;
116
+ maxSignalAgeSeconds?: number | undefined;
117
+ cooldownAfterEntrySeconds?: number | undefined;
118
+ cooldownAfterExitSeconds?: number | undefined;
119
+ cooldownAfterStopOutSeconds?: number | undefined;
120
+ cooldownAfterFailedTradeSeconds?: number | undefined;
121
+ duplicateSignalSuppressionWindowSeconds?: number | undefined;
122
+ reversalHandlingPolicy?: "ignore_reversal" | "close_only" | "flatten_then_reverse" | "allow_full_reversal" | undefined;
123
+ conflictHandlingOpenOrders?: "cancel_conflicting" | "replace_existing" | "keep_existing_skip" | "escalate" | undefined;
124
+ conflictHandlingOpposingPosition?: "close" | "reduce" | "flatten_then_reverse" | "hold" | undefined;
125
+ minConvictionDeltaToModify?: number | undefined;
126
+ strategyPriorityRules?: {
127
+ strategy: string;
128
+ priority: number;
129
+ }[] | undefined;
130
+ noTradeWindows?: {
131
+ name: string;
132
+ startTime: string;
133
+ endTime: string;
134
+ daysOfWeek?: number[] | undefined;
135
+ enabled?: boolean | undefined;
136
+ }[] | undefined;
137
+ earningsBlackoutEnabled?: boolean | undefined;
138
+ earningsBlackoutHoursBefore?: number | undefined;
139
+ earningsBlackoutHoursAfter?: number | undefined;
140
+ }>;
141
+ export declare const SignalConsumptionPrefsSchema: z.ZodDefault<z.ZodObject<{
142
+ enabledStrategies: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
143
+ disabledStrategies: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
144
+ minConfidenceByDefault: z.ZodDefault<z.ZodNumber>;
145
+ minConfidenceByAssetClass: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>;
146
+ minConfidenceByStrategy: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>;
147
+ minExpectedRewardRiskRatio: z.ZodDefault<z.ZodNumber>;
148
+ minExpectedEdgePct: z.ZodDefault<z.ZodNumber>;
149
+ maxSignalAgeSeconds: z.ZodDefault<z.ZodNumber>;
150
+ cooldownAfterEntrySeconds: z.ZodDefault<z.ZodNumber>;
151
+ cooldownAfterExitSeconds: z.ZodDefault<z.ZodNumber>;
152
+ cooldownAfterStopOutSeconds: z.ZodDefault<z.ZodNumber>;
153
+ cooldownAfterFailedTradeSeconds: z.ZodDefault<z.ZodNumber>;
154
+ duplicateSignalSuppressionWindowSeconds: z.ZodDefault<z.ZodNumber>;
155
+ reversalHandlingPolicy: z.ZodDefault<z.ZodEnum<["ignore_reversal", "close_only", "flatten_then_reverse", "allow_full_reversal"]>>;
156
+ conflictHandlingOpenOrders: z.ZodDefault<z.ZodEnum<["cancel_conflicting", "replace_existing", "keep_existing_skip", "escalate"]>>;
157
+ conflictHandlingOpposingPosition: z.ZodDefault<z.ZodEnum<["reduce", "close", "flatten_then_reverse", "hold"]>>;
158
+ minConvictionDeltaToModify: z.ZodDefault<z.ZodNumber>;
159
+ strategyPriorityRules: z.ZodDefault<z.ZodArray<z.ZodObject<{
160
+ strategy: z.ZodString;
161
+ priority: z.ZodNumber;
162
+ }, "strip", z.ZodTypeAny, {
163
+ strategy: string;
164
+ priority: number;
165
+ }, {
166
+ strategy: string;
167
+ priority: number;
168
+ }>, "many">>;
169
+ noTradeWindows: z.ZodDefault<z.ZodArray<z.ZodObject<{
170
+ name: z.ZodString;
171
+ startTime: z.ZodString;
172
+ endTime: z.ZodString;
173
+ daysOfWeek: z.ZodDefault<z.ZodArray<z.ZodNumber, "many">>;
174
+ enabled: z.ZodDefault<z.ZodBoolean>;
175
+ }, "strip", z.ZodTypeAny, {
176
+ name: string;
177
+ startTime: string;
178
+ endTime: string;
179
+ daysOfWeek: number[];
180
+ enabled: boolean;
181
+ }, {
182
+ name: string;
183
+ startTime: string;
184
+ endTime: string;
185
+ daysOfWeek?: number[] | undefined;
186
+ enabled?: boolean | undefined;
187
+ }>, "many">>;
188
+ earningsBlackoutEnabled: z.ZodDefault<z.ZodBoolean>;
189
+ earningsBlackoutHoursBefore: z.ZodDefault<z.ZodNumber>;
190
+ earningsBlackoutHoursAfter: z.ZodDefault<z.ZodNumber>;
191
+ /**
192
+ * Minimum price movement % to qualify as a tradeable signal. Replaces legacy AlpacaAccount.minPercentageChange.
193
+ * Tighter intraday move filter (15bps vs 50bps) — scalping captures
194
+ * sub-percent moves that the swing-trading default would have ignored.
195
+ */
196
+ minPercentageChange: z.ZodDefault<z.ZodNumber>;
197
+ /**
198
+ * Minimum average daily volume to qualify a symbol for trading. Replaces legacy AlpacaAccount.volumeThreshold.
199
+ * Higher floor (100k vs 50k) — scalping requires consistent liquidity to
200
+ * keep slippage within the tightened maxSlippageTolerancePct (0.3%).
201
+ */
202
+ volumeThreshold: z.ZodDefault<z.ZodNumber>;
203
+ }, "strip", z.ZodTypeAny, {
204
+ minPercentageChange: number;
205
+ volumeThreshold: number;
206
+ enabledStrategies: string[];
207
+ disabledStrategies: string[];
208
+ minConfidenceByDefault: number;
209
+ minConfidenceByAssetClass: Record<string, number>;
210
+ minConfidenceByStrategy: Record<string, number>;
211
+ minExpectedRewardRiskRatio: number;
212
+ minExpectedEdgePct: number;
213
+ maxSignalAgeSeconds: number;
214
+ cooldownAfterEntrySeconds: number;
215
+ cooldownAfterExitSeconds: number;
216
+ cooldownAfterStopOutSeconds: number;
217
+ cooldownAfterFailedTradeSeconds: number;
218
+ duplicateSignalSuppressionWindowSeconds: number;
219
+ reversalHandlingPolicy: "ignore_reversal" | "close_only" | "flatten_then_reverse" | "allow_full_reversal";
220
+ conflictHandlingOpenOrders: "cancel_conflicting" | "replace_existing" | "keep_existing_skip" | "escalate";
221
+ conflictHandlingOpposingPosition: "close" | "reduce" | "flatten_then_reverse" | "hold";
222
+ minConvictionDeltaToModify: number;
223
+ strategyPriorityRules: {
224
+ strategy: string;
225
+ priority: number;
226
+ }[];
227
+ noTradeWindows: {
228
+ name: string;
229
+ startTime: string;
230
+ endTime: string;
231
+ daysOfWeek: number[];
232
+ enabled: boolean;
233
+ }[];
234
+ earningsBlackoutEnabled: boolean;
235
+ earningsBlackoutHoursBefore: number;
236
+ earningsBlackoutHoursAfter: number;
237
+ }, {
238
+ minPercentageChange?: number | undefined;
239
+ volumeThreshold?: number | undefined;
240
+ enabledStrategies?: string[] | undefined;
241
+ disabledStrategies?: string[] | undefined;
242
+ minConfidenceByDefault?: number | undefined;
243
+ minConfidenceByAssetClass?: Record<string, number> | undefined;
244
+ minConfidenceByStrategy?: Record<string, number> | undefined;
245
+ minExpectedRewardRiskRatio?: number | undefined;
246
+ minExpectedEdgePct?: number | undefined;
247
+ maxSignalAgeSeconds?: number | undefined;
248
+ cooldownAfterEntrySeconds?: number | undefined;
249
+ cooldownAfterExitSeconds?: number | undefined;
250
+ cooldownAfterStopOutSeconds?: number | undefined;
251
+ cooldownAfterFailedTradeSeconds?: number | undefined;
252
+ duplicateSignalSuppressionWindowSeconds?: number | undefined;
253
+ reversalHandlingPolicy?: "ignore_reversal" | "close_only" | "flatten_then_reverse" | "allow_full_reversal" | undefined;
254
+ conflictHandlingOpenOrders?: "cancel_conflicting" | "replace_existing" | "keep_existing_skip" | "escalate" | undefined;
255
+ conflictHandlingOpposingPosition?: "close" | "reduce" | "flatten_then_reverse" | "hold" | undefined;
256
+ minConvictionDeltaToModify?: number | undefined;
257
+ strategyPriorityRules?: {
258
+ strategy: string;
259
+ priority: number;
260
+ }[] | undefined;
261
+ noTradeWindows?: {
262
+ name: string;
263
+ startTime: string;
264
+ endTime: string;
265
+ daysOfWeek?: number[] | undefined;
266
+ enabled?: boolean | undefined;
267
+ }[] | undefined;
268
+ earningsBlackoutEnabled?: boolean | undefined;
269
+ earningsBlackoutHoursBefore?: number | undefined;
270
+ earningsBlackoutHoursAfter?: number | undefined;
271
+ }>>;
272
+ /** Inferred TypeScript type for signal consumption preferences. */
273
+ export type SignalConsumptionPrefs = z.infer<typeof SignalConsumptionPrefsSchema>;
274
+ //# sourceMappingURL=signal-consumption-prefs.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signal-consumption-prefs.schema.d.ts","sourceRoot":"","sources":["../../../../src/trading-policy/schemas/signal-consumption-prefs.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiBxB;;;;;;;GAOG;AACH,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqD7C;;;;OAIG;;IAEH;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEH,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAdvC;;;;OAIG;;IAEH;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAK2C,CAAC;AAEjD,mEAAmE;AACnE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAC1C,OAAO,4BAA4B,CACpC,CAAC"}