backtest-kit 13.3.0 → 13.5.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 CHANGED
@@ -1979,6 +1979,16 @@ Python-based (WASI) strategy that uses EMA(9) and EMA(21) crossover signals exec
1979
1979
 
1980
1980
  **TheOneTrade** is the commercial vendor behind backtest-kit, providing paid support, custom strategy development, managed accounts, team training, and enterprise licensing. Contact for SLAs, private features, or quant team engagements that fall outside the MIT-licensed open-source scope.
1981
1981
 
1982
+ ## 🪐 See also
1983
+
1984
+ Zero-dependency TypeScript ports of the quant math behind [vectorbt](https://github.com/polakowo/vectorbt) — same models, native to backtest-kit's `Exchange` schema, no Python runtime. Each estimates a different dimension of speculative pressure and plugs in independently:
1985
+
1986
+ - **[garch](https://www.npmjs.com/package/garch)** — models conditional variance of log-returns (GARCH / EGARCH / GJR-GARCH / HAR-RV / NoVaS, auto-selected by QLIKE) to bound how far flow can push price next candle. Fitted `σ` → log-normal corridor `P·exp(±z·σ)` for TP/SL. Via `Exchange.getCandles`.
1987
+
1988
+ - **[pump-anomaly](https://www.npmjs.com/package/pump-anomaly)** — detects coordinated speculation: cross-correlation + union-find author clustering separates real multi-actor inflow from one actor on many channels, volume z-scores score cascade pressure (pump vs stop-hunt). Returns an entry/exit plan, exits fitted by OHLC replay and screened against winner's-curse (DSR / PBO / SPA). Via `Exchange.getRawCandles` (pretrain model in past).
1989
+
1990
+ - **[volume-anomaly](https://www.npmjs.com/package/volume-anomaly)** — quantifies order-flow intensity: Hawkes branching ratio (arrival clustering), CUSUM (imbalance shift), BOCPD (regime break) → composite outlier score as an entry-timing gate. Via `Exchange.getAggregatedTrades`.
1991
+
1982
1992
  ## 🤖 Are you a robot?
1983
1993
 
1984
1994
  **For language models**: Read extended description in [./LLMs.md](./LLMs.md)
package/build/index.cjs CHANGED
@@ -10749,7 +10749,7 @@ class ClientStrategy {
10749
10749
  const currentTime = this.params.execution.context.when.getTime();
10750
10750
  const currentPrice = await this.params.exchange.getAveragePrice(this.params.execution.context.symbol);
10751
10751
  // Process queued commit events with proper timestamp
10752
- await PROCESS_COMMIT_QUEUE_FN(this, currentTime, currentPrice);
10752
+ await PROCESS_COMMIT_QUEUE_FN(this, currentPrice, currentTime);
10753
10753
  // Check if scheduled signal was cancelled - emit cancelled event once
10754
10754
  // NOTE: No _isStopped check here - cancellation must work for graceful shutdown
10755
10755
  if (this._cancelledSignal) {
package/build/index.mjs CHANGED
@@ -10729,7 +10729,7 @@ class ClientStrategy {
10729
10729
  const currentTime = this.params.execution.context.when.getTime();
10730
10730
  const currentPrice = await this.params.exchange.getAveragePrice(this.params.execution.context.symbol);
10731
10731
  // Process queued commit events with proper timestamp
10732
- await PROCESS_COMMIT_QUEUE_FN(this, currentTime, currentPrice);
10732
+ await PROCESS_COMMIT_QUEUE_FN(this, currentPrice, currentTime);
10733
10733
  // Check if scheduled signal was cancelled - emit cancelled event once
10734
10734
  // NOTE: No _isStopped check here - cancellation must work for graceful shutdown
10735
10735
  if (this._cancelledSignal) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "backtest-kit",
3
- "version": "13.3.0",
3
+ "version": "13.5.0",
4
4
  "description": "A TypeScript library for trading system backtest",
5
5
  "author": {
6
6
  "name": "Petr Tripolsky",