desic-okx-agent 0.3.0 → 0.3.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.
Files changed (38) hide show
  1. package/README.en.md +1 -1
  2. package/README.md +1 -1
  3. package/dist/cli/index.js +0 -0
  4. package/dist/report/fetch.d.ts +32 -0
  5. package/dist/report/fetch.js +42 -0
  6. package/dist/report/fetch.js.map +1 -1
  7. package/dist/strategy/schema.d.ts +7 -5
  8. package/dist/strategy/schema.js +7 -4
  9. package/dist/strategy/schema.js.map +1 -1
  10. package/dist/strategy/series-codec.d.ts +50 -0
  11. package/dist/strategy/series-codec.js +103 -0
  12. package/dist/strategy/series-codec.js.map +1 -0
  13. package/dist/strategy/service.js +4 -1
  14. package/dist/strategy/service.js.map +1 -1
  15. package/dist/strategy/store.d.ts +12 -1
  16. package/dist/strategy/store.js +67 -34
  17. package/dist/strategy/store.js.map +1 -1
  18. package/dist/tools/catalog.js +20 -1
  19. package/dist/tools/catalog.js.map +1 -1
  20. package/dist/tui/app.js +106 -35
  21. package/dist/tui/app.js.map +1 -1
  22. package/dist/tui/commands.d.ts +33 -0
  23. package/dist/tui/commands.js +59 -14
  24. package/dist/tui/commands.js.map +1 -1
  25. package/dist/tui/file-completion.d.ts +13 -0
  26. package/dist/tui/file-completion.js +57 -0
  27. package/dist/tui/file-completion.js.map +1 -0
  28. package/docs/strategy-research.md +27 -3
  29. package/package.json +1 -1
  30. package/python/desic_strategy/context.py +39 -14
  31. package/python/desic_strategy/engine.py +4 -1
  32. package/python/desic_strategy/live.py +1 -1
  33. package/python/desic_strategy/policy.py +51 -0
  34. package/python/desic_strategy/runner.py +36 -9
  35. package/python/desic_strategy/timeframe.py +17 -0
  36. package/skills/okx-strategy-research/SKILL.md +23 -0
  37. package/skills/okx-strategy-research/references/python-api.md +11 -0
  38. package/skills/okx-strategy-research/references/tools-and-data.md +7 -0
package/README.en.md CHANGED
@@ -348,6 +348,6 @@ Trading software can cause financial loss. This project provides no investment a
348
348
 
349
349
  ## Status and license
350
350
 
351
- This is pre-release software at version `0.3.0`. OKX Demo trading should be validated in the target network environment before a `1.0.0` release. Strategy research and live execution have been verified end to end on the OKX demo venue; **live execution has not yet run against real money over any length of time**.
351
+ This is pre-release software at version `0.3.2`. OKX Demo trading should be validated in the target network environment before a `1.0.0` release. Strategy research and live execution have been verified end to end on the OKX demo venue; **live execution has not yet run against real money over any length of time**.
352
352
 
353
353
  MIT License. See `LICENSE`. OKX and related marks belong to their respective owners.
package/README.md CHANGED
@@ -334,6 +334,6 @@ npm link
334
334
 
335
335
  ## 状态与许可
336
336
 
337
- 当前为 `0.3.0` 预发布版本。正式发布 `1.0.0` 前,应在目标网络环境中完成 OKX Demo 交易验证。策略研究与实盘执行已在 OKX 模拟盘上端到端验证过,**实盘执行尚未经过长期真钱运行**。
337
+ 当前为 `0.3.2` 预发布版本。正式发布 `1.0.0` 前,应在目标网络环境中完成 OKX Demo 交易验证。策略研究与实盘执行已在 OKX 模拟盘上端到端验证过,**实盘执行尚未经过长期真钱运行**。
338
338
 
339
339
  MIT License,详见 `LICENSE`。OKX 及相关商标归其各自权利人所有。
package/dist/cli/index.js CHANGED
File without changes
@@ -1,6 +1,12 @@
1
1
  import type { RuntimeClient } from "../runtime/client.js";
2
+ import type { EquityPoint } from "../strategy/types.js";
2
3
  import type { ReportInput } from "./html.js";
3
4
  import type { ComparisonInput } from "./compare.js";
5
+ import type { RunSummary } from "../strategy/types.js";
6
+ interface Page<T> {
7
+ rows: T[];
8
+ total: number;
9
+ }
4
10
  /**
5
11
  * Gathers everything a report needs, following pagination.
6
12
  *
@@ -18,3 +24,29 @@ export declare function collectReport(client: RuntimeClient, runId: string): Pro
18
24
  * it shows. Fetched concurrently, since the reads are independent.
19
25
  */
20
26
  export declare function collectComparison(client: RuntimeClient, runIds: string[]): Promise<ComparisonInput>;
27
+ /**
28
+ * The same gathering, for a caller already inside the runtime.
29
+ *
30
+ * A tool runs in the process that owns the store, so it reads the service directly
31
+ * rather than issuing HTTP calls back to itself. The pagination is duplicated
32
+ * deliberately: the page cap is the store's, not the transport's, so a one-shot read
33
+ * would return a prefix here exactly as it would over the wire.
34
+ */
35
+ export declare function collectReportLocal(strategy: LocalReportSource, runId: string): ReportInput;
36
+ export declare function collectComparisonLocal(strategy: LocalReportSource, runIds: string[]): ComparisonInput;
37
+ /** What the local collectors need, so a test can supply it without a full service. */
38
+ export interface LocalReportSource {
39
+ getRun(id: string): {
40
+ data: RunSummary;
41
+ };
42
+ equity(id: string, offset?: number, limit?: number): {
43
+ data: Page<EquityPoint>;
44
+ };
45
+ trades(id: string, offset?: number, limit?: number): {
46
+ data: Page<unknown>;
47
+ };
48
+ actions(id: string, offset?: number, limit?: number): {
49
+ data: Page<unknown>;
50
+ };
51
+ }
52
+ export {};
@@ -53,4 +53,46 @@ async function collect(client, tool, runId, ceiling) {
53
53
  }
54
54
  return rows;
55
55
  }
56
+ /**
57
+ * The same gathering, for a caller already inside the runtime.
58
+ *
59
+ * A tool runs in the process that owns the store, so it reads the service directly
60
+ * rather than issuing HTTP calls back to itself. The pagination is duplicated
61
+ * deliberately: the page cap is the store's, not the transport's, so a one-shot read
62
+ * would return a prefix here exactly as it would over the wire.
63
+ */
64
+ export function collectReportLocal(strategy, runId) {
65
+ const run = strategy.getRun(runId).data;
66
+ return {
67
+ run,
68
+ equity: pageLocal((offset, limit) => strategy.equity(runId, offset, limit).data, MAX_POINTS),
69
+ trades: pageLocal((offset, limit) => strategy.trades(runId, offset, limit).data, 50_000),
70
+ actions: pageLocal((offset, limit) => strategy.actions(runId, offset, limit).data, 50_000)
71
+ };
72
+ }
73
+ export function collectComparisonLocal(strategy, runIds) {
74
+ return {
75
+ runs: runIds.map((runId) => {
76
+ const run = strategy.getRun(runId).data;
77
+ // A run that never completed has no curve; it is still listed so the comparison
78
+ // can say why it is missing rather than dropping it silently.
79
+ const equity = run.status === "completed"
80
+ ? pageLocal((offset, limit) => strategy.equity(runId, offset, limit).data, MAX_POINTS)
81
+ : [];
82
+ return { run, equity };
83
+ })
84
+ };
85
+ }
86
+ function pageLocal(read, ceiling) {
87
+ const rows = [];
88
+ let offset = 0;
89
+ for (;;) {
90
+ const page = read(offset, MAX_PAGE_ROWS);
91
+ rows.push(...page.rows);
92
+ offset += page.rows.length;
93
+ if (page.rows.length === 0 || offset >= page.total || rows.length >= ceiling)
94
+ break;
95
+ }
96
+ return rows;
97
+ }
56
98
  //# sourceMappingURL=fetch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/report/fetch.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGzD;;;;GAIG;AACH,MAAM,UAAU,GAAG,OAAO,CAAC;AAO3B;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAqB,EAAE,KAAa;IACtE,MAAM,GAAG,GAAI,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,CAAC,CAA0B,CAAC,IAAI,CAAC;IAC9F,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAClD,OAAO,CAAc,MAAM,EAAE,yBAAyB,EAAE,KAAK,EAAE,UAAU,CAAC;QAC1E,OAAO,CAA0B,MAAM,EAAE,yBAAyB,EAAE,KAAK,EAAE,MAAM,CAAC;QAClF,OAAO,CAA0B,MAAM,EAAE,0BAA0B,EAAE,KAAK,EAAE,MAAM,CAAC;KACpF,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAqB,EACrB,MAAgB;IAEhB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAC5B,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACzB,MAAM,GAAG,GAAI,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,CAAC,CAA0B,CAAC,IAAI,CAAC;QAC9F,6EAA6E;QAC7E,wCAAwC;QACxC,MAAM,MAAM,GACV,GAAG,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,OAAO,CAAc,MAAM,EAAE,yBAAyB,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrH,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IACzB,CAAC,CAAC,CACH,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,OAAO,CACpB,MAAqB,EACrB,IAAY,EACZ,KAAa,EACb,OAAe;IAEf,MAAM,IAAI,GAAQ,EAAE,CAAC;IACrB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,SAAS,CAAC;QACR,MAAM,IAAI,GAAI,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAuB,CAAC,IAAI,CAAC;QAC5G,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3B,4EAA4E;QAC5E,sCAAsC;QACtC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO;YAAE,MAAM;IACtF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/report/fetch.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
1
  /**
2
2
  * Storage for queued and completed strategy runs.
3
3
  *
4
- * The equity curve is stored as fixed-width little-endian float64 blocks rather
5
- * than JSON rows. A 500k-bar curve is tens of megabytes as JSON objects and
6
- * under a megabyte here, and every value round-trips bit-for-bit — decimal JSON
7
- * text does not guarantee that.
4
+ * The equity curve is stored as chunked binary float64 blocks rather than JSON rows.
5
+ * Every value round-trips bit-for-bit, which decimal JSON text does not guarantee, and
6
+ * a measured 344k-point curve is 2.4 MB here against roughly 40 MB as JSON objects.
7
+ *
8
+ * `codec` names the layout of each chunk's payload. It is read rather than inferred so
9
+ * that chunks written by an earlier build keep decoding correctly — see `series-codec.ts`.
8
10
  */
9
- export declare const STRATEGY_SCHEMA_SQL = "\nCREATE TABLE IF NOT EXISTS strategy_runs (\n id TEXT PRIMARY KEY,\n kind TEXT NOT NULL,\n status TEXT NOT NULL,\n strategy_name TEXT NOT NULL,\n strategy_hash TEXT NOT NULL,\n strategy_source TEXT NOT NULL,\n inst_id TEXT NOT NULL,\n request_json TEXT NOT NULL,\n data_snapshot_id TEXT,\n bar_count INTEGER NOT NULL DEFAULT 0,\n preload_bars INTEGER NOT NULL DEFAULT 0,\n progress_pct REAL NOT NULL DEFAULT 0,\n eta_ms INTEGER,\n metrics_json TEXT,\n -- The assumptions the run actually used. Stored per run because settings can\n -- change between runs, and a report that cannot say what it assumed is not\n -- comparable to any other report.\n assumptions_json TEXT,\n error TEXT,\n created_at INTEGER NOT NULL,\n started_at INTEGER,\n finished_at INTEGER\n);\n\nCREATE INDEX IF NOT EXISTS idx_strategy_runs_created\n ON strategy_runs(created_at DESC);\nCREATE INDEX IF NOT EXISTS idx_strategy_runs_status\n ON strategy_runs(status, created_at DESC);\n\nCREATE TABLE IF NOT EXISTS strategy_run_series (\n run_id TEXT NOT NULL,\n chunk_index INTEGER NOT NULL,\n from_point INTEGER NOT NULL,\n to_point INTEGER NOT NULL,\n start_ms INTEGER NOT NULL,\n step_ms INTEGER NOT NULL,\n payload BLOB NOT NULL,\n PRIMARY KEY(run_id, chunk_index)\n) WITHOUT ROWID;\n\nCREATE TABLE IF NOT EXISTS strategy_run_trades (\n run_id TEXT NOT NULL,\n seq INTEGER NOT NULL,\n trade_json TEXT NOT NULL,\n PRIMARY KEY(run_id, seq)\n) WITHOUT ROWID;\n\nCREATE TABLE IF NOT EXISTS strategy_run_actions (\n run_id TEXT NOT NULL,\n seq INTEGER NOT NULL,\n action_json TEXT NOT NULL,\n PRIMARY KEY(run_id, seq)\n) WITHOUT ROWID;\n\n-- One row per evaluated parameter combination of an optimize run.\n--\n-- Training and validation metrics are stored separately rather than merged into\n-- one figure. The gap between them is the finding: a candidate that earned its\n-- ranking and one that memorized the training segment are indistinguishable from\n-- a single number.\nCREATE TABLE IF NOT EXISTS strategy_optimization_candidates (\n run_id TEXT NOT NULL,\n candidate_index INTEGER NOT NULL,\n params_json TEXT NOT NULL,\n status TEXT NOT NULL,\n train_metrics_json TEXT,\n validation_metrics_json TEXT,\n -- Validation-segment score. Null while queued, and for a candidate that failed.\n rank_score REAL,\n -- Which formula produced rank_score, because it is not always Calmar.\n rank_basis TEXT,\n verdict TEXT,\n error TEXT,\n PRIMARY KEY(run_id, candidate_index)\n) WITHOUT ROWID;\n\n-- Ranking reads this in score order, so it is indexed rather than sorted per read.\nCREATE INDEX IF NOT EXISTS idx_optimization_rank\n ON strategy_optimization_candidates(run_id, rank_score DESC);\n";
11
+ export declare const STRATEGY_SCHEMA_SQL = "\nCREATE TABLE IF NOT EXISTS strategy_runs (\n id TEXT PRIMARY KEY,\n kind TEXT NOT NULL,\n status TEXT NOT NULL,\n strategy_name TEXT NOT NULL,\n strategy_hash TEXT NOT NULL,\n strategy_source TEXT NOT NULL,\n inst_id TEXT NOT NULL,\n request_json TEXT NOT NULL,\n data_snapshot_id TEXT,\n bar_count INTEGER NOT NULL DEFAULT 0,\n preload_bars INTEGER NOT NULL DEFAULT 0,\n progress_pct REAL NOT NULL DEFAULT 0,\n eta_ms INTEGER,\n metrics_json TEXT,\n -- The assumptions the run actually used. Stored per run because settings can\n -- change between runs, and a report that cannot say what it assumed is not\n -- comparable to any other report.\n assumptions_json TEXT,\n error TEXT,\n created_at INTEGER NOT NULL,\n started_at INTEGER,\n finished_at INTEGER\n);\n\nCREATE INDEX IF NOT EXISTS idx_strategy_runs_created\n ON strategy_runs(created_at DESC);\nCREATE INDEX IF NOT EXISTS idx_strategy_runs_status\n ON strategy_runs(status, created_at DESC);\n\nCREATE TABLE IF NOT EXISTS strategy_run_series (\n run_id TEXT NOT NULL,\n chunk_index INTEGER NOT NULL,\n from_point INTEGER NOT NULL,\n to_point INTEGER NOT NULL,\n start_ms INTEGER NOT NULL,\n step_ms INTEGER NOT NULL,\n payload BLOB NOT NULL,\n codec TEXT NOT NULL DEFAULT 'f64x4',\n PRIMARY KEY(run_id, chunk_index)\n) WITHOUT ROWID;\n\nCREATE TABLE IF NOT EXISTS strategy_run_trades (\n run_id TEXT NOT NULL,\n seq INTEGER NOT NULL,\n trade_json TEXT NOT NULL,\n PRIMARY KEY(run_id, seq)\n) WITHOUT ROWID;\n\nCREATE TABLE IF NOT EXISTS strategy_run_actions (\n run_id TEXT NOT NULL,\n seq INTEGER NOT NULL,\n action_json TEXT NOT NULL,\n PRIMARY KEY(run_id, seq)\n) WITHOUT ROWID;\n\n-- One row per evaluated parameter combination of an optimize run.\n--\n-- Training and validation metrics are stored separately rather than merged into\n-- one figure. The gap between them is the finding: a candidate that earned its\n-- ranking and one that memorized the training segment are indistinguishable from\n-- a single number.\nCREATE TABLE IF NOT EXISTS strategy_optimization_candidates (\n run_id TEXT NOT NULL,\n candidate_index INTEGER NOT NULL,\n params_json TEXT NOT NULL,\n status TEXT NOT NULL,\n train_metrics_json TEXT,\n validation_metrics_json TEXT,\n -- Validation-segment score. Null while queued, and for a candidate that failed.\n rank_score REAL,\n -- Which formula produced rank_score, because it is not always Calmar.\n rank_basis TEXT,\n verdict TEXT,\n error TEXT,\n PRIMARY KEY(run_id, candidate_index)\n) WITHOUT ROWID;\n\n-- Ranking reads this in score order, so it is indexed rather than sorted per read.\nCREATE INDEX IF NOT EXISTS idx_optimization_rank\n ON strategy_optimization_candidates(run_id, rank_score DESC);\n";
@@ -1,10 +1,12 @@
1
1
  /**
2
2
  * Storage for queued and completed strategy runs.
3
3
  *
4
- * The equity curve is stored as fixed-width little-endian float64 blocks rather
5
- * than JSON rows. A 500k-bar curve is tens of megabytes as JSON objects and
6
- * under a megabyte here, and every value round-trips bit-for-bit — decimal JSON
7
- * text does not guarantee that.
4
+ * The equity curve is stored as chunked binary float64 blocks rather than JSON rows.
5
+ * Every value round-trips bit-for-bit, which decimal JSON text does not guarantee, and
6
+ * a measured 344k-point curve is 2.4 MB here against roughly 40 MB as JSON objects.
7
+ *
8
+ * `codec` names the layout of each chunk's payload. It is read rather than inferred so
9
+ * that chunks written by an earlier build keep decoding correctly — see `series-codec.ts`.
8
10
  */
9
11
  export const STRATEGY_SCHEMA_SQL = `
10
12
  CREATE TABLE IF NOT EXISTS strategy_runs (
@@ -45,6 +47,7 @@ CREATE TABLE IF NOT EXISTS strategy_run_series (
45
47
  start_ms INTEGER NOT NULL,
46
48
  step_ms INTEGER NOT NULL,
47
49
  payload BLOB NOT NULL,
50
+ codec TEXT NOT NULL DEFAULT 'f64x4',
48
51
  PRIMARY KEY(run_id, chunk_index)
49
52
  ) WITHOUT ROWID;
50
53
 
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/strategy/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiFlC,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/strategy/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkFlC,CAAC"}
@@ -0,0 +1,50 @@
1
+ import type { EquityPoint } from "./types.js";
2
+ /**
3
+ * How one equity chunk's bytes are laid out.
4
+ *
5
+ * The name is stored beside the payload rather than inferred from its length, so a
6
+ * chunk written by an older build keeps being read the way it was written. A codec is
7
+ * append-only: once a name has been persisted its decoder stays.
8
+ */
9
+ export type SeriesCodec = "f64x4" | "f64x3z";
10
+ /** What every codec written before the column existed must be read as. */
11
+ export declare const LEGACY_CODEC: SeriesCodec;
12
+ /** What new chunks are written with. */
13
+ export declare const CURRENT_CODEC: SeriesCodec;
14
+ export interface ChunkPlan {
15
+ codec: SeriesCodec;
16
+ /** First point's timestamp, in epoch ms. */
17
+ startMs: number;
18
+ /** Spacing between consecutive points, in ms. Zero for a single-point chunk. */
19
+ stepMs: number;
20
+ payload: Buffer;
21
+ }
22
+ /**
23
+ * Encodes one chunk of the equity curve.
24
+ *
25
+ * Two things shrink it. The time column is dropped, because a backtest evaluates one
26
+ * closed bar at a time and those timestamps are an arithmetic sequence — `startMs +
27
+ * stepMs * i` reproduces them exactly, and this is verified rather than assumed.
28
+ * The remaining three f64 columns compress well because consecutive equity values
29
+ * share most of their bytes.
30
+ *
31
+ * When the spacing is not uniform the chunk falls back to `f64x4`, which stores every
32
+ * timestamp. A gap in the curve is a fact about the run, not something to smooth over.
33
+ */
34
+ export declare function encodeChunk(points: readonly EquityPoint[]): ChunkPlan;
35
+ /**
36
+ * Reads points `[fromIndex, toIndex)` of a chunk, where the indexes are relative to
37
+ * the chunk's own first point.
38
+ *
39
+ * A compressed chunk has to be inflated whole before any point can be addressed, so
40
+ * the range only narrows what is materialized, not what is decompressed. That is why
41
+ * chunks are bounded in size: the cost of reading one point is the cost of one chunk.
42
+ */
43
+ export declare function decodeChunk(chunk: {
44
+ codec: SeriesCodec;
45
+ startMs: number;
46
+ stepMs: number;
47
+ payload: Buffer;
48
+ }, fromIndex: number, toIndex: number): EquityPoint[];
49
+ /** Names a stored codec, treating anything written before the column existed as legacy. */
50
+ export declare function codecFrom(value: unknown): SeriesCodec;
@@ -0,0 +1,103 @@
1
+ import zlib from "node:zlib";
2
+ /** What every codec written before the column existed must be read as. */
3
+ export const LEGACY_CODEC = "f64x4";
4
+ /** What new chunks are written with. */
5
+ export const CURRENT_CODEC = "f64x3z";
6
+ /** Bytes per point in the uncompressed four-column layout. */
7
+ const F64X4_STRIDE = 32;
8
+ /** Bytes per point once the time column is dropped. */
9
+ const F64X3_STRIDE = 24;
10
+ /**
11
+ * Encodes one chunk of the equity curve.
12
+ *
13
+ * Two things shrink it. The time column is dropped, because a backtest evaluates one
14
+ * closed bar at a time and those timestamps are an arithmetic sequence — `startMs +
15
+ * stepMs * i` reproduces them exactly, and this is verified rather than assumed.
16
+ * The remaining three f64 columns compress well because consecutive equity values
17
+ * share most of their bytes.
18
+ *
19
+ * When the spacing is not uniform the chunk falls back to `f64x4`, which stores every
20
+ * timestamp. A gap in the curve is a fact about the run, not something to smooth over.
21
+ */
22
+ export function encodeChunk(points) {
23
+ if (points.length === 0) {
24
+ throw new Error("An equity chunk needs at least one point");
25
+ }
26
+ const first = points[0];
27
+ const stepMs = points.length > 1 ? points[1].timeMs - first.timeMs : 0;
28
+ if (!isUniform(points, first.timeMs, stepMs)) {
29
+ return { codec: "f64x4", startMs: first.timeMs, stepMs, payload: encodeF64x4(points) };
30
+ }
31
+ const raw = Buffer.allocUnsafe(points.length * F64X3_STRIDE);
32
+ points.forEach((point, index) => {
33
+ const base = index * F64X3_STRIDE;
34
+ raw.writeDoubleLE(point.equityUsdt, base);
35
+ raw.writeDoubleLE(point.realizedCashUsdt, base + 8);
36
+ raw.writeDoubleLE(point.unrealizedPnlUsdt, base + 16);
37
+ });
38
+ return {
39
+ codec: "f64x3z",
40
+ startMs: first.timeMs,
41
+ stepMs,
42
+ payload: zlib.deflateSync(raw)
43
+ };
44
+ }
45
+ /**
46
+ * Reads points `[fromIndex, toIndex)` of a chunk, where the indexes are relative to
47
+ * the chunk's own first point.
48
+ *
49
+ * A compressed chunk has to be inflated whole before any point can be addressed, so
50
+ * the range only narrows what is materialized, not what is decompressed. That is why
51
+ * chunks are bounded in size: the cost of reading one point is the cost of one chunk.
52
+ */
53
+ export function decodeChunk(chunk, fromIndex, toIndex) {
54
+ const rows = [];
55
+ if (chunk.codec === "f64x4") {
56
+ for (let index = fromIndex; index < toIndex; index += 1) {
57
+ const base = index * F64X4_STRIDE;
58
+ rows.push({
59
+ timeMs: chunk.payload.readDoubleLE(base),
60
+ equityUsdt: chunk.payload.readDoubleLE(base + 8),
61
+ realizedCashUsdt: chunk.payload.readDoubleLE(base + 16),
62
+ unrealizedPnlUsdt: chunk.payload.readDoubleLE(base + 24)
63
+ });
64
+ }
65
+ return rows;
66
+ }
67
+ const raw = zlib.inflateSync(chunk.payload);
68
+ for (let index = fromIndex; index < toIndex; index += 1) {
69
+ const base = index * F64X3_STRIDE;
70
+ rows.push({
71
+ timeMs: chunk.startMs + chunk.stepMs * index,
72
+ equityUsdt: raw.readDoubleLE(base),
73
+ realizedCashUsdt: raw.readDoubleLE(base + 8),
74
+ unrealizedPnlUsdt: raw.readDoubleLE(base + 16)
75
+ });
76
+ }
77
+ return rows;
78
+ }
79
+ /** Names a stored codec, treating anything written before the column existed as legacy. */
80
+ export function codecFrom(value) {
81
+ return value === "f64x3z" ? "f64x3z" : LEGACY_CODEC;
82
+ }
83
+ function isUniform(points, startMs, stepMs) {
84
+ // Checked rather than trusted: the decoder reconstructs every timestamp from this
85
+ // arithmetic, so one irregular bar would silently move the whole tail of the chunk.
86
+ for (let index = 0; index < points.length; index += 1) {
87
+ if (points[index].timeMs !== startMs + stepMs * index)
88
+ return false;
89
+ }
90
+ return true;
91
+ }
92
+ function encodeF64x4(points) {
93
+ const payload = Buffer.allocUnsafe(points.length * F64X4_STRIDE);
94
+ points.forEach((point, index) => {
95
+ const base = index * F64X4_STRIDE;
96
+ payload.writeDoubleLE(point.timeMs, base);
97
+ payload.writeDoubleLE(point.equityUsdt, base + 8);
98
+ payload.writeDoubleLE(point.realizedCashUsdt, base + 16);
99
+ payload.writeDoubleLE(point.unrealizedPnlUsdt, base + 24);
100
+ });
101
+ return payload;
102
+ }
103
+ //# sourceMappingURL=series-codec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"series-codec.js","sourceRoot":"","sources":["../../src/strategy/series-codec.ts"],"names":[],"mappings":"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"}
@@ -337,7 +337,10 @@ export class StrategyService {
337
337
  if (!response.ok)
338
338
  throw pythonError(response);
339
339
  const report = response.report;
340
- this.store.completeRun(id, report.metrics, report.equity, report.trades, report.actions);
340
+ this.store.completeRun(id, report.metrics, report.equity, report.trades, report.actions,
341
+ // The engine resolves the final interval list, so the assumptions written
342
+ // before the run are corrected with what it reported.
343
+ Array.isArray(response.intervals) ? response.intervals : undefined);
341
344
  }
342
345
  catch (error) {
343
346
  if (signal.aborted) {
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/strategy/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/strategy/service.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,18 @@ export declare class StrategyStore {
28
28
  }): string;
29
29
  markRunning(id: string, barCount: number, preloadBars: number, dataSnapshotId: string, assumptions?: Record<string, unknown>): void;
30
30
  updateProgress(id: string, progressPct: number, etaMs: number | null): void;
31
- completeRun(id: string, metrics: Record<string, unknown>, equity: EquityPoint[], trades: unknown[], actions: unknown[]): void;
31
+ completeRun(id: string, metrics: Record<string, unknown>, equity: EquityPoint[], trades: unknown[], actions: unknown[],
32
+ /**
33
+ * Timeframes the engine actually aggregated.
34
+ *
35
+ * The assumptions are written before the run, from the request. The engine adds
36
+ * any interval it finds the source reading, so the request is not the final answer
37
+ * and a report quoting it would name timeframes the run did not use — or omit ones
38
+ * it did. Passed only when the engine reported them.
39
+ */
40
+ intervals?: string[]): void;
41
+ /** Replaces the assumed interval list with the one the engine reported using. */
42
+ private recordIntervals;
32
43
  failRun(id: string, error: string): void;
33
44
  cancelRun(id: string): boolean;
34
45
  run(id: string): RunSummary | undefined;