@qtsurfer/api-client 0.1.0 → 0.1.2

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.
@@ -1,284 +0,0 @@
1
- export declare const ResponseErrorSchema: {
2
- readonly description: "General response error";
3
- readonly type: "object";
4
- readonly required: readonly ["code", "message"];
5
- readonly properties: {
6
- readonly code: {
7
- readonly description: "Status code";
8
- readonly type: "integer";
9
- readonly example: 400;
10
- };
11
- readonly message: {
12
- readonly description: "Error description";
13
- readonly type: "string";
14
- readonly example: "Invalid request";
15
- };
16
- };
17
- };
18
- export declare const InstrumentSchema: {
19
- readonly description: "Exchange instrument identifier (e.g. a currency pair)";
20
- readonly type: "string";
21
- readonly example: "BTC/USDT";
22
- };
23
- export declare const InstrumentDetailSchema: {
24
- readonly description: "Exchange instrument with data availability and market info";
25
- readonly type: "object";
26
- readonly required: readonly ["id", "base", "quote"];
27
- readonly properties: {
28
- readonly id: {
29
- readonly type: "string";
30
- readonly description: "Instrument identifier (e.g. currency pair)";
31
- readonly example: "BTC/USDT";
32
- };
33
- readonly base: {
34
- readonly type: "string";
35
- readonly description: "Base currency";
36
- readonly example: "BTC";
37
- };
38
- readonly quote: {
39
- readonly type: "string";
40
- readonly description: "Quote currency";
41
- readonly example: "USDT";
42
- };
43
- readonly dataFrom: {
44
- readonly type: "string";
45
- readonly format: "date-time";
46
- readonly description: "Earliest timestamp with quality-verified data available for backtesting";
47
- readonly example: "2026-03-17T00:00:00Z";
48
- };
49
- readonly dataTo: {
50
- readonly type: "string";
51
- readonly format: "date-time";
52
- readonly description: "Latest timestamp with quality-verified data available for backtesting";
53
- readonly example: "2026-03-31T18:00:00Z";
54
- };
55
- readonly lastPrice: {
56
- readonly type: "number";
57
- readonly format: "double";
58
- readonly description: "Last traded price";
59
- readonly example: 84250.5;
60
- };
61
- readonly volume24h: {
62
- readonly type: "number";
63
- readonly format: "double";
64
- readonly description: "Trading volume in the last 24 hours (in quote currency)";
65
- readonly example: 1234567.89;
66
- };
67
- };
68
- };
69
- export declare const ExchangeSchema: {
70
- readonly description: "Exchange service provider";
71
- readonly type: "object";
72
- readonly required: readonly ["id", "name"];
73
- readonly properties: {
74
- readonly id: {
75
- readonly description: "Unique identifier for the exchange";
76
- readonly type: "string";
77
- readonly example: "binance";
78
- };
79
- readonly name: {
80
- readonly description: "Name of the exchange";
81
- readonly type: "string";
82
- readonly example: "Binance";
83
- };
84
- readonly description: {
85
- readonly description: "Description of the exchange";
86
- readonly type: "string";
87
- readonly example: "Binance cryptocurrency exchange";
88
- };
89
- };
90
- };
91
- export declare const DataSourceTypeSchema: {
92
- readonly type: "string";
93
- readonly description: "Managed exchange data sources available for backtesting. Currently only ticker is supported; kline and funding rate support is planned.";
94
- readonly enum: readonly ["ticker"];
95
- readonly example: "ticker";
96
- };
97
- export declare const JobStateSchema: {
98
- readonly type: "object";
99
- readonly description: "Information about a single job";
100
- readonly required: readonly ["contextId", "status", "size", "completed"];
101
- readonly properties: {
102
- readonly contextId: {
103
- readonly type: "string";
104
- readonly description: "Unique context ID for the job";
105
- readonly example: "jctx:ticker:4a627755-7f5a-4297-b647-8dddd8aee416:binance:1rabbrpk5r4kkegs83w6qr:btc/usdt:2o8heaioicr0edvx5ybcap";
106
- };
107
- readonly status: {
108
- readonly type: "string";
109
- readonly description: "Current status of the job";
110
- readonly enum: readonly ["New", "Started", "Completed", "Aborted", "Failed"];
111
- readonly example: "Completed";
112
- };
113
- readonly statusDetail: {
114
- readonly type: readonly ["string", "null"];
115
- readonly description: "Detailed status information, if available";
116
- readonly example: "Job completed with error code 5001";
117
- };
118
- readonly size: {
119
- readonly type: "integer";
120
- readonly description: "Total size of the data being prepared";
121
- readonly example: 100;
122
- };
123
- readonly completed: {
124
- readonly type: "integer";
125
- readonly description: "The amount of data processed so far";
126
- readonly example: 50;
127
- };
128
- readonly startTime: {
129
- readonly type: readonly ["string", "null"];
130
- readonly format: "date-time";
131
- readonly description: "Timestamp for when the preparation started";
132
- readonly example: "2025-01-04T14:00:00Z";
133
- };
134
- readonly endTime: {
135
- readonly type: readonly ["string", "null"];
136
- readonly format: "date-time";
137
- readonly description: "Timestamp for when the preparation finished";
138
- readonly example: "2025-01-04T14:00:20Z";
139
- };
140
- };
141
- };
142
- export declare const AcceptedJobSchema: {
143
- readonly type: "object";
144
- readonly description: "Response returned by async endpoints (`202 Accepted`). The `jobId` is deterministic for the\nsame input parameters — repeated calls with identical params return the same id.\n";
145
- readonly required: readonly ["jobId"];
146
- readonly properties: {
147
- readonly jobId: {
148
- readonly type: "string";
149
- readonly description: "Unique job identifier; use this to poll for completion.";
150
- readonly example: "13RBLGQlPnfDjO6wyKSX8i";
151
- };
152
- };
153
- readonly example: {
154
- readonly jobId: "13RBLGQlPnfDjO6wyKSX8i";
155
- };
156
- };
157
- export declare const BacktestJobResultSchema: {
158
- readonly type: "object";
159
- readonly description: "Backtest job result.";
160
- readonly required: readonly ["results", "state"];
161
- readonly properties: {
162
- readonly results: {
163
- readonly $ref: "#/components/schemas/ResultMap";
164
- };
165
- readonly state: {
166
- readonly $ref: "#/components/schemas/JobState";
167
- };
168
- };
169
- };
170
- export declare const ResultMapSchema: {
171
- readonly type: "object";
172
- readonly description: "Execution result map. Always includes core fields (hostName, iops, strategyId, instrument). Yield metrics (pnlTotal, totalTrades, winRate, etc.) are present when the strategy emitted at least one trade. When signal storage is enabled, includes signal fields described below.";
173
- readonly required: readonly ["strategyId", "instrument"];
174
- readonly properties: {
175
- readonly hostName: {
176
- readonly type: "string";
177
- readonly description: "Hostname of the worker node that executed the strategy";
178
- readonly example: "backtesting-job-worker-84b569dff9-dr4lb";
179
- };
180
- readonly iops: {
181
- readonly type: "number";
182
- readonly format: "double";
183
- readonly description: "Instrument operations per second throughput during execution";
184
- readonly example: 123956.53;
185
- };
186
- readonly strategyId: {
187
- readonly type: "string";
188
- readonly description: "Redis key of the compiled strategy used for execution. Format: strategy:{userId}:ticker:{compilationId}";
189
- readonly example: "strategy:4a627755-7f5a-4297-b647-8dddd8aee416:ticker:2iyvtenlzh9dabqtxn7nbv";
190
- };
191
- readonly instrument: {
192
- readonly type: "string";
193
- readonly description: "The instrument (currency pair) that was backtested";
194
- readonly example: "BTC/USDT";
195
- };
196
- readonly pnlTotal: {
197
- readonly type: "number";
198
- readonly format: "double";
199
- readonly description: "Total profit and loss in the output currency";
200
- readonly example: 42.75;
201
- };
202
- readonly totalTrades: {
203
- readonly type: "integer";
204
- readonly format: "int64";
205
- readonly description: "Total number of trades executed by the strategy";
206
- readonly example: 156;
207
- };
208
- readonly winRate: {
209
- readonly type: "number";
210
- readonly format: "double";
211
- readonly description: "Percentage of profitable trades (0-100)";
212
- readonly example: 58.33;
213
- };
214
- readonly sharpeRatio: {
215
- readonly type: "number";
216
- readonly format: "double";
217
- readonly description: "Risk-adjusted return ratio (mean return / standard deviation of returns)";
218
- readonly example: 1.245;
219
- };
220
- readonly sortinoRatio: {
221
- readonly type: "number";
222
- readonly format: "double";
223
- readonly description: "Downside risk-adjusted return ratio (mean return / downside deviation)";
224
- readonly example: 1.872;
225
- };
226
- readonly cagr: {
227
- readonly type: "number";
228
- readonly format: "double";
229
- readonly description: "Compound Annual Growth Rate";
230
- readonly example: 0.1534;
231
- };
232
- readonly maxDrawdown: {
233
- readonly type: "number";
234
- readonly format: "double";
235
- readonly description: "Maximum absolute drawdown in the output currency";
236
- readonly example: 12.5;
237
- };
238
- readonly maxDrawdownPercent: {
239
- readonly type: "number";
240
- readonly format: "double";
241
- readonly description: "Maximum percentage drawdown from peak equity";
242
- readonly example: 8.75;
243
- };
244
- readonly signalCount: {
245
- readonly type: "integer";
246
- readonly description: "Number of signals emitted during strategy execution";
247
- readonly example: 100000;
248
- };
249
- readonly signalsId: {
250
- readonly type: "string";
251
- readonly description: "Storage key for the signal Parquet file. Format: {userId}/exec/{exchange}/{jobId}";
252
- readonly example: "4a627755-7f5a-4297-b647-8dddd8aee416/exec/binance/3vsndwikcuaatjmb83fjtl";
253
- };
254
- readonly signalsUrl: {
255
- readonly type: "string";
256
- readonly format: "uri";
257
- readonly description: "Public HTTPS URL to the Parquet file. Computed at setup time from publicBaseUrl + signalsId + .parquet. Available even before upload completes.";
258
- readonly example: "https://storage.qtsurfer.com/4a627755-7f5a-4297-b647-8dddd8aee416/exec/binance/3vsndwikcuaatjmb83fjtl.parquet";
259
- };
260
- readonly signalsUpload: {
261
- readonly type: "string";
262
- readonly enum: readonly ["Done", "Failed", "Skipped"];
263
- readonly description: "Upload status. Done = file uploaded to R2. Failed = upload error (see signalsUploadReason). Skipped = no signals emitted or storage not configured.";
264
- readonly example: "Done";
265
- };
266
- readonly signalsUploadedAt: {
267
- readonly type: "string";
268
- readonly format: "date-time";
269
- readonly description: "ISO 8601 timestamp of when the upload completed. Only present when signalsUpload is Done.";
270
- readonly example: "2026-03-18T13:21:48.170Z";
271
- };
272
- readonly signalsUploadReason: {
273
- readonly type: "string";
274
- readonly description: "Human-readable reason when signalsUpload is Failed or Skipped.";
275
- readonly example: "parquet file empty or missing after close";
276
- };
277
- };
278
- };
279
- export declare const strategyIdSchema: {
280
- readonly description: "Unique identifier for a compiled strategy";
281
- readonly type: "string";
282
- readonly example: "6bsh31ikwkuivhtgcoa6s4";
283
- };
284
- //# sourceMappingURL=schemas.gen.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemas.gen.d.ts","sourceRoot":"","sources":["../../src/generated/schemas.gen.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;CAgBtB,CAAC;AAEX,eAAO,MAAM,gBAAgB;;;;CAInB,CAAC;AAEX,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6CzB,CAAC;AAEX,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;CAqBjB,CAAC;AAEX,eAAO,MAAM,oBAAoB;;;;;CAKvB,CAAC;AAEX,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4CjB,CAAC;AAEX,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;CAgBpB,CAAC;AAEX,eAAO,MAAM,uBAAuB;;;;;;;;;;;;CAY1B,CAAC;AAEX,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4GlB,CAAC;AAEX,eAAO,MAAM,gBAAgB;;;;CAInB,CAAC"}
@@ -1,287 +0,0 @@
1
- // This file is auto-generated by @hey-api/openapi-ts
2
- export const ResponseErrorSchema = {
3
- description: 'General response error',
4
- type: 'object',
5
- required: ['code', 'message'],
6
- properties: {
7
- code: {
8
- description: 'Status code',
9
- type: 'integer',
10
- example: 400
11
- },
12
- message: {
13
- description: 'Error description',
14
- type: 'string',
15
- example: 'Invalid request'
16
- }
17
- }
18
- };
19
- export const InstrumentSchema = {
20
- description: 'Exchange instrument identifier (e.g. a currency pair)',
21
- type: 'string',
22
- example: 'BTC/USDT'
23
- };
24
- export const InstrumentDetailSchema = {
25
- description: 'Exchange instrument with data availability and market info',
26
- type: 'object',
27
- required: ['id', 'base', 'quote'],
28
- properties: {
29
- id: {
30
- type: 'string',
31
- description: 'Instrument identifier (e.g. currency pair)',
32
- example: 'BTC/USDT'
33
- },
34
- base: {
35
- type: 'string',
36
- description: 'Base currency',
37
- example: 'BTC'
38
- },
39
- quote: {
40
- type: 'string',
41
- description: 'Quote currency',
42
- example: 'USDT'
43
- },
44
- dataFrom: {
45
- type: 'string',
46
- format: 'date-time',
47
- description: 'Earliest timestamp with quality-verified data available for backtesting',
48
- example: '2026-03-17T00:00:00Z'
49
- },
50
- dataTo: {
51
- type: 'string',
52
- format: 'date-time',
53
- description: 'Latest timestamp with quality-verified data available for backtesting',
54
- example: '2026-03-31T18:00:00Z'
55
- },
56
- lastPrice: {
57
- type: 'number',
58
- format: 'double',
59
- description: 'Last traded price',
60
- example: 84250.5
61
- },
62
- volume24h: {
63
- type: 'number',
64
- format: 'double',
65
- description: 'Trading volume in the last 24 hours (in quote currency)',
66
- example: 1234567.89
67
- }
68
- }
69
- };
70
- export const ExchangeSchema = {
71
- description: 'Exchange service provider',
72
- type: 'object',
73
- required: ['id', 'name'],
74
- properties: {
75
- id: {
76
- description: 'Unique identifier for the exchange',
77
- type: 'string',
78
- example: 'binance'
79
- },
80
- name: {
81
- description: 'Name of the exchange',
82
- type: 'string',
83
- example: 'Binance'
84
- },
85
- description: {
86
- description: 'Description of the exchange',
87
- type: 'string',
88
- example: 'Binance cryptocurrency exchange'
89
- }
90
- }
91
- };
92
- export const DataSourceTypeSchema = {
93
- type: 'string',
94
- description: 'Managed exchange data sources available for backtesting. Currently only ticker is supported; kline and funding rate support is planned.',
95
- enum: ['ticker'],
96
- example: 'ticker'
97
- };
98
- export const JobStateSchema = {
99
- type: 'object',
100
- description: 'Information about a single job',
101
- required: ['contextId', 'status', 'size', 'completed'],
102
- properties: {
103
- contextId: {
104
- type: 'string',
105
- description: 'Unique context ID for the job',
106
- example: 'jctx:ticker:4a627755-7f5a-4297-b647-8dddd8aee416:binance:1rabbrpk5r4kkegs83w6qr:btc/usdt:2o8heaioicr0edvx5ybcap'
107
- },
108
- status: {
109
- type: 'string',
110
- description: 'Current status of the job',
111
- enum: ['New', 'Started', 'Completed', 'Aborted', 'Failed'],
112
- example: 'Completed'
113
- },
114
- statusDetail: {
115
- type: ['string', 'null'],
116
- description: 'Detailed status information, if available',
117
- example: 'Job completed with error code 5001'
118
- },
119
- size: {
120
- type: 'integer',
121
- description: 'Total size of the data being prepared',
122
- example: 100
123
- },
124
- completed: {
125
- type: 'integer',
126
- description: 'The amount of data processed so far',
127
- example: 50
128
- },
129
- startTime: {
130
- type: ['string', 'null'],
131
- format: 'date-time',
132
- description: 'Timestamp for when the preparation started',
133
- example: '2025-01-04T14:00:00Z'
134
- },
135
- endTime: {
136
- type: ['string', 'null'],
137
- format: 'date-time',
138
- description: 'Timestamp for when the preparation finished',
139
- example: '2025-01-04T14:00:20Z'
140
- }
141
- }
142
- };
143
- export const AcceptedJobSchema = {
144
- type: 'object',
145
- description: `Response returned by async endpoints (\`202 Accepted\`). The \`jobId\` is deterministic for the
146
- same input parameters — repeated calls with identical params return the same id.
147
- `,
148
- required: ['jobId'],
149
- properties: {
150
- jobId: {
151
- type: 'string',
152
- description: 'Unique job identifier; use this to poll for completion.',
153
- example: '13RBLGQlPnfDjO6wyKSX8i'
154
- }
155
- },
156
- example: {
157
- jobId: '13RBLGQlPnfDjO6wyKSX8i'
158
- }
159
- };
160
- export const BacktestJobResultSchema = {
161
- type: 'object',
162
- description: 'Backtest job result.',
163
- required: ['results', 'state'],
164
- properties: {
165
- results: {
166
- '$ref': '#/components/schemas/ResultMap'
167
- },
168
- state: {
169
- '$ref': '#/components/schemas/JobState'
170
- }
171
- }
172
- };
173
- export const ResultMapSchema = {
174
- type: 'object',
175
- description: 'Execution result map. Always includes core fields (hostName, iops, strategyId, instrument). Yield metrics (pnlTotal, totalTrades, winRate, etc.) are present when the strategy emitted at least one trade. When signal storage is enabled, includes signal fields described below.',
176
- required: ['strategyId', 'instrument'],
177
- properties: {
178
- hostName: {
179
- type: 'string',
180
- description: 'Hostname of the worker node that executed the strategy',
181
- example: 'backtesting-job-worker-84b569dff9-dr4lb'
182
- },
183
- iops: {
184
- type: 'number',
185
- format: 'double',
186
- description: 'Instrument operations per second throughput during execution',
187
- example: 123956.53
188
- },
189
- strategyId: {
190
- type: 'string',
191
- description: 'Redis key of the compiled strategy used for execution. Format: strategy:{userId}:ticker:{compilationId}',
192
- example: 'strategy:4a627755-7f5a-4297-b647-8dddd8aee416:ticker:2iyvtenlzh9dabqtxn7nbv'
193
- },
194
- instrument: {
195
- type: 'string',
196
- description: 'The instrument (currency pair) that was backtested',
197
- example: 'BTC/USDT'
198
- },
199
- pnlTotal: {
200
- type: 'number',
201
- format: 'double',
202
- description: 'Total profit and loss in the output currency',
203
- example: 42.75
204
- },
205
- totalTrades: {
206
- type: 'integer',
207
- format: 'int64',
208
- description: 'Total number of trades executed by the strategy',
209
- example: 156
210
- },
211
- winRate: {
212
- type: 'number',
213
- format: 'double',
214
- description: 'Percentage of profitable trades (0-100)',
215
- example: 58.33
216
- },
217
- sharpeRatio: {
218
- type: 'number',
219
- format: 'double',
220
- description: 'Risk-adjusted return ratio (mean return / standard deviation of returns)',
221
- example: 1.245
222
- },
223
- sortinoRatio: {
224
- type: 'number',
225
- format: 'double',
226
- description: 'Downside risk-adjusted return ratio (mean return / downside deviation)',
227
- example: 1.872
228
- },
229
- cagr: {
230
- type: 'number',
231
- format: 'double',
232
- description: 'Compound Annual Growth Rate',
233
- example: 0.1534
234
- },
235
- maxDrawdown: {
236
- type: 'number',
237
- format: 'double',
238
- description: 'Maximum absolute drawdown in the output currency',
239
- example: 12.5
240
- },
241
- maxDrawdownPercent: {
242
- type: 'number',
243
- format: 'double',
244
- description: 'Maximum percentage drawdown from peak equity',
245
- example: 8.75
246
- },
247
- signalCount: {
248
- type: 'integer',
249
- description: 'Number of signals emitted during strategy execution',
250
- example: 100000
251
- },
252
- signalsId: {
253
- type: 'string',
254
- description: 'Storage key for the signal Parquet file. Format: {userId}/exec/{exchange}/{jobId}',
255
- example: '4a627755-7f5a-4297-b647-8dddd8aee416/exec/binance/3vsndwikcuaatjmb83fjtl'
256
- },
257
- signalsUrl: {
258
- type: 'string',
259
- format: 'uri',
260
- description: 'Public HTTPS URL to the Parquet file. Computed at setup time from publicBaseUrl + signalsId + .parquet. Available even before upload completes.',
261
- example: 'https://storage.qtsurfer.com/4a627755-7f5a-4297-b647-8dddd8aee416/exec/binance/3vsndwikcuaatjmb83fjtl.parquet'
262
- },
263
- signalsUpload: {
264
- type: 'string',
265
- enum: ['Done', 'Failed', 'Skipped'],
266
- description: 'Upload status. Done = file uploaded to R2. Failed = upload error (see signalsUploadReason). Skipped = no signals emitted or storage not configured.',
267
- example: 'Done'
268
- },
269
- signalsUploadedAt: {
270
- type: 'string',
271
- format: 'date-time',
272
- description: 'ISO 8601 timestamp of when the upload completed. Only present when signalsUpload is Done.',
273
- example: '2026-03-18T13:21:48.170Z'
274
- },
275
- signalsUploadReason: {
276
- type: 'string',
277
- description: 'Human-readable reason when signalsUpload is Failed or Skipped.',
278
- example: 'parquet file empty or missing after close'
279
- }
280
- }
281
- };
282
- export const strategyIdSchema = {
283
- description: 'Unique identifier for a compiled strategy',
284
- type: 'string',
285
- example: '6bsh31ikwkuivhtgcoa6s4'
286
- };
287
- //# sourceMappingURL=schemas.gen.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemas.gen.js","sourceRoot":"","sources":["../../src/generated/schemas.gen.ts"],"names":[],"mappings":"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"}