@qtsurfer/api-client 0.14.0 → 0.15.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.
- package/README.md +4 -2
- package/dist/index.d.ts +383 -43
- package/dist/index.js +30 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/generated/schemas.gen.ts +322 -61
- package/src/generated/sdk.gen.ts +106 -8
- package/src/generated/types.gen.ts +342 -51
package/dist/index.d.ts
CHANGED
|
@@ -14,6 +14,10 @@ type ResponseError = {
|
|
|
14
14
|
*/
|
|
15
15
|
message: string;
|
|
16
16
|
};
|
|
17
|
+
/**
|
|
18
|
+
* A scalar strategy property value for one execution.
|
|
19
|
+
*/
|
|
20
|
+
type ScalarStrategyParamValue = number | string | boolean;
|
|
17
21
|
/**
|
|
18
22
|
* Exchange instrument identifier (e.g. a currency pair)
|
|
19
23
|
*/
|
|
@@ -212,14 +216,22 @@ type PrepareRequest = {
|
|
|
212
216
|
*/
|
|
213
217
|
to: string;
|
|
214
218
|
/**
|
|
215
|
-
* Output bar cadence for the prepared range.
|
|
216
|
-
*
|
|
217
|
-
*
|
|
218
|
-
*
|
|
219
|
-
*
|
|
219
|
+
* Output bar cadence for the prepared range. Coarser cadences are produced on demand by
|
|
220
|
+
* resampling the source and stored alongside the native blob in cache. A target finer
|
|
221
|
+
* than the source, or not an exact multiple of it, returns `400`. What's accepted, and
|
|
222
|
+
* what omitting it means, depends on the source:
|
|
223
|
+
*
|
|
224
|
+
* * Managed exchange — one of `1s`, `5s`, `1m`, `3m`, `5m`, `15m`, `30m`, `1h`, `2h`,
|
|
225
|
+
* `4h`, `8h`, `12h`, `1d`, `1w`, `1q`; any other label returns `400`. Omitted = `1s`,
|
|
226
|
+
* the publisher's native cadence.
|
|
227
|
+
* * Dataset (`exchangeId: user`) — omitted = the dataset version's own discovered
|
|
228
|
+
* `cadence` (see `DatasetVersion.cadence`), served as-is. Any cadence equal to or
|
|
229
|
+
* coarser than it and an exact multiple of it is accepted, including ones outside the
|
|
230
|
+
* managed-exchange list (e.g. `15s`); an `rt` dataset can be resampled to any fixed
|
|
231
|
+
* cadence.
|
|
220
232
|
*
|
|
221
233
|
*/
|
|
222
|
-
cadence?:
|
|
234
|
+
cadence?: string;
|
|
223
235
|
};
|
|
224
236
|
/**
|
|
225
237
|
* Information about a single job
|
|
@@ -233,7 +245,8 @@ type JobState = {
|
|
|
233
245
|
* Current status of the job. Treat `Completed | Aborted | Failed` as
|
|
234
246
|
* terminal; `New | Started` mean keep polling. A single-instrument prepare
|
|
235
247
|
* is always terminal (`Completed`) — decide from
|
|
236
|
-
* `PrepareJobState.coverageRatio
|
|
248
|
+
* `PrepareJobState.coverageRatio` (or `dataFrom`/`dataTo` against an `rt` dataset,
|
|
249
|
+
* which has no ratio), not by polling.
|
|
237
250
|
*
|
|
238
251
|
*/
|
|
239
252
|
status: "New" | "Started" | "Completed" | "Aborted" | "Failed";
|
|
@@ -270,8 +283,10 @@ type JobState = {
|
|
|
270
283
|
* dataset-backed prepare (`exchangeId: user`), coverage is reported on the dataset's own
|
|
271
284
|
* cadence grid instead — hour-walking a daily dataset would report `1/24` and read as
|
|
272
285
|
* broken — via `cadence`/`gaps`/`largestGapSteps`; `totalHours`/`hoursWithData`/
|
|
273
|
-
* `hoursWithoutData` are absent in that case. `dataFrom`/`dataTo
|
|
274
|
-
*
|
|
286
|
+
* `hoursWithoutData` are absent in that case. `dataFrom`/`dataTo` are present either way, and
|
|
287
|
+
* `coverageRatio` too, computed accordingly — except against a dataset whose `cadence` is `rt`:
|
|
288
|
+
* with no fixed step there is no expected row count to measure against, so `coverageRatio`
|
|
289
|
+
* is absent and `gaps`/`largestGapSteps` are `0`.
|
|
275
290
|
*
|
|
276
291
|
*/
|
|
277
292
|
type PrepareJobState = JobState & {
|
|
@@ -288,7 +303,8 @@ type PrepareJobState = JobState & {
|
|
|
288
303
|
* `totalHours` is 0), the fraction of hours in the requested range that have served
|
|
289
304
|
* data. Against a dataset (`exchangeId: user`): `rows / expectedStepsAtCadence`
|
|
290
305
|
* over the dataset version's own range — echoing what ingest computed once, not
|
|
291
|
-
* recomputed against a narrower prepare request.
|
|
306
|
+
* recomputed against a narrower prepare request. Absent for an `rt` dataset (no
|
|
307
|
+
* fixed step, so no expected row count).
|
|
292
308
|
*
|
|
293
309
|
*/
|
|
294
310
|
coverageRatio?: number;
|
|
@@ -305,20 +321,21 @@ type PrepareJobState = JobState & {
|
|
|
305
321
|
*/
|
|
306
322
|
hoursWithData?: number;
|
|
307
323
|
/**
|
|
308
|
-
* The dataset version's own discovered cadence (e.g. `1m`, `1h`)
|
|
309
|
-
*
|
|
324
|
+
* The dataset version's own discovered cadence — a fixed grid (e.g. `1m`, `1h`) or
|
|
325
|
+
* `rt` (see `DatasetVersion.cadence`). Only present for a dataset-backed prepare
|
|
326
|
+
* (`exchangeId: user`).
|
|
310
327
|
*
|
|
311
328
|
*/
|
|
312
329
|
cadence?: string;
|
|
313
330
|
/**
|
|
314
331
|
* Number of gaps in the dataset version at its own cadence, as discovered at ingest
|
|
315
|
-
* time. Only present for a dataset-backed prepare.
|
|
332
|
+
* time. `0` for `rt`. Only present for a dataset-backed prepare.
|
|
316
333
|
*
|
|
317
334
|
*/
|
|
318
335
|
gaps?: number;
|
|
319
336
|
/**
|
|
320
|
-
* The largest gap in the dataset version, in units of its own cadence step.
|
|
321
|
-
* present for a dataset-backed prepare.
|
|
337
|
+
* The largest gap in the dataset version, in units of its own cadence step. `0` for
|
|
338
|
+
* `rt`. Only present for a dataset-backed prepare.
|
|
322
339
|
*
|
|
323
340
|
*/
|
|
324
341
|
largestGapSteps?: number;
|
|
@@ -527,7 +544,7 @@ type SweepRunRow = {
|
|
|
527
544
|
*/
|
|
528
545
|
neighbourCount?: number;
|
|
529
546
|
/**
|
|
530
|
-
* Probability that this run's Sharpe reflects real edge rather than the best draw from however many parameter vectors were tried. Above ~0.95 the result survives the multiple-testing correction; near 0.5 or below it is indistinguishable from the best of a pile of coin flips. Absent on aborted runs,
|
|
547
|
+
* Probability that this run's Sharpe reflects real edge rather than the best draw from however many parameter vectors were tried. Above ~0.95 the result survives the multiple-testing correction; near 0.5 or below it is indistinguishable from the best of a pile of coin flips. Absent on aborted runs, on sweeps with too few trials to establish any dispersion to deflate against, on runs with fewer than 3 period returns, and on a degenerate (near-constant) return series — all cases where the underlying statistic isn't meaningfully computable, rather than genuinely zero. A present value is the computed probability, however small.
|
|
531
548
|
*/
|
|
532
549
|
deflatedSharpe?: number;
|
|
533
550
|
params: {
|
|
@@ -560,7 +577,10 @@ type SweepRunRow = {
|
|
|
560
577
|
aborted: boolean;
|
|
561
578
|
runtimeMs: number;
|
|
562
579
|
/**
|
|
563
|
-
* Present
|
|
580
|
+
* Present whenever this trial actually has a curve — which is any completed run of a sweep that requested curves at all (`equityCurve.mode` `topN`/`topPct`), not only the ranked winners. Absent, not null, when there is genuinely nothing: the run aborted, it made no trades, or the sweep never retained curves (`mode` `auto`/`none`).
|
|
581
|
+
* Selection decides how the curve travels, not whether it exists. A row may carry `url` alone, or `url` together with the points inline.
|
|
582
|
+
* **Read `points`/`equities` to tell whether the curve is inline — never the presence of this object, and never the absence of `url`.** Both mislead, and in opposite directions: this object is present on rows that carry only a pointer, and `url` stays present alongside an inline curve so a caller can still re-request a different transform. An inline curve is emitted on the materialisation view (`?order=natural`), where each row is read once; the ranked view keeps the pointer, being polled.
|
|
583
|
+
* When only a pointer is present, `GET` the `url` for the curve. Its own `meta` there is the real, possibly size-guarded outcome. This outer `meta` may be a declaration rather than a measurement — for a row whose curve was not promoted, the point count is derived from the trade count (one equity point per closed trade) instead of being read from the store, to keep a polled response from doing per-row work.
|
|
564
584
|
*/
|
|
565
585
|
equityCurve?: EquityCurveResult;
|
|
566
586
|
};
|
|
@@ -660,7 +680,8 @@ type ExecuteSweepResult = {
|
|
|
660
680
|
* The same `JobState` shape a single-execute `BacktestJobResult` carries — not a sweep-specific lookalike, the actual type, so field names and timestamp formatting match exactly.
|
|
661
681
|
* `state.status` uses `JobState`'s own vocabulary (`New`/`Started`/`Completed`/ `Aborted`/`Failed`), mapped from the sweep's `status` field above rather than copying it: `PARTIAL` and `CANCELLED` both map to `Aborted`, because a sweep's `PARTIAL` is already terminal (some shards finished, some failed, nothing more is coming) unlike a single job's non-terminal `Partial`, which has no equivalent here at all.
|
|
662
682
|
* `state.completed` is real ticks processed on a plain sweep. On a `walkForward` sweep it is currently always `0` — the walk-forward fold runner was not wired to count ticks when this shipped, unlike the plain shard path.
|
|
663
|
-
* `state.size` is
|
|
683
|
+
* `state.size` is an upfront estimate — range x the prepare's target cadence, set before any data is even loaded, not a query against loaded data — on a single execute and a plain sweep alike. A plain sweep's value is the sum of every shard's own `size` (each shard's per-run estimate x its own vector slice), the same additive shape `state.completed` already used above. `0` means the prepare context behind the job predates this field (a job whose prepare ran before the estimate existed) — never a guessed cadence standing in for a real one.
|
|
684
|
+
* On a `walkForward` sweep, `state.size` is still always `0`: fold runs were out of scope for the estimate the same way they are for `state.completed` above — a fold's `size` is simply never set, so the sum stays honest at `0` rather than needing a special case.
|
|
664
685
|
*/
|
|
665
686
|
state: JobState;
|
|
666
687
|
};
|
|
@@ -830,7 +851,7 @@ type ResultMap = {
|
|
|
830
851
|
* The strategy properties this run was given, echoed back as sent. Absent when the request carried none, so its presence is what distinguishes a parameterised run from one at the declared defaults — a stored result cannot otherwise say which vector produced it, and this endpoint is meant to be called repeatedly over one prepare.
|
|
831
852
|
*/
|
|
832
853
|
params?: {
|
|
833
|
-
[key: string]:
|
|
854
|
+
[key: string]: ScalarStrategyParamValue;
|
|
834
855
|
};
|
|
835
856
|
/**
|
|
836
857
|
* Number of signals emitted during strategy execution
|
|
@@ -1111,9 +1132,12 @@ type Dataset = {
|
|
|
1111
1132
|
*/
|
|
1112
1133
|
name: string;
|
|
1113
1134
|
/**
|
|
1114
|
-
*
|
|
1135
|
+
* `ticker` for an upload or a `dex` import with no `cadence` requested (native per-trade
|
|
1136
|
+
* data). `klines` for a `dex` import that requested a candle `cadence` — pre-aggregated
|
|
1137
|
+
* bars rather than raw ticks. Purely informational; both shapes are read the same way.
|
|
1138
|
+
*
|
|
1115
1139
|
*/
|
|
1116
|
-
type: "ticker";
|
|
1140
|
+
type: "ticker" | "klines";
|
|
1117
1141
|
instrument: Instrument;
|
|
1118
1142
|
/**
|
|
1119
1143
|
* When the dataset was created.
|
|
@@ -1142,8 +1166,8 @@ type Dataset = {
|
|
|
1142
1166
|
*/
|
|
1143
1167
|
to?: string;
|
|
1144
1168
|
/**
|
|
1145
|
-
* `currentVersionId`'s own discovered
|
|
1146
|
-
* version exists.
|
|
1169
|
+
* `currentVersionId`'s own discovered cadence — a fixed grid (e.g. `1s`, `1m`, `1h`) or
|
|
1170
|
+
* `rt` (see `DatasetVersion.cadence`). Absent until a version exists.
|
|
1147
1171
|
*
|
|
1148
1172
|
*/
|
|
1149
1173
|
cadence?: string;
|
|
@@ -1152,6 +1176,23 @@ type Dataset = {
|
|
|
1152
1176
|
* A `Dataset` plus a self link. Returned by `GET /datasets/{datasetId}`.
|
|
1153
1177
|
*/
|
|
1154
1178
|
type DatasetWithLinks = Dataset & {
|
|
1179
|
+
/**
|
|
1180
|
+
* Presigned GET URL to the current version's stored file — see `dataFormat` for
|
|
1181
|
+
* which format it's actually in. Present only once the current version's status is
|
|
1182
|
+
* `ready`. Long-lived (day-scale, not permanent): a DuckDB-WASM/`lastra-ts`-style
|
|
1183
|
+
* reader issues HTTP range requests against it lazily over an extended viewing
|
|
1184
|
+
* session, not in one shot like a browser upload.
|
|
1185
|
+
*
|
|
1186
|
+
*/
|
|
1187
|
+
dataUrl?: string;
|
|
1188
|
+
/**
|
|
1189
|
+
* Which format `dataUrl` is actually in — check this rather than assuming it
|
|
1190
|
+
* matches how you uploaded it. `lastra` — our native columnar format — for a CSV (or
|
|
1191
|
+
* gzip/zip of one) upload, always converted on ingest. `parquet` for a parquet
|
|
1192
|
+
* upload, stored as-is today.
|
|
1193
|
+
*
|
|
1194
|
+
*/
|
|
1195
|
+
dataFormat?: "lastra" | "parquet";
|
|
1155
1196
|
_links?: {
|
|
1156
1197
|
self?: {
|
|
1157
1198
|
href?: string;
|
|
@@ -1163,8 +1204,9 @@ type DatasetWithLinks = Dataset & {
|
|
|
1163
1204
|
*/
|
|
1164
1205
|
type DatasetUploadTarget = {
|
|
1165
1206
|
/**
|
|
1166
|
-
* Presigned URL. `PUT` the
|
|
1167
|
-
* no other API
|
|
1207
|
+
* Presigned URL. `PUT` the file here directly — the CSV or parquet itself, or a `.gz`/`.zip` of it
|
|
1208
|
+
* (see `createDataset`'s own description) — no `Authorization` header, no other API
|
|
1209
|
+
* credentials.
|
|
1168
1210
|
*
|
|
1169
1211
|
*/
|
|
1170
1212
|
url: string;
|
|
@@ -1222,7 +1264,7 @@ type DatasetVersion = {
|
|
|
1222
1264
|
*/
|
|
1223
1265
|
id?: string;
|
|
1224
1266
|
/**
|
|
1225
|
-
* Size of the
|
|
1267
|
+
* Size of the stored file `dataUrl` points at — a converted `lastra` for a CSV/gzip/zip upload, or the parquet file itself, unconverted, for a parquet upload. Not the size of the bytes originally PUT to storage; see `dataFormat`.
|
|
1226
1268
|
*/
|
|
1227
1269
|
bytes?: number;
|
|
1228
1270
|
/**
|
|
@@ -1230,7 +1272,13 @@ type DatasetVersion = {
|
|
|
1230
1272
|
*/
|
|
1231
1273
|
rows?: number;
|
|
1232
1274
|
/**
|
|
1233
|
-
* The discovered
|
|
1275
|
+
* The cadence discovered from the data's own timestamps. Either a fixed grid — `1s`,
|
|
1276
|
+
* `5s`, `15s`, `1m`, `5m`, `15m`, `30m`, `1h`, `4h`, `1d` — when at least half the
|
|
1277
|
+
* intervals between consecutive rows fall on that step (small clock jitter tolerated), or
|
|
1278
|
+
* `rt`: native data at the rate it was captured, each row at its own timestamp with no
|
|
1279
|
+
* fixed step — per-trade on-chain swaps, block-spaced or sub-second ticks, irregular
|
|
1280
|
+
* intervals. An `rt` dataset can be resampled to any fixed cadence at prepare time.
|
|
1281
|
+
*
|
|
1234
1282
|
*/
|
|
1235
1283
|
cadence?: string;
|
|
1236
1284
|
/**
|
|
@@ -1240,16 +1288,32 @@ type DatasetVersion = {
|
|
|
1240
1288
|
*/
|
|
1241
1289
|
timestampUnit?: "iso" | "s" | "ms" | "us";
|
|
1242
1290
|
/**
|
|
1243
|
-
* Number of gaps at the discovered cadence.
|
|
1291
|
+
* Number of gaps at the discovered cadence. Always `0` for `rt`.
|
|
1244
1292
|
*/
|
|
1245
1293
|
gaps?: number;
|
|
1246
1294
|
/**
|
|
1247
|
-
* The largest gap, in units of the discovered cadence step.
|
|
1295
|
+
* The largest gap, in units of the discovered cadence step. Always `0` for `rt`.
|
|
1248
1296
|
*/
|
|
1249
1297
|
largestGapSteps?: number;
|
|
1298
|
+
/**
|
|
1299
|
+
* Presigned GET URL to the stored file — see `dataFormat` for which format it's in.
|
|
1300
|
+
* Present once the version is `ready`. Long-lived (day-scale, not permanent): a
|
|
1301
|
+
* DuckDB-WASM/`lastra-ts`-style reader issues HTTP range requests against it lazily over
|
|
1302
|
+
* an extended viewing session, not in one shot like a browser upload.
|
|
1303
|
+
*
|
|
1304
|
+
*/
|
|
1305
|
+
dataUrl?: string;
|
|
1306
|
+
/**
|
|
1307
|
+
* Which format `dataUrl` is actually in — check this rather than assuming it matches
|
|
1308
|
+
* how you uploaded it. `lastra` — our native columnar format — for a CSV (or gzip/zip
|
|
1309
|
+
* of one) upload, always converted on ingest. `parquet` for a parquet upload, stored
|
|
1310
|
+
* as-is today.
|
|
1311
|
+
*
|
|
1312
|
+
*/
|
|
1313
|
+
dataFormat?: "lastra" | "parquet";
|
|
1250
1314
|
};
|
|
1251
1315
|
/**
|
|
1252
|
-
* Progress of one upload, from staged through ingest.
|
|
1316
|
+
* Progress of one upload, from staged through ingest. Durably recorded once a version exists,
|
|
1253
1317
|
* so `ready`/`failed` are permanent answers; `uploading`/`ingesting` reflect in-flight state
|
|
1254
1318
|
* that can itself age out — see the `404` case on `GET .../uploads/{uploadId}`.
|
|
1255
1319
|
*
|
|
@@ -1261,7 +1325,8 @@ type DatasetUploadState = {
|
|
|
1261
1325
|
* called yet.
|
|
1262
1326
|
* * `ingesting` — `finalize` was called; the worker is parsing and validating the file.
|
|
1263
1327
|
* * `ready` — ingested successfully. `version` carries the result.
|
|
1264
|
-
* * `failed` — ingest rejected the file (e.g. bad CSV contract, mixed timestamp units
|
|
1328
|
+
* * `failed` — ingest rejected the file (e.g. bad CSV contract, mixed timestamp units, a
|
|
1329
|
+
* `.zip` with no file inside or more than one).
|
|
1265
1330
|
*
|
|
1266
1331
|
*/
|
|
1267
1332
|
status: "uploading" | "ingesting" | "ready" | "failed";
|
|
@@ -1269,6 +1334,150 @@ type DatasetUploadState = {
|
|
|
1269
1334
|
* The ingest job id, while `status` is `ingesting`.
|
|
1270
1335
|
*/
|
|
1271
1336
|
jobId?: string;
|
|
1337
|
+
/**
|
|
1338
|
+
* A human-readable reason, present when `status` is `failed` (e.g. bad CSV contract,
|
|
1339
|
+
* mixed timestamp units, a `.zip` with no file inside or more than one). Durably
|
|
1340
|
+
* recorded alongside the failure itself, so it stays available however long after the
|
|
1341
|
+
* fact you poll — not tied to how recently the failure happened.
|
|
1342
|
+
*
|
|
1343
|
+
*/
|
|
1344
|
+
error?: string;
|
|
1345
|
+
/**
|
|
1346
|
+
* Present when `status` is `ready` or `failed`.
|
|
1347
|
+
*/
|
|
1348
|
+
version?: DatasetVersion;
|
|
1349
|
+
};
|
|
1350
|
+
/**
|
|
1351
|
+
* `POST /datasets/imports`'s request body. A common block plus one type-specific block,
|
|
1352
|
+
* selected by `type` — `dex` is the only value today.
|
|
1353
|
+
*
|
|
1354
|
+
*/
|
|
1355
|
+
type DatasetImportRequest = {
|
|
1356
|
+
/**
|
|
1357
|
+
* A name unique among your datasets. `409` if already taken.
|
|
1358
|
+
*/
|
|
1359
|
+
name: string;
|
|
1360
|
+
instrument: Instrument;
|
|
1361
|
+
/**
|
|
1362
|
+
* Start of the range to fetch, inclusive. Must be before `to`.
|
|
1363
|
+
*/
|
|
1364
|
+
from: string;
|
|
1365
|
+
/**
|
|
1366
|
+
* End of the range to fetch, exclusive. The total span is capped by your tier — a
|
|
1367
|
+
* request wider than that ceiling is `400`, regardless of source type.
|
|
1368
|
+
*
|
|
1369
|
+
*/
|
|
1370
|
+
to: string;
|
|
1371
|
+
/**
|
|
1372
|
+
* Optional. Omitted/blank keeps native per-trade event cadence — each swap at its own
|
|
1373
|
+
* timestamp, so the resulting version's `cadence` is `rt` unless the swaps happen to sit
|
|
1374
|
+
* on a fixed grid (see `DatasetVersion.cadence`). Set to `1s`, `1m` or
|
|
1375
|
+
* `5m` instead to get pre-aggregated candles at that width rather than raw trades (the
|
|
1376
|
+
* resulting dataset's `type` becomes `klines`); any other value is `400`. Not every
|
|
1377
|
+
* network supports every cadence — an unsupported combination fails asynchronously, not
|
|
1378
|
+
* at request time (see `DatasetImportState.error`).
|
|
1379
|
+
*
|
|
1380
|
+
*/
|
|
1381
|
+
cadence?: "1s" | "1m" | "5m";
|
|
1382
|
+
/**
|
|
1383
|
+
* The source to fetch from. `dex` is the only value today.
|
|
1384
|
+
*/
|
|
1385
|
+
type: "dex";
|
|
1386
|
+
dex?: DatasetImportDexRequest;
|
|
1387
|
+
};
|
|
1388
|
+
/**
|
|
1389
|
+
* The `dex` source's own fields — required when `type` is `dex`. `id`/`version` are required
|
|
1390
|
+
* for a plain (native-cadence) import; both are ignored if the top-level `cadence` requested
|
|
1391
|
+
* pre-aggregated candles instead, since that path needs neither a protocol nor a version
|
|
1392
|
+
* distinction.
|
|
1393
|
+
*
|
|
1394
|
+
*/
|
|
1395
|
+
type DatasetImportDexRequest = {
|
|
1396
|
+
/**
|
|
1397
|
+
* Which chain the pool/pair lives on.
|
|
1398
|
+
*/
|
|
1399
|
+
network: "ethereum" | "robinhood";
|
|
1400
|
+
/**
|
|
1401
|
+
* Which on-chain DEX protocol `contract` implements. Required unless the top-level
|
|
1402
|
+
* `cadence` requested pre-aggregated candles, in which case it's ignored.
|
|
1403
|
+
*
|
|
1404
|
+
*/
|
|
1405
|
+
id?: "uniswap";
|
|
1406
|
+
/**
|
|
1407
|
+
* Uniswap version the pool/pair contract implements. Required unless the top-level
|
|
1408
|
+
* `cadence` requested pre-aggregated candles, in which case it's ignored.
|
|
1409
|
+
*
|
|
1410
|
+
*/
|
|
1411
|
+
version?: "v2" | "v3";
|
|
1412
|
+
/**
|
|
1413
|
+
* The pool (v3) or pair (v2) contract address.
|
|
1414
|
+
*/
|
|
1415
|
+
contract: string;
|
|
1416
|
+
/**
|
|
1417
|
+
* The factory that deployed `contract`. Optional — when omitted, it is discovered
|
|
1418
|
+
* on-chain from `contract` itself at fetch time. Supply it explicitly only if you
|
|
1419
|
+
* already know it, or the pool/pair belongs to a factory other than the canonical one
|
|
1420
|
+
* for `network`/`version`. Either way, the pool/pair is validated against whichever
|
|
1421
|
+
* factory is used before anything is fetched — a wrong or unrelated factory fails the
|
|
1422
|
+
* import rather than silently fetching from the wrong pool. Ignored if the top-level
|
|
1423
|
+
* `cadence` requested pre-aggregated candles.
|
|
1424
|
+
*
|
|
1425
|
+
*/
|
|
1426
|
+
factory?: string;
|
|
1427
|
+
};
|
|
1428
|
+
/**
|
|
1429
|
+
* The response to `POST /datasets/imports` — the dataset now exists, and its fetch has started.
|
|
1430
|
+
*/
|
|
1431
|
+
type DatasetImportCreated = {
|
|
1432
|
+
/**
|
|
1433
|
+
* Opaque id of the newly created dataset — same id space as `POST /datasets`.
|
|
1434
|
+
*/
|
|
1435
|
+
datasetId: string;
|
|
1436
|
+
/**
|
|
1437
|
+
* Identifies this import. Pass to `GET /datasets/{datasetId}/imports/{importId}` to poll
|
|
1438
|
+
* it — there is no separate "finalize" step the way an upload has.
|
|
1439
|
+
*
|
|
1440
|
+
*/
|
|
1441
|
+
importId: string;
|
|
1442
|
+
/**
|
|
1443
|
+
* The fetch/ingest job id.
|
|
1444
|
+
*/
|
|
1445
|
+
jobId: string;
|
|
1446
|
+
/**
|
|
1447
|
+
* Always `fetching` in this response — the fetch has only just started.
|
|
1448
|
+
*/
|
|
1449
|
+
status: "fetching";
|
|
1450
|
+
};
|
|
1451
|
+
/**
|
|
1452
|
+
* Progress of one import, from fetching through ingest. `fetching` is the one status only an
|
|
1453
|
+
* import ever reports — an upload's file already exists by the time you can poll it; an
|
|
1454
|
+
* import's doesn't, until this source finishes fetching it.
|
|
1455
|
+
*
|
|
1456
|
+
*/
|
|
1457
|
+
type DatasetImportState = {
|
|
1458
|
+
importId: string;
|
|
1459
|
+
/**
|
|
1460
|
+
* * `fetching` — reading from the source; nothing staged yet.
|
|
1461
|
+
* * `ingesting` — fetch complete, staged, and re-entered the same ingest chain an
|
|
1462
|
+
* upload uses; the worker is parsing and validating it.
|
|
1463
|
+
* * `ready` — ingested successfully. `version` carries the result.
|
|
1464
|
+
* * `failed` — the fetch or the ingest that followed it was rejected. `error` names why.
|
|
1465
|
+
*
|
|
1466
|
+
*/
|
|
1467
|
+
status: "fetching" | "ingesting" | "ready" | "failed";
|
|
1468
|
+
/**
|
|
1469
|
+
* The fetch/ingest job id, while `status` is `fetching` or `ingesting`.
|
|
1470
|
+
*/
|
|
1471
|
+
jobId?: string;
|
|
1472
|
+
/**
|
|
1473
|
+
* A human-readable reason, present when `status` is `failed` — an unresolvable
|
|
1474
|
+
* pool/pair, no data in the requested range, a range older than the configured source
|
|
1475
|
+
* retains, the fetch exceeding your tier's time ceiling, or any of
|
|
1476
|
+
* `DatasetUploadState.error`'s own ingest-side reasons once fetching hands off to it.
|
|
1477
|
+
* Durably recorded, same as on the upload path.
|
|
1478
|
+
*
|
|
1479
|
+
*/
|
|
1480
|
+
error?: string;
|
|
1272
1481
|
/**
|
|
1273
1482
|
* Present when `status` is `ready` or `failed`.
|
|
1274
1483
|
*/
|
|
@@ -1715,8 +1924,8 @@ type PrepareBacktestErrors = {
|
|
|
1715
1924
|
* Invalid request or parameters. Also returned when `from` is older than the configured
|
|
1716
1925
|
* lookback window or `to` is in the future. For `exchangeId: user`, also returned when
|
|
1717
1926
|
* the dataset's current upload has not finished ingesting, or `cadence` asks for a finer
|
|
1718
|
-
* granularity than the dataset's own discovered cadence
|
|
1719
|
-
* your tier's range limit.
|
|
1927
|
+
* granularity than the dataset's own discovered cadence (or one that isn't an exact
|
|
1928
|
+
* multiple of it), or the requested range exceeds your tier's range limit.
|
|
1720
1929
|
*
|
|
1721
1930
|
*/
|
|
1722
1931
|
400: ResponseError;
|
|
@@ -1980,6 +2189,16 @@ type ExecuteBacktestData = {
|
|
|
1980
2189
|
*/
|
|
1981
2190
|
storeSignals?: boolean;
|
|
1982
2191
|
equityCurve?: EquityCurveOptions;
|
|
2192
|
+
/**
|
|
2193
|
+
* Capital/fee/position-size overrides for this one run — the same shape
|
|
2194
|
+
* `executeSweep`'s `baseConfig` accepts. Omit to run at the platform defaults
|
|
2195
|
+
* (`initialFunding: 100`, `feeRate: 0.001`). `buyFeeRate`/`sellFeeRate`/`feeLeg`
|
|
2196
|
+
* are accepted for shape compatibility with a sweep's `baseConfig`, but this
|
|
2197
|
+
* endpoint has one fee-rate slot: a value that implies asymmetric buy/sell fees,
|
|
2198
|
+
* or a non-default `feeLeg`, is rejected with `400`.
|
|
2199
|
+
*
|
|
2200
|
+
*/
|
|
2201
|
+
baseConfig?: SweepBaseConfig;
|
|
1983
2202
|
/**
|
|
1984
2203
|
* Strategy properties to apply to this run. Omit to run the strategy's declared
|
|
1985
2204
|
* defaults, which is exactly what a request without this field has always done.
|
|
@@ -2000,7 +2219,7 @@ type ExecuteBacktestData = {
|
|
|
2000
2219
|
*
|
|
2001
2220
|
*/
|
|
2002
2221
|
params?: {
|
|
2003
|
-
[key: string]:
|
|
2222
|
+
[key: string]: ScalarStrategyParamValue;
|
|
2004
2223
|
};
|
|
2005
2224
|
};
|
|
2006
2225
|
path: {
|
|
@@ -2327,6 +2546,75 @@ type GetDatasetUploadResponses = {
|
|
|
2327
2546
|
200: DatasetUploadState;
|
|
2328
2547
|
};
|
|
2329
2548
|
type GetDatasetUploadResponse = GetDatasetUploadResponses[keyof GetDatasetUploadResponses];
|
|
2549
|
+
type ImportDatasetData = {
|
|
2550
|
+
/**
|
|
2551
|
+
* What to fetch, and where from
|
|
2552
|
+
*/
|
|
2553
|
+
body: DatasetImportRequest;
|
|
2554
|
+
path?: never;
|
|
2555
|
+
query?: never;
|
|
2556
|
+
url: "/datasets/imports";
|
|
2557
|
+
};
|
|
2558
|
+
type ImportDatasetErrors = {
|
|
2559
|
+
/**
|
|
2560
|
+
* Invalid request; `instrument` isn't a plain spot pair; `from >= to`; `cadence` present
|
|
2561
|
+
* but not one of its supported values; the requested range exceeds your tier's import
|
|
2562
|
+
* range ceiling; the requested range's rough size estimate exceeds your tier's row limit;
|
|
2563
|
+
* `dex.network`/`dex.id` not one of their supported values; `dex.contract`/`dex.factory`
|
|
2564
|
+
* fail basic shape validation; or, when `cadence` is omitted, `dex.id`/`dex.version`
|
|
2565
|
+
* missing. Whether the pool/pair actually exists and resolves — and, for a candle
|
|
2566
|
+
* `cadence`, whether that combination is actually servable on the requested `network` —
|
|
2567
|
+
* is checked later, asynchronously — see the `failed` status on the poll endpoint below.
|
|
2568
|
+
*
|
|
2569
|
+
*/
|
|
2570
|
+
400: ResponseError;
|
|
2571
|
+
/**
|
|
2572
|
+
* You already have a dataset with this `name`
|
|
2573
|
+
*/
|
|
2574
|
+
409: ResponseError;
|
|
2575
|
+
/**
|
|
2576
|
+
* Your tier's dataset count limit is reached. Delete one, or upgrade.
|
|
2577
|
+
*/
|
|
2578
|
+
429: ResponseError;
|
|
2579
|
+
};
|
|
2580
|
+
type ImportDatasetError = ImportDatasetErrors[keyof ImportDatasetErrors];
|
|
2581
|
+
type ImportDatasetResponses = {
|
|
2582
|
+
/**
|
|
2583
|
+
* Dataset created, fetch started
|
|
2584
|
+
*/
|
|
2585
|
+
202: DatasetImportCreated;
|
|
2586
|
+
};
|
|
2587
|
+
type ImportDatasetResponse = ImportDatasetResponses[keyof ImportDatasetResponses];
|
|
2588
|
+
type GetDatasetImportData = {
|
|
2589
|
+
body?: never;
|
|
2590
|
+
path: {
|
|
2591
|
+
/**
|
|
2592
|
+
* The id returned by `POST /datasets/imports`
|
|
2593
|
+
*/
|
|
2594
|
+
datasetId: string;
|
|
2595
|
+
/**
|
|
2596
|
+
* The `importId` returned by `POST /datasets/imports`
|
|
2597
|
+
*/
|
|
2598
|
+
importId: string;
|
|
2599
|
+
};
|
|
2600
|
+
query?: never;
|
|
2601
|
+
url: "/datasets/{datasetId}/imports/{importId}";
|
|
2602
|
+
};
|
|
2603
|
+
type GetDatasetImportErrors = {
|
|
2604
|
+
/**
|
|
2605
|
+
* No such dataset for this user, or genuinely nothing is known about this `importId`.
|
|
2606
|
+
*
|
|
2607
|
+
*/
|
|
2608
|
+
404: ResponseError;
|
|
2609
|
+
};
|
|
2610
|
+
type GetDatasetImportError = GetDatasetImportErrors[keyof GetDatasetImportErrors];
|
|
2611
|
+
type GetDatasetImportResponses = {
|
|
2612
|
+
/**
|
|
2613
|
+
* Current fetch/ingest state
|
|
2614
|
+
*/
|
|
2615
|
+
200: DatasetImportState;
|
|
2616
|
+
};
|
|
2617
|
+
type GetDatasetImportResponse = GetDatasetImportResponses[keyof GetDatasetImportResponses];
|
|
2330
2618
|
type ClientOptions = {
|
|
2331
2619
|
baseUrl: "https://api.qtsurfer.net/v1" | "https://api.qtsurfer.com/v1" | (string & {});
|
|
2332
2620
|
};
|
|
@@ -2673,15 +2961,22 @@ declare const getSweepRunEquityCurve: <ThrowOnError extends boolean = false>(opt
|
|
|
2673
2961
|
* backtest result with the curve included.
|
|
2674
2962
|
*
|
|
2675
2963
|
* The same request (same `prepareJobId`, `strategyId`, `storeSignals`, `equityCurve`,
|
|
2676
|
-
* `params`) always returns the same `jobId` (idempotent) — a request that omits
|
|
2677
|
-
* or `params` dedupes exactly as it did before those fields
|
|
2678
|
-
* vectors over one prepare are two different jobs, and `9`
|
|
2964
|
+
* `baseConfig`, `params`) always returns the same `jobId` (idempotent) — a request that omits
|
|
2965
|
+
* `equityCurve`, `baseConfig` or `params` dedupes exactly as it did before those fields
|
|
2966
|
+
* existed. Two different `params` vectors over one prepare are two different jobs, and `9`
|
|
2967
|
+
* and `9.0` are the same one.
|
|
2679
2968
|
*
|
|
2680
2969
|
* The re-run is an independent execution rather than a replay of the sweep trial — the two
|
|
2681
2970
|
* paths do not share a simulator — but they are pinned to agree: one vector run both ways
|
|
2682
2971
|
* matches on every leaderboard metric, asserted as a regression test. Treat a difference as a
|
|
2683
2972
|
* bug worth reporting, not as expected behaviour.
|
|
2684
2973
|
*
|
|
2974
|
+
* Optionally takes `baseConfig`, the same `SweepBaseConfig` shape `executeSweep` accepts —
|
|
2975
|
+
* `initialFunding`, `feeRate`, `percentAmountToLock`, etc. — so the same object can be reused
|
|
2976
|
+
* against either endpoint. This endpoint has one effective fee rate rather than a sweep's
|
|
2977
|
+
* independent buy/sell legs: a `baseConfig` that resolves to different buy/sell rates, or sets
|
|
2978
|
+
* a non-default `feeLeg`, is rejected with `400` rather than silently collapsed to one side.
|
|
2979
|
+
*
|
|
2685
2980
|
* Works unchanged for a dataset-backed prepare (`exchangeId: user`) — the request body is
|
|
2686
2981
|
* identical either way, since the instrument and range are recovered from `prepareJobId`.
|
|
2687
2982
|
*
|
|
@@ -2734,11 +3029,22 @@ declare const listDatasets: <ThrowOnError extends boolean = false>(options?: Opt
|
|
|
2734
3029
|
* response. `instrument` must be a plain spot pair (`BASE/QUOTE`, exactly one `/`); derivative
|
|
2735
3030
|
* forms (e.g. `BTC/USDT:USDT`) are rejected.
|
|
2736
3031
|
*
|
|
2737
|
-
* **Upload format.** A CSV with a header row
|
|
2738
|
-
* numeric epoch seconds/millis/micros — detected
|
|
2739
|
-
* later row), `close`. Optional
|
|
2740
|
-
* `bid`, `bidSize`, `ask`, `askSize`. Cadence and timestamp
|
|
2741
|
-
* not declared.
|
|
3032
|
+
* **Upload format.** A CSV with a header row, or a parquet file with the same columns by
|
|
3033
|
+
* name. Required: `timestamp` (ISO-8601, or numeric epoch seconds/millis/micros — detected
|
|
3034
|
+
* from the first row, then enforced for every later row), `close`. Optional: `open`, `high`,
|
|
3035
|
+
* `low`, `volume`, `quoteVolume`, `bid`, `bidSize`, `ask`, `askSize`. Cadence and timestamp
|
|
3036
|
+
* unit are discovered from the data, not declared.
|
|
3037
|
+
*
|
|
3038
|
+
* A CSV upload is converted to our native columnar format (`lastra`) for storage. A parquet
|
|
3039
|
+
* upload is stored as-is today. Either way, always check `dataFormat` on
|
|
3040
|
+
* `GET /datasets/{datasetId}` and `GET /datasets/{datasetId}/uploads/{uploadId}` for which
|
|
3041
|
+
* one `dataUrl` actually is, rather than assuming from how you uploaded it.
|
|
3042
|
+
*
|
|
3043
|
+
* The bytes PUT to `upload.url` may be that file directly, gzipped (`.gz`), or zipped
|
|
3044
|
+
* (`.zip`, exactly one file inside — a dataset is one file regardless of how it travels).
|
|
3045
|
+
* Format is detected from the decompressed content itself: there is no filename or
|
|
3046
|
+
* `Content-Type` anywhere in this flow for a client to declare it with, so nothing needs to
|
|
3047
|
+
* be sent besides the bytes.
|
|
2742
3048
|
*
|
|
2743
3049
|
*/
|
|
2744
3050
|
declare const createDataset: <ThrowOnError extends boolean = false>(options: Options<CreateDatasetData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<DatasetCreated, ResponseError, ThrowOnError>;
|
|
@@ -2794,7 +3100,41 @@ declare const finalizeDatasetUpload: <ThrowOnError extends boolean = false>(opti
|
|
|
2794
3100
|
*
|
|
2795
3101
|
*/
|
|
2796
3102
|
declare const getDatasetUpload: <ThrowOnError extends boolean = false>(options: Options<GetDatasetUploadData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<DatasetUploadState, ResponseError, ThrowOnError>;
|
|
3103
|
+
/**
|
|
3104
|
+
* Create a dataset by importing history instead of uploading it
|
|
3105
|
+
* A second way to get data into a dataset, alongside `POST /datasets`: instead of `PUT`ting a
|
|
3106
|
+
* file yourself, ask the API to go fetch history on your behalf. Creates the dataset and
|
|
3107
|
+
* starts the fetch in the same call — there is no separate upload step, and the result lands
|
|
3108
|
+
* as a dataset version indistinguishable from an uploaded one once it's ready. Poll
|
|
3109
|
+
* `GET /datasets/{datasetId}/imports/{importId}` for progress.
|
|
3110
|
+
*
|
|
3111
|
+
* `type` selects the source. `dex` — history over a pool/pair's own on-chain market — is the
|
|
3112
|
+
* only value today; other source types join this same endpoint later.
|
|
3113
|
+
*
|
|
3114
|
+
* A `dex` import has two data shapes, chosen by the top-level `cadence`:
|
|
3115
|
+
*
|
|
3116
|
+
* * Omitted/blank (default) — on-chain swap history, replayed directly from the pool/pair's
|
|
3117
|
+
* own chain. Cadence is native, not resampled: each swap keeps the timestamp it happened
|
|
3118
|
+
* at rather than being bucketed into candles, so the resulting version's `cadence` is `rt`
|
|
3119
|
+
* unless the swaps happen to sit on a fixed grid (see `DatasetVersion.cadence`).
|
|
3120
|
+
* * One of `1s` / `1m` / `5m` — pre-aggregated candles at that width instead of raw trades.
|
|
3121
|
+
* The resulting dataset's `type` is `klines`, not `ticker`. Not every network supports every
|
|
3122
|
+
* cadence yet — an unsupported combination fails asynchronously, same as an unresolvable
|
|
3123
|
+
* pool (see the `failed` status on the poll endpoint below).
|
|
3124
|
+
*
|
|
3125
|
+
*/
|
|
3126
|
+
declare const importDataset: <ThrowOnError extends boolean = false>(options: Options<ImportDatasetData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<DatasetImportCreated, ResponseError, ThrowOnError>;
|
|
3127
|
+
/**
|
|
3128
|
+
* Get the state of an import/ingest
|
|
3129
|
+
* Poll after `POST /datasets/imports` until `status` is `ready` or `failed`. An import spends
|
|
3130
|
+
* real time fetching from its source before anything is even staged — `fetching` is the one
|
|
3131
|
+
* status only an import ever reports; `ingesting`/`ready`/`failed` mean exactly what they do
|
|
3132
|
+
* on `GET /datasets/{datasetId}/uploads/{uploadId}`, since an import re-enters that same
|
|
3133
|
+
* ingest chain once it has fetched and staged its data.
|
|
3134
|
+
*
|
|
3135
|
+
*/
|
|
3136
|
+
declare const getDatasetImport: <ThrowOnError extends boolean = false>(options: Options<GetDatasetImportData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<DatasetImportState, ResponseError, ThrowOnError>;
|
|
2797
3137
|
|
|
2798
3138
|
declare const client: _hey_api_client_fetch.Client;
|
|
2799
3139
|
|
|
2800
|
-
export { type AcceptedJob, type AuthTokenError, type AuthTokenResponse, type AuthenticateData, type AuthenticateError, type AuthenticateErrors, type AuthenticateResponse, type AuthenticateResponses, type BacktestJobResult, type CancelBacktestData, type CancelBacktestError, type CancelBacktestErrors, type CancelBacktestResponse, type CancelBacktestResponses, type CancelSweepData, type CancelSweepError, type CancelSweepErrors, type CancelSweepResponse, type CancelSweepResponses, type ClientOptions, type CompileStrategyData, type CompileStrategyError, type CompileStrategyErrors, type CompileStrategyResponse, type CompileStrategyResponses, type CoverageWindow, type CreateDatasetData, type CreateDatasetError, type CreateDatasetErrors, type CreateDatasetResponse, type CreateDatasetResponses, type DataSourceType, type Dataset, type DatasetCreated, type DatasetUploadSession, type DatasetUploadState, type DatasetUploadTarget, type DatasetVersion, type DatasetWithLinks, type DeclaredProperty, type DeleteDatasetData, type DeleteDatasetError, type DeleteDatasetErrors, type DeleteDatasetResponse, type DeleteDatasetResponses, type DeleteStrategyData, type DeleteStrategyError, type DeleteStrategyErrors, type DeleteStrategyResponse, type DeleteStrategyResponses, type DownloadKlinesData, type DownloadKlinesError, type DownloadKlinesErrors, type DownloadKlinesResponse, type DownloadKlinesResponses, type DownloadTickersData, type DownloadTickersError, type DownloadTickersErrors, type DownloadTickersResponse, type DownloadTickersResponses, type EquityCurveMeta, type EquityCurveOptions, type EquityCurveOutMode, type EquityCurveRequest, type EquityCurveResult, type EquityPoint, type Exchange, type ExecuteBacktestData, type ExecuteBacktestError, type ExecuteBacktestErrors, type ExecuteBacktestResponse, type ExecuteBacktestResponses, type ExecuteSweepAccepted, type ExecuteSweepData, type ExecuteSweepError, type ExecuteSweepErrors, type ExecuteSweepRequest, type ExecuteSweepResponse, type ExecuteSweepResponses, type ExecuteSweepResult, type FinalizeDatasetUploadData, type FinalizeDatasetUploadError, type FinalizeDatasetUploadErrors, type FinalizeDatasetUploadResponse, type FinalizeDatasetUploadResponses, type GetBacktestResultData, type GetBacktestResultError, type GetBacktestResultErrors, type GetBacktestResultResponse, type GetBacktestResultResponses, type GetDatasetData, type GetDatasetError, type GetDatasetErrors, type GetDatasetResponse, type GetDatasetResponses, type GetDatasetUploadData, type GetDatasetUploadError, type GetDatasetUploadErrors, type GetDatasetUploadResponse, type GetDatasetUploadResponses, type GetPrepareStatusData, type GetPrepareStatusError, type GetPrepareStatusErrors, type GetPrepareStatusResponse, type GetPrepareStatusResponses, type GetStrategyCodeData, type GetStrategyCodeError, type GetStrategyCodeErrors, type GetStrategyCodeResponse, type GetStrategyCodeResponses, type GetStrategyData, type GetStrategyError, type GetStrategyErrors, type GetStrategyResponse, type GetStrategyResponses, type GetSweepResultData, type GetSweepResultError, type GetSweepResultErrors, type GetSweepResultResponse, type GetSweepResultResponses, type GetSweepRunEquityCurveData, type GetSweepRunEquityCurveError, type GetSweepRunEquityCurveErrors, type GetSweepRunEquityCurveResponse, type GetSweepRunEquityCurveResponses, type GetSweepSensitivityData, type GetSweepSensitivityError, type GetSweepSensitivityErrors, type GetSweepSensitivityResponse, type GetSweepSensitivityResponses, type HalLink, type Instrument, type InstrumentCoverage, type InstrumentDetail, type InstrumentLinks, type InstrumentListMeta, type InstrumentListResponse, type JobState, type ListDatasetsData, type ListDatasetsResponse, type ListDatasetsResponses, type ListExchangesData, type ListExchangesResponse, type ListExchangesResponses, type ListInstrumentsData, type ListInstrumentsError, type ListInstrumentsErrors, type ListInstrumentsResponse, type ListInstrumentsResponses, type ListSegmentInstrumentsData, type ListSegmentInstrumentsError, type ListSegmentInstrumentsErrors, type ListSegmentInstrumentsResponse, type ListSegmentInstrumentsResponses, type ListStrategiesData, type ListStrategiesResponse, type ListStrategiesResponses, type Notice, type OpenDatasetUploadData, type OpenDatasetUploadError, type OpenDatasetUploadErrors, type OpenDatasetUploadResponse, type OpenDatasetUploadResponses, type Options, type PrepareBacktestData, type PrepareBacktestError, type PrepareBacktestErrors, type PrepareBacktestResponse, type PrepareBacktestResponses, type PrepareJobState, type PrepareRequest, type ResponseError, type ResultMap, type StrategyId, type StrategyLinks, type StrategyState, type StrategySummary, type SweepAxis, type SweepBaseConfig, type SweepHeatmap, type SweepHeatmapCell, type SweepMarginal, type SweepMarginalPoint, type SweepProgress, type SweepRunRow, type SweepSensitivity, type SweepSpecRequest, type ValidateStrategyData, type ValidateStrategyError, type ValidateStrategyErrors, type ValidateStrategyResponse, type ValidateStrategyResponses, type WalkForwardAccepted, type WalkForwardFold, type WalkForwardRequest, type WalkForwardResult, authenticate, cancelBacktest, cancelSweep, client, compileStrategy, createDataset, deleteDataset, deleteStrategy, downloadKlines, downloadTickers, executeBacktest, executeSweep, finalizeDatasetUpload, getBacktestResult, getDataset, getDatasetUpload, getPrepareStatus, getStrategy, getStrategyCode, getSweepResult, getSweepRunEquityCurve, getSweepSensitivity, listDatasets, listExchanges, listInstruments, listSegmentInstruments, listStrategies, openDatasetUpload, prepareBacktest, validateStrategy };
|
|
3140
|
+
export { type AcceptedJob, type AuthTokenError, type AuthTokenResponse, type AuthenticateData, type AuthenticateError, type AuthenticateErrors, type AuthenticateResponse, type AuthenticateResponses, type BacktestJobResult, type CancelBacktestData, type CancelBacktestError, type CancelBacktestErrors, type CancelBacktestResponse, type CancelBacktestResponses, type CancelSweepData, type CancelSweepError, type CancelSweepErrors, type CancelSweepResponse, type CancelSweepResponses, type ClientOptions, type CompileStrategyData, type CompileStrategyError, type CompileStrategyErrors, type CompileStrategyResponse, type CompileStrategyResponses, type CoverageWindow, type CreateDatasetData, type CreateDatasetError, type CreateDatasetErrors, type CreateDatasetResponse, type CreateDatasetResponses, type DataSourceType, type Dataset, type DatasetCreated, type DatasetImportCreated, type DatasetImportDexRequest, type DatasetImportRequest, type DatasetImportState, type DatasetUploadSession, type DatasetUploadState, type DatasetUploadTarget, type DatasetVersion, type DatasetWithLinks, type DeclaredProperty, type DeleteDatasetData, type DeleteDatasetError, type DeleteDatasetErrors, type DeleteDatasetResponse, type DeleteDatasetResponses, type DeleteStrategyData, type DeleteStrategyError, type DeleteStrategyErrors, type DeleteStrategyResponse, type DeleteStrategyResponses, type DownloadKlinesData, type DownloadKlinesError, type DownloadKlinesErrors, type DownloadKlinesResponse, type DownloadKlinesResponses, type DownloadTickersData, type DownloadTickersError, type DownloadTickersErrors, type DownloadTickersResponse, type DownloadTickersResponses, type EquityCurveMeta, type EquityCurveOptions, type EquityCurveOutMode, type EquityCurveRequest, type EquityCurveResult, type EquityPoint, type Exchange, type ExecuteBacktestData, type ExecuteBacktestError, type ExecuteBacktestErrors, type ExecuteBacktestResponse, type ExecuteBacktestResponses, type ExecuteSweepAccepted, type ExecuteSweepData, type ExecuteSweepError, type ExecuteSweepErrors, type ExecuteSweepRequest, type ExecuteSweepResponse, type ExecuteSweepResponses, type ExecuteSweepResult, type FinalizeDatasetUploadData, type FinalizeDatasetUploadError, type FinalizeDatasetUploadErrors, type FinalizeDatasetUploadResponse, type FinalizeDatasetUploadResponses, type GetBacktestResultData, type GetBacktestResultError, type GetBacktestResultErrors, type GetBacktestResultResponse, type GetBacktestResultResponses, type GetDatasetData, type GetDatasetError, type GetDatasetErrors, type GetDatasetImportData, type GetDatasetImportError, type GetDatasetImportErrors, type GetDatasetImportResponse, type GetDatasetImportResponses, type GetDatasetResponse, type GetDatasetResponses, type GetDatasetUploadData, type GetDatasetUploadError, type GetDatasetUploadErrors, type GetDatasetUploadResponse, type GetDatasetUploadResponses, type GetPrepareStatusData, type GetPrepareStatusError, type GetPrepareStatusErrors, type GetPrepareStatusResponse, type GetPrepareStatusResponses, type GetStrategyCodeData, type GetStrategyCodeError, type GetStrategyCodeErrors, type GetStrategyCodeResponse, type GetStrategyCodeResponses, type GetStrategyData, type GetStrategyError, type GetStrategyErrors, type GetStrategyResponse, type GetStrategyResponses, type GetSweepResultData, type GetSweepResultError, type GetSweepResultErrors, type GetSweepResultResponse, type GetSweepResultResponses, type GetSweepRunEquityCurveData, type GetSweepRunEquityCurveError, type GetSweepRunEquityCurveErrors, type GetSweepRunEquityCurveResponse, type GetSweepRunEquityCurveResponses, type GetSweepSensitivityData, type GetSweepSensitivityError, type GetSweepSensitivityErrors, type GetSweepSensitivityResponse, type GetSweepSensitivityResponses, type HalLink, type ImportDatasetData, type ImportDatasetError, type ImportDatasetErrors, type ImportDatasetResponse, type ImportDatasetResponses, type Instrument, type InstrumentCoverage, type InstrumentDetail, type InstrumentLinks, type InstrumentListMeta, type InstrumentListResponse, type JobState, type ListDatasetsData, type ListDatasetsResponse, type ListDatasetsResponses, type ListExchangesData, type ListExchangesResponse, type ListExchangesResponses, type ListInstrumentsData, type ListInstrumentsError, type ListInstrumentsErrors, type ListInstrumentsResponse, type ListInstrumentsResponses, type ListSegmentInstrumentsData, type ListSegmentInstrumentsError, type ListSegmentInstrumentsErrors, type ListSegmentInstrumentsResponse, type ListSegmentInstrumentsResponses, type ListStrategiesData, type ListStrategiesResponse, type ListStrategiesResponses, type Notice, type OpenDatasetUploadData, type OpenDatasetUploadError, type OpenDatasetUploadErrors, type OpenDatasetUploadResponse, type OpenDatasetUploadResponses, type Options, type PrepareBacktestData, type PrepareBacktestError, type PrepareBacktestErrors, type PrepareBacktestResponse, type PrepareBacktestResponses, type PrepareJobState, type PrepareRequest, type ResponseError, type ResultMap, type ScalarStrategyParamValue, type StrategyId, type StrategyLinks, type StrategyState, type StrategySummary, type SweepAxis, type SweepBaseConfig, type SweepHeatmap, type SweepHeatmapCell, type SweepMarginal, type SweepMarginalPoint, type SweepProgress, type SweepRunRow, type SweepSensitivity, type SweepSpecRequest, type ValidateStrategyData, type ValidateStrategyError, type ValidateStrategyErrors, type ValidateStrategyResponse, type ValidateStrategyResponses, type WalkForwardAccepted, type WalkForwardFold, type WalkForwardRequest, type WalkForwardResult, authenticate, cancelBacktest, cancelSweep, client, compileStrategy, createDataset, deleteDataset, deleteStrategy, downloadKlines, downloadTickers, executeBacktest, executeSweep, finalizeDatasetUpload, getBacktestResult, getDataset, getDatasetImport, getDatasetUpload, getPrepareStatus, getStrategy, getStrategyCode, getSweepResult, getSweepRunEquityCurve, getSweepSensitivity, importDataset, listDatasets, listExchanges, listInstruments, listSegmentInstruments, listStrategies, openDatasetUpload, prepareBacktest, validateStrategy };
|