@pear-protocol/types 0.0.21 → 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.
Files changed (78) hide show
  1. package/dist/admin/client-ids/entities.d.ts +11 -0
  2. package/dist/admin/client-ids/entities.js +13 -0
  3. package/dist/admin/client-ids/index.d.ts +4 -0
  4. package/dist/admin/client-ids/index.js +4 -0
  5. package/dist/admin/client-ids/payloads.d.ts +14 -0
  6. package/dist/admin/client-ids/payloads.js +13 -0
  7. package/dist/admin/client-ids/queries.d.ts +10 -0
  8. package/dist/admin/client-ids/queries.js +7 -0
  9. package/dist/admin/client-ids/responses.d.ts +11 -0
  10. package/dist/admin/client-ids/responses.js +6 -0
  11. package/dist/auth/api-keys.d.ts +67 -0
  12. package/dist/auth/api-keys.js +35 -0
  13. package/dist/auth/entities.d.ts +1 -0
  14. package/dist/auth/entities.js +1 -1
  15. package/dist/auth/index.d.ts +1 -0
  16. package/dist/auth/index.js +1 -0
  17. package/dist/auth/response.d.ts +2 -0
  18. package/dist/bundle.d.ts +5 -0
  19. package/dist/bundle.js +5 -0
  20. package/dist/common/client-id.d.ts +2 -0
  21. package/dist/common/client-id.js +5 -0
  22. package/dist/common/index.d.ts +1 -0
  23. package/dist/common/index.js +1 -0
  24. package/dist/instrument/queries.d.ts +2 -2
  25. package/dist/market/entities.d.ts +66 -0
  26. package/dist/market/entities.js +42 -0
  27. package/dist/market/index.d.ts +3 -0
  28. package/dist/market/index.js +3 -0
  29. package/dist/market/queries.d.ts +38 -0
  30. package/dist/market/queries.js +19 -0
  31. package/dist/market/responses.d.ts +72 -0
  32. package/dist/market/responses.js +15 -0
  33. package/dist/portfolio/entities.d.ts +199 -0
  34. package/dist/portfolio/entities.js +100 -0
  35. package/dist/portfolio/index.d.ts +3 -0
  36. package/dist/portfolio/index.js +3 -0
  37. package/dist/portfolio/queries.d.ts +46 -0
  38. package/dist/portfolio/queries.js +20 -0
  39. package/dist/portfolio/responses.d.ts +172 -0
  40. package/dist/portfolio/responses.js +16 -0
  41. package/dist/rebalance/payloads.d.ts +1 -0
  42. package/dist/rebalance/payloads.js +6 -1
  43. package/dist/schedule/payloads.d.ts +4 -0
  44. package/dist/schedule/payloads.js +11 -2
  45. package/dist/tca/entities.d.ts +8 -0
  46. package/dist/tca/entities.js +6 -0
  47. package/dist/tca/index.d.ts +3 -0
  48. package/dist/tca/index.js +3 -0
  49. package/dist/tca/queries.d.ts +15 -0
  50. package/dist/tca/queries.js +14 -0
  51. package/dist/tca/responses.d.ts +353 -0
  52. package/dist/tca/responses.js +105 -0
  53. package/dist/trade/payloads.d.ts +8 -0
  54. package/dist/trade/payloads.js +21 -4
  55. package/dist/trigger/entities/conditions.d.ts +170 -0
  56. package/dist/trigger/entities/conditions.js +43 -3
  57. package/dist/trigger/entities/index.d.ts +369 -0
  58. package/dist/trigger/index.d.ts +1 -0
  59. package/dist/trigger/index.js +1 -0
  60. package/dist/trigger/oracle.d.ts +31 -0
  61. package/dist/trigger/oracle.js +15 -0
  62. package/dist/trigger/payloads/conditions.d.ts +50 -0
  63. package/dist/trigger/payloads/conditions.js +35 -1
  64. package/dist/trigger/payloads/index.d.ts +90 -0
  65. package/dist/trigger/payloads/index.js +16 -3
  66. package/dist/trigger/responses.d.ts +246 -0
  67. package/dist/triggers/entities.d.ts +34 -0
  68. package/dist/triggers/entities.js +21 -0
  69. package/dist/triggers/index.d.ts +3 -0
  70. package/dist/triggers/index.js +3 -0
  71. package/dist/triggers/queries.d.ts +8 -0
  72. package/dist/triggers/queries.js +10 -0
  73. package/dist/triggers/responses.d.ts +26 -0
  74. package/dist/triggers/responses.js +9 -0
  75. package/dist/users/entities.d.ts +1 -0
  76. package/dist/users/entities.js +1 -1
  77. package/dist/users/response.d.ts +1 -0
  78. package/package.json +1 -1
@@ -0,0 +1,199 @@
1
+ import { z } from 'zod';
2
+ export declare const NullableNumber: z.ZodNullable<z.ZodNumber>;
3
+ export declare const PortfolioMetricVariant: z.ZodObject<{
4
+ pnlAbsolute: z.ZodNumber;
5
+ pnlPercent: z.ZodNullable<z.ZodNumber>;
6
+ hitRate: z.ZodNullable<z.ZodNumber>;
7
+ profitFactor: z.ZodNullable<z.ZodNumber>;
8
+ avgWinSize: z.ZodNullable<z.ZodNumber>;
9
+ avgLossSize: z.ZodNullable<z.ZodNumber>;
10
+ avgReturnPerWin: z.ZodNullable<z.ZodNumber>;
11
+ avgReturnPerLoss: z.ZodNullable<z.ZodNumber>;
12
+ maxDrawdown: z.ZodNullable<z.ZodNumber>;
13
+ sharpeRatio: z.ZodNullable<z.ZodNumber>;
14
+ sortinoRatio: z.ZodNullable<z.ZodNumber>;
15
+ }, z.core.$strip>;
16
+ export type PortfolioMetricVariant = z.output<typeof PortfolioMetricVariant>;
17
+ export declare const PortfolioIntervalBucket: z.ZodObject<{
18
+ periodStart: z.ZodString;
19
+ periodEnd: z.ZodString;
20
+ volume: z.ZodNumber;
21
+ openInterest: z.ZodNumber;
22
+ winningTradesCount: z.ZodNumber;
23
+ winningTradesUsd: z.ZodNumber;
24
+ losingTradesCount: z.ZodNumber;
25
+ losingTradesUsd: z.ZodNumber;
26
+ }, z.core.$strip>;
27
+ export type PortfolioIntervalBucket = z.output<typeof PortfolioIntervalBucket>;
28
+ export declare const PortfolioIntervals: z.ZodObject<{
29
+ oneDay: z.ZodArray<z.ZodObject<{
30
+ periodStart: z.ZodString;
31
+ periodEnd: z.ZodString;
32
+ volume: z.ZodNumber;
33
+ openInterest: z.ZodNumber;
34
+ winningTradesCount: z.ZodNumber;
35
+ winningTradesUsd: z.ZodNumber;
36
+ losingTradesCount: z.ZodNumber;
37
+ losingTradesUsd: z.ZodNumber;
38
+ }, z.core.$strip>>;
39
+ oneWeek: z.ZodArray<z.ZodObject<{
40
+ periodStart: z.ZodString;
41
+ periodEnd: z.ZodString;
42
+ volume: z.ZodNumber;
43
+ openInterest: z.ZodNumber;
44
+ winningTradesCount: z.ZodNumber;
45
+ winningTradesUsd: z.ZodNumber;
46
+ losingTradesCount: z.ZodNumber;
47
+ losingTradesUsd: z.ZodNumber;
48
+ }, z.core.$strip>>;
49
+ oneMonth: z.ZodArray<z.ZodObject<{
50
+ periodStart: z.ZodString;
51
+ periodEnd: z.ZodString;
52
+ volume: z.ZodNumber;
53
+ openInterest: z.ZodNumber;
54
+ winningTradesCount: z.ZodNumber;
55
+ winningTradesUsd: z.ZodNumber;
56
+ losingTradesCount: z.ZodNumber;
57
+ losingTradesUsd: z.ZodNumber;
58
+ }, z.core.$strip>>;
59
+ oneYear: z.ZodArray<z.ZodObject<{
60
+ periodStart: z.ZodString;
61
+ periodEnd: z.ZodString;
62
+ volume: z.ZodNumber;
63
+ openInterest: z.ZodNumber;
64
+ winningTradesCount: z.ZodNumber;
65
+ winningTradesUsd: z.ZodNumber;
66
+ losingTradesCount: z.ZodNumber;
67
+ losingTradesUsd: z.ZodNumber;
68
+ }, z.core.$strip>>;
69
+ all: z.ZodArray<z.ZodObject<{
70
+ periodStart: z.ZodString;
71
+ periodEnd: z.ZodString;
72
+ volume: z.ZodNumber;
73
+ openInterest: z.ZodNumber;
74
+ winningTradesCount: z.ZodNumber;
75
+ winningTradesUsd: z.ZodNumber;
76
+ losingTradesCount: z.ZodNumber;
77
+ losingTradesUsd: z.ZodNumber;
78
+ }, z.core.$strip>>;
79
+ }, z.core.$strip>;
80
+ export type PortfolioIntervals = z.output<typeof PortfolioIntervals>;
81
+ export declare const PortfolioOverall: z.ZodObject<{
82
+ totalWinningTradesCount: z.ZodNumber;
83
+ totalLosingTradesCount: z.ZodNumber;
84
+ totalWinningUsd: z.ZodNumber;
85
+ totalLosingUsd: z.ZodNumber;
86
+ currentOpenInterest: z.ZodNumber;
87
+ currentTotalVolume: z.ZodNumber;
88
+ unrealizedPnl: z.ZodNumber;
89
+ realizedPnl: z.ZodNumber;
90
+ totalFees: z.ZodNumber;
91
+ totalTrades: z.ZodNumber;
92
+ }, z.core.$strip>;
93
+ export type PortfolioOverall = z.output<typeof PortfolioOverall>;
94
+ export declare const PortfolioMetrics: z.ZodObject<{
95
+ realizedOnly: z.ZodObject<{
96
+ pnlAbsolute: z.ZodNumber;
97
+ pnlPercent: z.ZodNullable<z.ZodNumber>;
98
+ hitRate: z.ZodNullable<z.ZodNumber>;
99
+ profitFactor: z.ZodNullable<z.ZodNumber>;
100
+ avgWinSize: z.ZodNullable<z.ZodNumber>;
101
+ avgLossSize: z.ZodNullable<z.ZodNumber>;
102
+ avgReturnPerWin: z.ZodNullable<z.ZodNumber>;
103
+ avgReturnPerLoss: z.ZodNullable<z.ZodNumber>;
104
+ maxDrawdown: z.ZodNullable<z.ZodNumber>;
105
+ sharpeRatio: z.ZodNullable<z.ZodNumber>;
106
+ sortinoRatio: z.ZodNullable<z.ZodNumber>;
107
+ }, z.core.$strip>;
108
+ realizedPlusUnrealized: z.ZodObject<{
109
+ pnlAbsolute: z.ZodNumber;
110
+ pnlPercent: z.ZodNullable<z.ZodNumber>;
111
+ hitRate: z.ZodNullable<z.ZodNumber>;
112
+ profitFactor: z.ZodNullable<z.ZodNumber>;
113
+ avgWinSize: z.ZodNullable<z.ZodNumber>;
114
+ avgLossSize: z.ZodNullable<z.ZodNumber>;
115
+ avgReturnPerWin: z.ZodNullable<z.ZodNumber>;
116
+ avgReturnPerLoss: z.ZodNullable<z.ZodNumber>;
117
+ maxDrawdown: z.ZodNullable<z.ZodNumber>;
118
+ sharpeRatio: z.ZodNullable<z.ZodNumber>;
119
+ sortinoRatio: z.ZodNullable<z.ZodNumber>;
120
+ }, z.core.$strip>;
121
+ realizedHitRate: z.ZodNullable<z.ZodNumber>;
122
+ profitFactor: z.ZodNullable<z.ZodNumber>;
123
+ avgWinSize: z.ZodNullable<z.ZodNumber>;
124
+ avgLossSize: z.ZodNullable<z.ZodNumber>;
125
+ breakevenHitRate: z.ZodNullable<z.ZodNumber>;
126
+ cushion: z.ZodNullable<z.ZodNumber>;
127
+ }, z.core.$strip>;
128
+ export type PortfolioMetrics = z.output<typeof PortfolioMetrics>;
129
+ export declare const PortfolioAssetAnalytics: z.ZodObject<{
130
+ asset: z.ZodString;
131
+ realizedOnly: z.ZodObject<{
132
+ pnlAbsolute: z.ZodNumber;
133
+ pnlPercent: z.ZodNullable<z.ZodNumber>;
134
+ hitRate: z.ZodNullable<z.ZodNumber>;
135
+ profitFactor: z.ZodNullable<z.ZodNumber>;
136
+ avgWinSize: z.ZodNullable<z.ZodNumber>;
137
+ avgLossSize: z.ZodNullable<z.ZodNumber>;
138
+ avgReturnPerWin: z.ZodNullable<z.ZodNumber>;
139
+ avgReturnPerLoss: z.ZodNullable<z.ZodNumber>;
140
+ maxDrawdown: z.ZodNullable<z.ZodNumber>;
141
+ sharpeRatio: z.ZodNullable<z.ZodNumber>;
142
+ sortinoRatio: z.ZodNullable<z.ZodNumber>;
143
+ }, z.core.$strip>;
144
+ realizedPlusUnrealized: z.ZodObject<{
145
+ pnlAbsolute: z.ZodNumber;
146
+ pnlPercent: z.ZodNullable<z.ZodNumber>;
147
+ hitRate: z.ZodNullable<z.ZodNumber>;
148
+ profitFactor: z.ZodNullable<z.ZodNumber>;
149
+ avgWinSize: z.ZodNullable<z.ZodNumber>;
150
+ avgLossSize: z.ZodNullable<z.ZodNumber>;
151
+ avgReturnPerWin: z.ZodNullable<z.ZodNumber>;
152
+ avgReturnPerLoss: z.ZodNullable<z.ZodNumber>;
153
+ maxDrawdown: z.ZodNullable<z.ZodNumber>;
154
+ sharpeRatio: z.ZodNullable<z.ZodNumber>;
155
+ sortinoRatio: z.ZodNullable<z.ZodNumber>;
156
+ }, z.core.$strip>;
157
+ unrealizedReturnPerDay: z.ZodNullable<z.ZodNumber>;
158
+ }, z.core.$strip>;
159
+ export type PortfolioAssetAnalytics = z.output<typeof PortfolioAssetAnalytics>;
160
+ export declare const PortfolioPairBreakdown: z.ZodObject<{
161
+ key: z.ZodString;
162
+ longAssets: z.ZodArray<z.ZodString>;
163
+ shortAssets: z.ZodArray<z.ZodString>;
164
+ trades: z.ZodNumber;
165
+ wins: z.ZodNumber;
166
+ losses: z.ZodNumber;
167
+ hitRate: z.ZodNullable<z.ZodNumber>;
168
+ avgWinSize: z.ZodNullable<z.ZodNumber>;
169
+ avgLossSize: z.ZodNullable<z.ZodNumber>;
170
+ expectancy: z.ZodNullable<z.ZodNumber>;
171
+ totalPnl: z.ZodNumber;
172
+ bookPercent: z.ZodNullable<z.ZodNumber>;
173
+ }, z.core.$strip>;
174
+ export type PortfolioPairBreakdown = z.output<typeof PortfolioPairBreakdown>;
175
+ export declare const PortfolioSeriesPoint: z.ZodObject<{
176
+ date: z.ZodString;
177
+ trades: z.ZodNumber;
178
+ wins: z.ZodNumber;
179
+ losses: z.ZodNumber;
180
+ dayPnl: z.ZodNumber;
181
+ hitRate: z.ZodNullable<z.ZodNumber>;
182
+ winLossRatio: z.ZodNullable<z.ZodNumber>;
183
+ rollingHitRate: z.ZodNullable<z.ZodNumber>;
184
+ rollingWinLossRatio: z.ZodNullable<z.ZodNumber>;
185
+ dailyReturn: z.ZodNullable<z.ZodNumber>;
186
+ cumulativeReturn: z.ZodNumber;
187
+ equity: z.ZodNumber;
188
+ drawdown: z.ZodNumber;
189
+ rollingSharpe: z.ZodNullable<z.ZodNumber>;
190
+ rollingSortino: z.ZodNullable<z.ZodNumber>;
191
+ rollingVolatility: z.ZodNullable<z.ZodNumber>;
192
+ }, z.core.$strip>;
193
+ export type PortfolioSeriesPoint = z.output<typeof PortfolioSeriesPoint>;
194
+ export declare const PortfolioAnalyticsConfig: z.ZodObject<{
195
+ rollingWindowDays: z.ZodNumber;
196
+ startDate: z.ZodString;
197
+ endDate: z.ZodString;
198
+ }, z.core.$strip>;
199
+ export type PortfolioAnalyticsConfig = z.output<typeof PortfolioAnalyticsConfig>;
@@ -0,0 +1,100 @@
1
+ import { z } from 'zod';
2
+
3
+ const NullableNumber = z.number().nullable();
4
+ const PortfolioMetricVariant = z.object({
5
+ pnlAbsolute: z.number(),
6
+ pnlPercent: NullableNumber,
7
+ hitRate: NullableNumber,
8
+ profitFactor: NullableNumber,
9
+ avgWinSize: NullableNumber,
10
+ avgLossSize: NullableNumber,
11
+ avgReturnPerWin: NullableNumber,
12
+ avgReturnPerLoss: NullableNumber,
13
+ maxDrawdown: NullableNumber,
14
+ sharpeRatio: NullableNumber,
15
+ sortinoRatio: NullableNumber
16
+ });
17
+ const PortfolioIntervalBucket = z.object({
18
+ periodStart: z.string(),
19
+ periodEnd: z.string(),
20
+ volume: z.number(),
21
+ openInterest: z.number(),
22
+ winningTradesCount: z.number(),
23
+ winningTradesUsd: z.number(),
24
+ losingTradesCount: z.number(),
25
+ losingTradesUsd: z.number()
26
+ });
27
+ const PortfolioIntervals = z.object({
28
+ oneDay: z.array(PortfolioIntervalBucket),
29
+ oneWeek: z.array(PortfolioIntervalBucket),
30
+ oneMonth: z.array(PortfolioIntervalBucket),
31
+ oneYear: z.array(PortfolioIntervalBucket),
32
+ all: z.array(PortfolioIntervalBucket)
33
+ });
34
+ const PortfolioOverall = z.object({
35
+ totalWinningTradesCount: z.number(),
36
+ totalLosingTradesCount: z.number(),
37
+ totalWinningUsd: z.number(),
38
+ totalLosingUsd: z.number(),
39
+ currentOpenInterest: z.number(),
40
+ currentTotalVolume: z.number(),
41
+ unrealizedPnl: z.number(),
42
+ realizedPnl: z.number(),
43
+ totalFees: z.number(),
44
+ totalTrades: z.number()
45
+ });
46
+ const PortfolioMetrics = z.object({
47
+ realizedOnly: PortfolioMetricVariant,
48
+ realizedPlusUnrealized: PortfolioMetricVariant,
49
+ realizedHitRate: NullableNumber,
50
+ profitFactor: NullableNumber,
51
+ avgWinSize: NullableNumber,
52
+ avgLossSize: NullableNumber,
53
+ breakevenHitRate: NullableNumber,
54
+ cushion: NullableNumber
55
+ });
56
+ const PortfolioAssetAnalytics = z.object({
57
+ asset: z.string(),
58
+ realizedOnly: PortfolioMetricVariant,
59
+ realizedPlusUnrealized: PortfolioMetricVariant,
60
+ unrealizedReturnPerDay: NullableNumber
61
+ });
62
+ const PortfolioPairBreakdown = z.object({
63
+ key: z.string(),
64
+ longAssets: z.array(z.string()),
65
+ shortAssets: z.array(z.string()),
66
+ trades: z.number(),
67
+ wins: z.number(),
68
+ losses: z.number(),
69
+ hitRate: NullableNumber,
70
+ avgWinSize: NullableNumber,
71
+ avgLossSize: NullableNumber,
72
+ expectancy: NullableNumber,
73
+ totalPnl: z.number(),
74
+ bookPercent: NullableNumber
75
+ });
76
+ const PortfolioSeriesPoint = z.object({
77
+ date: z.string(),
78
+ trades: z.number(),
79
+ wins: z.number(),
80
+ losses: z.number(),
81
+ dayPnl: z.number(),
82
+ hitRate: NullableNumber,
83
+ winLossRatio: NullableNumber,
84
+ rollingHitRate: NullableNumber,
85
+ rollingWinLossRatio: NullableNumber,
86
+ dailyReturn: NullableNumber,
87
+ cumulativeReturn: z.number(),
88
+ equity: z.number(),
89
+ drawdown: z.number(),
90
+ rollingSharpe: NullableNumber,
91
+ rollingSortino: NullableNumber,
92
+ rollingVolatility: NullableNumber
93
+ });
94
+ const PortfolioAnalyticsConfig = z.object({
95
+ rollingWindowDays: z.number(),
96
+ startDate: z.string(),
97
+ endDate: z.string()
98
+ });
99
+
100
+ export { NullableNumber, PortfolioAnalyticsConfig, PortfolioAssetAnalytics, PortfolioIntervalBucket, PortfolioIntervals, PortfolioMetricVariant, PortfolioMetrics, PortfolioOverall, PortfolioPairBreakdown, PortfolioSeriesPoint };
@@ -0,0 +1,3 @@
1
+ export * from './entities';
2
+ export * from './queries';
3
+ export * from './responses';
@@ -0,0 +1,3 @@
1
+ export * from './entities';
2
+ export * from './queries';
3
+ export * from './responses';
@@ -0,0 +1,46 @@
1
+ import { z } from 'zod';
2
+ export declare const PortfolioSource: z.ZodEnum<{
3
+ all: "all";
4
+ pear: "pear";
5
+ }>;
6
+ export type PortfolioSource = z.output<typeof PortfolioSource>;
7
+ export declare const PortfolioQuery: z.ZodObject<{
8
+ startDate: z.ZodOptional<z.ZodString>;
9
+ endDate: z.ZodOptional<z.ZodString>;
10
+ source: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
11
+ all: "all";
12
+ pear: "pear";
13
+ }>>>;
14
+ }, z.core.$strip>;
15
+ export type PortfolioQueryInput = z.input<typeof PortfolioQuery>;
16
+ export type PortfolioQuery = z.output<typeof PortfolioQuery>;
17
+ export declare const PortfolioAnalyticsInterval: z.ZodEnum<{
18
+ all: "all";
19
+ "1d": "1d";
20
+ "1w": "1w";
21
+ "1m": "1m";
22
+ "1y": "1y";
23
+ }>;
24
+ export type PortfolioAnalyticsInterval = z.output<typeof PortfolioAnalyticsInterval>;
25
+ export declare const PortfolioAnalyticsQuery: z.ZodObject<{
26
+ startDate: z.ZodOptional<z.ZodString>;
27
+ endDate: z.ZodOptional<z.ZodString>;
28
+ interval: z.ZodOptional<z.ZodEnum<{
29
+ all: "all";
30
+ "1d": "1d";
31
+ "1w": "1w";
32
+ "1m": "1m";
33
+ "1y": "1y";
34
+ }>>;
35
+ rollingWindowDays: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
36
+ includeSeries: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodPipe<z.ZodEnum<{
37
+ false: "false";
38
+ true: "true";
39
+ }>, z.ZodTransform<boolean, "false" | "true">>]>>;
40
+ source: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
41
+ all: "all";
42
+ pear: "pear";
43
+ }>>>;
44
+ }, z.core.$strip>;
45
+ export type PortfolioAnalyticsQueryInput = z.input<typeof PortfolioAnalyticsQuery>;
46
+ export type PortfolioAnalyticsQuery = z.output<typeof PortfolioAnalyticsQuery>;
@@ -0,0 +1,20 @@
1
+ import { z } from 'zod';
2
+
3
+ const PortfolioSource = z.enum(["all", "pear"]);
4
+ const PortfolioQuery = z.object({
5
+ startDate: z.string().optional(),
6
+ endDate: z.string().optional(),
7
+ // "pear" excludes external imported fills from volume calculations.
8
+ source: PortfolioSource.optional().default("all")
9
+ });
10
+ const PortfolioAnalyticsInterval = z.enum(["1d", "1w", "1m", "1y", "all"]);
11
+ const PortfolioAnalyticsQuery = z.object({
12
+ startDate: z.string().optional(),
13
+ endDate: z.string().optional(),
14
+ interval: PortfolioAnalyticsInterval.optional(),
15
+ rollingWindowDays: z.coerce.number().int().optional(),
16
+ includeSeries: z.union([z.boolean(), z.enum(["false", "true"]).transform((value) => value === "true")]).optional(),
17
+ source: PortfolioSource.optional().default("all")
18
+ });
19
+
20
+ export { PortfolioAnalyticsInterval, PortfolioAnalyticsQuery, PortfolioQuery, PortfolioSource };
@@ -0,0 +1,172 @@
1
+ import { z } from 'zod';
2
+ export declare const PortfolioResponse: z.ZodObject<{
3
+ intervals: z.ZodNullable<z.ZodObject<{
4
+ oneDay: z.ZodArray<z.ZodObject<{
5
+ periodStart: z.ZodString;
6
+ periodEnd: z.ZodString;
7
+ volume: z.ZodNumber;
8
+ openInterest: z.ZodNumber;
9
+ winningTradesCount: z.ZodNumber;
10
+ winningTradesUsd: z.ZodNumber;
11
+ losingTradesCount: z.ZodNumber;
12
+ losingTradesUsd: z.ZodNumber;
13
+ }, z.core.$strip>>;
14
+ oneWeek: z.ZodArray<z.ZodObject<{
15
+ periodStart: z.ZodString;
16
+ periodEnd: z.ZodString;
17
+ volume: z.ZodNumber;
18
+ openInterest: z.ZodNumber;
19
+ winningTradesCount: z.ZodNumber;
20
+ winningTradesUsd: z.ZodNumber;
21
+ losingTradesCount: z.ZodNumber;
22
+ losingTradesUsd: z.ZodNumber;
23
+ }, z.core.$strip>>;
24
+ oneMonth: z.ZodArray<z.ZodObject<{
25
+ periodStart: z.ZodString;
26
+ periodEnd: z.ZodString;
27
+ volume: z.ZodNumber;
28
+ openInterest: z.ZodNumber;
29
+ winningTradesCount: z.ZodNumber;
30
+ winningTradesUsd: z.ZodNumber;
31
+ losingTradesCount: z.ZodNumber;
32
+ losingTradesUsd: z.ZodNumber;
33
+ }, z.core.$strip>>;
34
+ oneYear: z.ZodArray<z.ZodObject<{
35
+ periodStart: z.ZodString;
36
+ periodEnd: z.ZodString;
37
+ volume: z.ZodNumber;
38
+ openInterest: z.ZodNumber;
39
+ winningTradesCount: z.ZodNumber;
40
+ winningTradesUsd: z.ZodNumber;
41
+ losingTradesCount: z.ZodNumber;
42
+ losingTradesUsd: z.ZodNumber;
43
+ }, z.core.$strip>>;
44
+ all: z.ZodArray<z.ZodObject<{
45
+ periodStart: z.ZodString;
46
+ periodEnd: z.ZodString;
47
+ volume: z.ZodNumber;
48
+ openInterest: z.ZodNumber;
49
+ winningTradesCount: z.ZodNumber;
50
+ winningTradesUsd: z.ZodNumber;
51
+ losingTradesCount: z.ZodNumber;
52
+ losingTradesUsd: z.ZodNumber;
53
+ }, z.core.$strip>>;
54
+ }, z.core.$strip>>;
55
+ overall: z.ZodObject<{
56
+ totalWinningTradesCount: z.ZodNumber;
57
+ totalLosingTradesCount: z.ZodNumber;
58
+ totalWinningUsd: z.ZodNumber;
59
+ totalLosingUsd: z.ZodNumber;
60
+ currentOpenInterest: z.ZodNumber;
61
+ currentTotalVolume: z.ZodNumber;
62
+ unrealizedPnl: z.ZodNumber;
63
+ realizedPnl: z.ZodNumber;
64
+ totalFees: z.ZodNumber;
65
+ totalTrades: z.ZodNumber;
66
+ }, z.core.$strip>;
67
+ }, z.core.$strip>;
68
+ export type PortfolioResponse = z.output<typeof PortfolioResponse>;
69
+ export declare const PortfolioAnalyticsResponse: z.ZodObject<{
70
+ config: z.ZodObject<{
71
+ rollingWindowDays: z.ZodNumber;
72
+ startDate: z.ZodString;
73
+ endDate: z.ZodString;
74
+ }, z.core.$strip>;
75
+ portfolio: z.ZodObject<{
76
+ realizedOnly: z.ZodObject<{
77
+ pnlAbsolute: z.ZodNumber;
78
+ pnlPercent: z.ZodNullable<z.ZodNumber>;
79
+ hitRate: z.ZodNullable<z.ZodNumber>;
80
+ profitFactor: z.ZodNullable<z.ZodNumber>;
81
+ avgWinSize: z.ZodNullable<z.ZodNumber>;
82
+ avgLossSize: z.ZodNullable<z.ZodNumber>;
83
+ avgReturnPerWin: z.ZodNullable<z.ZodNumber>;
84
+ avgReturnPerLoss: z.ZodNullable<z.ZodNumber>;
85
+ maxDrawdown: z.ZodNullable<z.ZodNumber>;
86
+ sharpeRatio: z.ZodNullable<z.ZodNumber>;
87
+ sortinoRatio: z.ZodNullable<z.ZodNumber>;
88
+ }, z.core.$strip>;
89
+ realizedPlusUnrealized: z.ZodObject<{
90
+ pnlAbsolute: z.ZodNumber;
91
+ pnlPercent: z.ZodNullable<z.ZodNumber>;
92
+ hitRate: z.ZodNullable<z.ZodNumber>;
93
+ profitFactor: z.ZodNullable<z.ZodNumber>;
94
+ avgWinSize: z.ZodNullable<z.ZodNumber>;
95
+ avgLossSize: z.ZodNullable<z.ZodNumber>;
96
+ avgReturnPerWin: z.ZodNullable<z.ZodNumber>;
97
+ avgReturnPerLoss: z.ZodNullable<z.ZodNumber>;
98
+ maxDrawdown: z.ZodNullable<z.ZodNumber>;
99
+ sharpeRatio: z.ZodNullable<z.ZodNumber>;
100
+ sortinoRatio: z.ZodNullable<z.ZodNumber>;
101
+ }, z.core.$strip>;
102
+ realizedHitRate: z.ZodNullable<z.ZodNumber>;
103
+ profitFactor: z.ZodNullable<z.ZodNumber>;
104
+ avgWinSize: z.ZodNullable<z.ZodNumber>;
105
+ avgLossSize: z.ZodNullable<z.ZodNumber>;
106
+ breakevenHitRate: z.ZodNullable<z.ZodNumber>;
107
+ cushion: z.ZodNullable<z.ZodNumber>;
108
+ }, z.core.$strip>;
109
+ assets: z.ZodArray<z.ZodObject<{
110
+ asset: z.ZodString;
111
+ realizedOnly: z.ZodObject<{
112
+ pnlAbsolute: z.ZodNumber;
113
+ pnlPercent: z.ZodNullable<z.ZodNumber>;
114
+ hitRate: z.ZodNullable<z.ZodNumber>;
115
+ profitFactor: z.ZodNullable<z.ZodNumber>;
116
+ avgWinSize: z.ZodNullable<z.ZodNumber>;
117
+ avgLossSize: z.ZodNullable<z.ZodNumber>;
118
+ avgReturnPerWin: z.ZodNullable<z.ZodNumber>;
119
+ avgReturnPerLoss: z.ZodNullable<z.ZodNumber>;
120
+ maxDrawdown: z.ZodNullable<z.ZodNumber>;
121
+ sharpeRatio: z.ZodNullable<z.ZodNumber>;
122
+ sortinoRatio: z.ZodNullable<z.ZodNumber>;
123
+ }, z.core.$strip>;
124
+ realizedPlusUnrealized: z.ZodObject<{
125
+ pnlAbsolute: z.ZodNumber;
126
+ pnlPercent: z.ZodNullable<z.ZodNumber>;
127
+ hitRate: z.ZodNullable<z.ZodNumber>;
128
+ profitFactor: z.ZodNullable<z.ZodNumber>;
129
+ avgWinSize: z.ZodNullable<z.ZodNumber>;
130
+ avgLossSize: z.ZodNullable<z.ZodNumber>;
131
+ avgReturnPerWin: z.ZodNullable<z.ZodNumber>;
132
+ avgReturnPerLoss: z.ZodNullable<z.ZodNumber>;
133
+ maxDrawdown: z.ZodNullable<z.ZodNumber>;
134
+ sharpeRatio: z.ZodNullable<z.ZodNumber>;
135
+ sortinoRatio: z.ZodNullable<z.ZodNumber>;
136
+ }, z.core.$strip>;
137
+ unrealizedReturnPerDay: z.ZodNullable<z.ZodNumber>;
138
+ }, z.core.$strip>>;
139
+ pairs: z.ZodArray<z.ZodObject<{
140
+ key: z.ZodString;
141
+ longAssets: z.ZodArray<z.ZodString>;
142
+ shortAssets: z.ZodArray<z.ZodString>;
143
+ trades: z.ZodNumber;
144
+ wins: z.ZodNumber;
145
+ losses: z.ZodNumber;
146
+ hitRate: z.ZodNullable<z.ZodNumber>;
147
+ avgWinSize: z.ZodNullable<z.ZodNumber>;
148
+ avgLossSize: z.ZodNullable<z.ZodNumber>;
149
+ expectancy: z.ZodNullable<z.ZodNumber>;
150
+ totalPnl: z.ZodNumber;
151
+ bookPercent: z.ZodNullable<z.ZodNumber>;
152
+ }, z.core.$strip>>;
153
+ series: z.ZodOptional<z.ZodArray<z.ZodObject<{
154
+ date: z.ZodString;
155
+ trades: z.ZodNumber;
156
+ wins: z.ZodNumber;
157
+ losses: z.ZodNumber;
158
+ dayPnl: z.ZodNumber;
159
+ hitRate: z.ZodNullable<z.ZodNumber>;
160
+ winLossRatio: z.ZodNullable<z.ZodNumber>;
161
+ rollingHitRate: z.ZodNullable<z.ZodNumber>;
162
+ rollingWinLossRatio: z.ZodNullable<z.ZodNumber>;
163
+ dailyReturn: z.ZodNullable<z.ZodNumber>;
164
+ cumulativeReturn: z.ZodNumber;
165
+ equity: z.ZodNumber;
166
+ drawdown: z.ZodNumber;
167
+ rollingSharpe: z.ZodNullable<z.ZodNumber>;
168
+ rollingSortino: z.ZodNullable<z.ZodNumber>;
169
+ rollingVolatility: z.ZodNullable<z.ZodNumber>;
170
+ }, z.core.$strip>>>;
171
+ }, z.core.$strip>;
172
+ export type PortfolioAnalyticsResponse = z.output<typeof PortfolioAnalyticsResponse>;
@@ -0,0 +1,16 @@
1
+ import { z } from 'zod';
2
+ import { PortfolioOverall, PortfolioIntervals, PortfolioMetrics, PortfolioAnalyticsConfig, PortfolioSeriesPoint, PortfolioPairBreakdown, PortfolioAssetAnalytics } from './entities';
3
+
4
+ const PortfolioResponse = z.object({
5
+ intervals: PortfolioIntervals.nullable(),
6
+ overall: PortfolioOverall
7
+ });
8
+ const PortfolioAnalyticsResponse = z.object({
9
+ config: PortfolioAnalyticsConfig,
10
+ portfolio: PortfolioMetrics,
11
+ assets: z.array(PortfolioAssetAnalytics),
12
+ pairs: z.array(PortfolioPairBreakdown),
13
+ series: z.array(PortfolioSeriesPoint).optional()
14
+ });
15
+
16
+ export { PortfolioAnalyticsResponse, PortfolioResponse };
@@ -7,5 +7,6 @@ export declare const RebalanceManually: z.ZodObject<{
7
7
  symbol: z.ZodString;
8
8
  weight: z.ZodNumber;
9
9
  }, z.core.$strip>>;
10
+ clientId: z.ZodOptional<z.ZodString>;
10
11
  }, z.core.$strip>;
11
12
  export type RebalanceManually = z.output<typeof RebalanceManually>;
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ import { ClientIdCode } from '../common/client-id';
2
3
  import { RefineWeightingSum, RefineUniqueSymbols } from '../common/refinement';
3
4
  import { ExecutionOrderType } from '../execution';
4
5
  import { InstrumentId } from '../instrument';
@@ -10,7 +11,11 @@ const RebalanceManually = z.object({
10
11
  symbol: InstrumentId,
11
12
  weight: z.number().positive({ message: "Weight must be greater than 0" }).max(1, { message: "Weight must be less than 1" })
12
13
  })
13
- ).superRefine(RefineWeightingSum).superRefine(RefineUniqueSymbols).describe("Array of weightings to rebalance the position")
14
+ ).superRefine(RefineWeightingSum).superRefine(RefineUniqueSymbols).describe("Array of weightings to rebalance the position"),
15
+ /**
16
+ * Attribution route code (client_ids.code)
17
+ */
18
+ clientId: ClientIdCode
14
19
  });
15
20
 
16
21
  export { RebalanceManually };
@@ -19,6 +19,7 @@ declare const CreateTWAPOpen: z.ZodObject<{
19
19
  }, z.core.$strip>>;
20
20
  targetNotional: z.ZodString;
21
21
  sliceIntervalSec: z.ZodInt;
22
+ clientId: z.ZodOptional<z.ZodString>;
22
23
  }, z.core.$strip>;
23
24
  declare const CreateTWAPClose: z.ZodObject<{
24
25
  startAt: z.ZodPipe<z.ZodOptional<z.ZodCoercedDate<unknown>>, z.ZodTransform<Date, Date | undefined>>;
@@ -32,6 +33,7 @@ declare const CreateTWAPClose: z.ZodObject<{
32
33
  }, z.core.$strip>>;
33
34
  positionId: z.ZodUUID;
34
35
  sliceIntervalSec: z.ZodInt;
36
+ clientId: z.ZodOptional<z.ZodString>;
35
37
  }, z.core.$strip>;
36
38
  export declare const CreateSchedule: z.ZodDiscriminatedUnion<[z.ZodObject<{
37
39
  startAt: z.ZodPipe<z.ZodOptional<z.ZodCoercedDate<unknown>>, z.ZodTransform<Date, Date | undefined>>;
@@ -53,6 +55,7 @@ export declare const CreateSchedule: z.ZodDiscriminatedUnion<[z.ZodObject<{
53
55
  }, z.core.$strip>>;
54
56
  targetNotional: z.ZodString;
55
57
  sliceIntervalSec: z.ZodInt;
58
+ clientId: z.ZodOptional<z.ZodString>;
56
59
  }, z.core.$strip>, z.ZodObject<{
57
60
  startAt: z.ZodPipe<z.ZodOptional<z.ZodCoercedDate<unknown>>, z.ZodTransform<Date, Date | undefined>>;
58
61
  endAt: z.ZodPipe<z.ZodOptional<z.ZodCoercedDate<unknown>>, z.ZodTransform<Date, Date | undefined>>;
@@ -65,6 +68,7 @@ export declare const CreateSchedule: z.ZodDiscriminatedUnion<[z.ZodObject<{
65
68
  }, z.core.$strip>>;
66
69
  positionId: z.ZodUUID;
67
70
  sliceIntervalSec: z.ZodInt;
71
+ clientId: z.ZodOptional<z.ZodString>;
68
72
  }, z.core.$strip>], "intent">;
69
73
  export type CreateTWAPOpen = z.output<typeof CreateTWAPOpen>;
70
74
  export type CreateTWAPClose = z.output<typeof CreateTWAPClose>;
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ import { ClientIdCode } from '../common/client-id';
2
3
  import { UnsignedDecimalString, Side } from '../common/schema';
3
4
  import { InstrumentId } from '../instrument';
4
5
  import { ScheduleSliceMode } from './entities';
@@ -73,7 +74,11 @@ const CreateTWAPOpen = BaseSchedule.safeExtend({
73
74
  /**
74
75
  * Slice interval in seconds
75
76
  */
76
- sliceIntervalSec: SliceIntervalSec
77
+ sliceIntervalSec: SliceIntervalSec,
78
+ /**
79
+ * Attribution route code (client_ids.code)
80
+ */
81
+ clientId: ClientIdCode
77
82
  });
78
83
  const CreateTWAPClose = BaseSchedule.safeExtend({
79
84
  /**
@@ -99,7 +104,11 @@ const CreateTWAPClose = BaseSchedule.safeExtend({
99
104
  /**
100
105
  * Slice interval in seconds
101
106
  */
102
- sliceIntervalSec: SliceIntervalSec
107
+ sliceIntervalSec: SliceIntervalSec,
108
+ /**
109
+ * Attribution route code (client_ids.code)
110
+ */
111
+ clientId: ClientIdCode
103
112
  });
104
113
  const CreateSchedule = z.discriminatedUnion("intent", [CreateTWAPOpen, CreateTWAPClose]);
105
114
 
@@ -0,0 +1,8 @@
1
+ import { z } from 'zod';
2
+ export declare const TcaMetricStatus: z.ZodLiteral<"FINAL">;
3
+ export type TcaMetricStatus = z.output<typeof TcaMetricStatus>;
4
+ export declare const TcaTimingGranularity: z.ZodEnum<{
5
+ BATCH: "BATCH";
6
+ LEG: "LEG";
7
+ }>;
8
+ export type TcaTimingGranularity = z.output<typeof TcaTimingGranularity>;
@@ -0,0 +1,6 @@
1
+ import { z } from 'zod';
2
+
3
+ const TcaMetricStatus = z.literal("FINAL");
4
+ const TcaTimingGranularity = z.enum(["BATCH", "LEG"]);
5
+
6
+ export { TcaMetricStatus, TcaTimingGranularity };
@@ -0,0 +1,3 @@
1
+ export * from './entities';
2
+ export * from './queries';
3
+ export * from './responses';