backtest-kit 8.4.0 โ†’ 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -51,11 +51,11 @@ Sidekick generates a project where the exchange adapter, frame definitions, risk
51
51
  ```bash
52
52
  npx @backtest-kit/cli --docker
53
53
  cd backtest-kit-docker
54
- MODE=live SYMBOL=TRXUSDT UI=1 docker-compose up -d
54
+ MODE=live SYMBOL=TRXUSDT STRATEGY_FILE=./content/feb_2026/feb_2026.strategy.ts docker-compose up -d
55
55
  docker-compose logs -f
56
56
  ```
57
57
 
58
- CLI can create a ready-to-use Docker workspace: self-contained directory with `docker-compose.yaml` and a strategy entry point.
58
+ CLI can create a ready-to-use Docker workspace: self-contained directory with `docker-compose.yaml` and a strategy entry point. CLI supports [Multiple Symbol in Parallel](https://www.npmjs.com/package/@backtest-kit/cli#-multiple-symbol-parallel) for powerusers.
59
59
 
60
60
  ### ๐Ÿ“ฆ Manual Installation
61
61
 
@@ -78,7 +78,7 @@ Install the core library and peer dependencies manually. Use this approach when
78
78
  - ๐Ÿ›ก๏ธ **Risk Management**: Custom rules for position limits, time windows, and multi-strategy coordination.
79
79
  - ๐Ÿ”Œ **Pluggable**: Custom data sources (CCXT), persistence (file/Redis), and sizing calculators.
80
80
  - ๐Ÿ—ƒ๏ธ **Transactional Live Orders**: Broker adapter intercepts every trade mutation before internal state changes โ€” exchange rejection rolls back the operation atomically.
81
- - ๐Ÿงช **Tested**: 515+ unit/integration tests for validation, recovery, and events.
81
+ - ๐Ÿงช **Tested**: 520+ unit/integration tests for validation, recovery, and events.
82
82
  - ๐Ÿ”“ **Self hosted**: Zero dependency on third-party node_modules or platforms; run entirely in your own environment.
83
83
 
84
84
  ## ๐Ÿ“‹ Supported Order Types
@@ -361,6 +361,8 @@ These three functions work together to dynamically manage the position. To reduc
361
361
  ```
362
362
  </details>
363
363
 
364
+ #### Internals
365
+
364
366
  **`priceOpen`** is the harmonic mean of all accepted DCA entries. After each partial close (`commitPartialProfit` or `commitPartialLoss`), the remaining cost basis is carried forward into the harmonic mean calculation for subsequent entries โ€” so `priceOpen` shifts after every partial, which in turn changes whether the next `commitAverageBuy` call will be accepted.
365
367
 
366
368
  ### ๐Ÿ” How Broker Transactional Integrity Works
@@ -1261,6 +1263,8 @@ Broker.enable();
1261
1263
 
1262
1264
  </details>
1263
1265
 
1266
+ #### Internals
1267
+
1264
1268
  Signal open/close events are routed automatically via an internal event bus once `Broker.enable()` is called. **No manual wiring needed.** All other operations (`partialProfit`, `trailingStop`, `breakeven`, `averageBuy`) are intercepted explicitly before the corresponding state mutation.
1265
1269
 
1266
1270
  ### ๐Ÿ” How getCandles Works
@@ -1436,6 +1440,8 @@ Aggregated trades fetching uses the same look-ahead bias protection as candles -
1436
1440
 
1437
1441
  </details>
1438
1442
 
1443
+ #### Aggregated Trades Timestamp Convention:
1444
+
1439
1445
  **Compatible with:** [garch](https://www.npmjs.com/package/garch) for volatility modelling and [volume-anomaly](https://www.npmjs.com/package/volume-anomaly) for detecting abnormal trade volume โ€” both accept the same `from`/`to` time range format that `getAggregatedTrades` produces.
1440
1446
 
1441
1447
  ### ๐Ÿ”ฌ Technical Details: Timestamp Alignment
@@ -1807,7 +1813,7 @@ Python-based (WASI) strategy that uses EMA(9) and EMA(21) crossover signals exec
1807
1813
 
1808
1814
  ## โœ… Tested & Reliable
1809
1815
 
1810
- 515+ tests cover validation, recovery, reports, and events.
1816
+ 520+ tests cover validation, recovery, reports, and events.
1811
1817
 
1812
1818
  ## ๐Ÿค Contribute
1813
1819