@backtest-kit/signals 13.6.0 โ†’ 14.1.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.
Files changed (2) hide show
  1. package/README.md +114 -220
  2. package/package.json +6 -6
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ๐Ÿ“Š @backtest-kit/signals
4
4
 
5
- > Technical analysis and trading signal generation library for AI-powered trading systems. Computes 50+ indicators across 4 timeframes and generates markdown reports for LLM consumption.
5
+ > Multi-timeframe technical analysis for AI trading on [backtest-kit](https://www.npmjs.com/package/backtest-kit). Computes 50+ indicators across four timeframes plus order-book depth, and emits LLM-ready markdown reports โ€” drop the whole market context into an LLM prompt in one call.
6
6
 
7
7
  ![screenshot](https://raw.githubusercontent.com/tripolskypetr/backtest-kit/HEAD/assets/screenshots/screenshot16.png)
8
8
 
@@ -10,297 +10,191 @@
10
10
  [![npm](https://img.shields.io/npm/v/@backtest-kit/signals.svg?style=flat-square)](https://npmjs.org/package/@backtest-kit/signals)
11
11
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.0+-blue)]()
12
12
 
13
- Transform raw market data into actionable trading insights with multi-timeframe technical analysis, order book depth, and AI-ready markdown reports.
14
-
15
- ๐Ÿ“š **[Backtest Kit Docs](https://backtest-kit.github.io/documents/article_07_ai_news_trading_signals.html)** | ๐ŸŒŸ **[GitHub](https://github.com/tripolskypetr/backtest-kit)**
16
-
17
- > **New to backtest-kit?** The fastest way to get a real, production-ready setup is to clone the [reference implementation](https://github.com/tripolskypetr/backtest-kit/tree/master/example) โ€” a fully working news-sentiment AI trading system with LLM forecasting, multi-timeframe data, and a documented February 2026 backtest. Start there instead of from scratch.
18
-
19
- ## โœจ Features
20
-
21
- - ๐Ÿ“ˆ **Multi-Timeframe Analysis**: 1m, 15m, 30m, 1h with synchronized indicator computation
22
- - ๐ŸŽฏ **50+ Technical Indicators**: RSI, MACD, Bollinger Bands, Stochastic, ADX, ATR, CCI, Fibonacci, Support/Resistance
23
- - ๐Ÿ“Š **Order Book Analysis**: Bid/ask depth, spread, liquidity imbalance, top 20 levels
24
- - ๐Ÿค– **AI-Ready Output**: Markdown reports formatted for LLM context injection
25
- - โšก **Performance Optimized**: Intelligent caching with configurable TTL per timeframe
26
- - ๐Ÿงฎ **Custom Algorithms**: Fibonacci retracements, support/resistance detection, volume analysis
27
- - ๐Ÿ“ฆ **Zero Config**: Works out-of-the-box with backtest-kit
28
-
29
- ## ๐Ÿ“‹ What It Does
30
-
31
- `@backtest-kit/signals` analyzes market data and generates comprehensive technical reports across multiple timeframes:
32
-
33
- | Timeframe | Candles | Indicators | Use Case |
34
- |-----------|---------|------------|----------|
35
- | **MicroTerm** (1m) | 60 | RSI(9,14), MACD(8,21,5), Stochastic, ADX(9), Bollinger(8,2), ATR, CCI, Volume, Squeeze | Scalping, ultra-short entries |
36
- | **ShortTerm** (15m) | 144 | RSI(9), MACD(8,21,5), Stochastic(5,3,3), ADX(14), Bollinger(10,2), Fibonacci | Day trading |
37
- | **SwingTerm** (30m) | 96 | RSI(14), MACD(12,26,9), Stochastic(14,3,3), Bollinger(20,2), Support/Resistance | Swing trading |
38
- | **LongTerm** (1h) | 100 | RSI(14), MACD(12,26,9), ADX(14), Bollinger(20,2), SMA(50), DEMA, WMA, Volume Trend | Trend analysis |
39
-
40
- **Plus:** Real-time order book analysis with bid/ask depth and imbalance metrics.
41
-
42
- ## ๐Ÿš€ Installation
13
+ ๐Ÿ“š **[Docs](https://backtest-kit.github.io/documents/article_07_ai_news_trading_signals.html)** ยท ๐ŸŒŸ **[Reference implementation](https://github.com/tripolskypetr/backtest-kit/tree/master/example)** ยท ๐Ÿ™ **[GitHub](https://github.com/tripolskypetr/backtest-kit)**
43
14
 
44
15
  ```bash
45
16
  npm install @backtest-kit/signals backtest-kit
46
17
  ```
47
18
 
48
- ## ๐Ÿ“– Usage
19
+ ---
49
20
 
50
- ### Quick Start - All-in-One Report
21
+ ## Why
51
22
 
52
- The easiest way to inject technical analysis into your LLM strategy:
23
+ An LLM trading strategy is only as good as the market context you hand it. Computing 50+ indicators across four timeframes, formatting order-book depth, and laying it all out as clean markdown โ€” by hand, every tick โ€” is the unglamorous 200 lines that decides signal quality. This package is that work, pre-computed, cached, and synchronized with backtest-kit's timeline: one `commitHistorySetup(symbol, messages)` appends order book + candle history + indicators for 1m/15m/30m/1h to your LLM message array.
53
24
 
54
- ```typescript
55
- import { commitHistorySetup } from '@backtest-kit/signals';
56
- import { getCandles } from 'backtest-kit';
25
+ - ๐Ÿ“ˆ **Four synchronized timeframes** โ€” MicroTerm 1m ยท ShortTerm 15m ยท SwingTerm 30m ยท LongTerm 1h.
26
+ - ๐ŸŽฏ **50+ indicators** โ€” RSI, MACD, Bollinger, Stochastic, ADX, ATR, CCI, Fibonacci, support/resistance, squeeze, volume trend.
27
+ - ๐Ÿ“Š **Order-book depth** โ€” best bid/ask, spread, top-20 levels, liquidity imbalance.
28
+ - ๐Ÿค– **LLM-ready markdown** โ€” formatted tables for context injection.
29
+ - โšก **Cached** โ€” per-timeframe TTL; cache cleared on error.
30
+ - ๐Ÿ“ฆ **Zero config** โ€” works out of the box on the engine's temporal context.
57
31
 
58
- // In your strategy's getSignal function:
59
- const messages = [];
32
+ ---
60
33
 
61
- // Add all technical analysis + order book + candle history
62
- await commitHistorySetup('BTCUSDT', messages);
63
-
64
- // Now messages contains:
65
- // - Order book analysis (bids/asks, spread, imbalance)
66
- // - Candle history (1m, 15m, 30m, 1h)
67
- // - Technical indicators for all 4 timeframes
68
- // - System info (symbol, price, timestamp)
69
-
70
- // Send to LLM
71
- const signal = await llm(messages);
72
- ```
73
-
74
- ### Granular Control - Individual Reports
75
-
76
- For fine-grained control over what data to include:
34
+ ## Quick start โ€” one call
77
35
 
78
36
  ```typescript
79
- import {
80
- commitBookDataReport,
81
- commitOneMinuteHistory,
82
- commitFifteenMinuteHistory,
83
- commitThirtyMinuteHistory,
84
- commitHourHistory,
85
- commitMicroTermMath,
86
- commitShortTermMath,
87
- commitSwingTermMath,
88
- commitLongTermMath,
89
- } from '@backtest-kit/signals';
37
+ import { commitHistorySetup } from '@backtest-kit/signals';
90
38
 
91
39
  const messages = [];
92
-
93
- // Order book analysis
94
- await commitBookDataReport('BTCUSDT', messages);
95
-
96
- // Candle histories
97
- await commitOneMinuteHistory('BTCUSDT', messages); // Last 15 candles
98
- await commitFifteenMinuteHistory('BTCUSDT', messages); // Last 8 candles
99
- await commitThirtyMinuteHistory('BTCUSDT', messages); // Last 6 candles
100
- await commitHourHistory('BTCUSDT', messages); // Last 6 candles
101
-
102
- // Technical indicators
103
- await commitMicroTermMath('BTCUSDT', messages); // 1m indicators
104
- await commitShortTermMath('BTCUSDT', messages); // 15m indicators
105
- await commitSwingTermMath('BTCUSDT', messages); // 30m indicators
106
- await commitLongTermMath('BTCUSDT', messages); // 1h indicators
107
-
108
- // Send to LLM
40
+ await commitHistorySetup('BTCUSDT', messages);
41
+ // messages now hold: order book + 1m/15m/30m/1h candle history
42
+ // + indicators for all 4 timeframes + system context (symbol, price, timestamp)
109
43
  const signal = await llm(messages);
110
44
  ```
111
45
 
112
- ### Complete LLM Strategy Example
46
+ <details>
47
+ <summary>Complete LLM strategy</summary>
113
48
 
114
49
  ```typescript
115
50
  import { v4 as uuid } from 'uuid';
116
51
  import { addStrategy, dumpSignal } from 'backtest-kit';
117
52
  import { commitHistorySetup } from '@backtest-kit/signals';
118
- import { json } from './utils/json.mjs'; // Your LLM wrapper
53
+ import { json } from './utils/json.mjs'; // your LLM wrapper
119
54
 
120
55
  addStrategy({
121
- strategyName: 'llm-strategy',
122
- interval: '5m',
123
- riskName: 'demo',
56
+ strategyName: 'llm-strategy', interval: '5m', riskName: 'demo',
124
57
  getSignal: async (symbol) => {
125
- const messages = [
126
- {
127
- role: 'system',
128
- content: 'You are a trading bot. Analyze technical indicators and generate signals.'
129
- }
130
- ];
131
-
132
- // Inject all technical analysis
58
+ const messages = [{ role: 'system', content: 'You are a trading bot. Analyze the indicators and generate a signal.' }];
133
59
  await commitHistorySetup(symbol, messages);
60
+ messages.push({ role: 'user', content: [
61
+ 'Based on the technical analysis above, generate a trading signal.',
62
+ 'Use position: "wait" if signals are unclear or contradictory.',
63
+ 'Return JSON: { position: "long"|"short"|"wait", priceTakeProfit: number, priceStopLoss: number }',
64
+ ].join('\n') });
134
65
 
135
- // Add trading instructions
136
- messages.push({
137
- role: 'user',
138
- content: [
139
- 'Based on the technical analysis above, generate a trading signal.',
140
- 'Use position: "wait" if signals are unclear or contradictory.',
141
- 'Return JSON: { position: "long"|"short"|"wait", priceTakeProfit: number, priceStopLoss: number }'
142
- ].join('\n')
143
- });
144
-
145
- // Generate signal via LLM
146
66
  const resultId = uuid();
147
67
  const signal = await json(messages);
148
-
149
- // Save conversation for debugging
150
- await dumpSignal(resultId, messages, signal);
151
-
68
+ await dumpSignal(resultId, messages, signal); // archive for debugging
152
69
  return { ...signal, id: resultId };
153
- }
70
+ },
154
71
  });
155
72
  ```
156
73
 
157
- ### Custom Logger
74
+ </details>
158
75
 
159
- By default, signals uses a no-op logger. To enable logging:
76
+ ---
160
77
 
161
- ```typescript
162
- import { setLogger } from '@backtest-kit/signals';
163
-
164
- setLogger({
165
- log: console.log,
166
- debug: console.debug,
167
- info: console.info,
168
- warn: console.warn,
169
- });
170
- ```
78
+ ## Granular control
171
79
 
172
- ## ๐Ÿ“Š Generated Report Structure
80
+ Prefer to choose exactly what goes into the prompt? Call the individual report functions โ€” each appends one markdown section to `messages`.
173
81
 
174
- ### Order Book Report
82
+ <details>
83
+ <summary>The 9 granular functions</summary>
175
84
 
176
- ```markdown
177
- ## Order Book Analysis
85
+ ```typescript
86
+ import {
87
+ commitBookDataReport, // order book: bids/asks, spread, imbalance
88
+ commitOneMinuteHistory, commitFifteenMinuteHistory, // candle histories (last 15 / 8 โ€ฆ)
89
+ commitThirtyMinuteHistory, commitHourHistory,
90
+ commitMicroTermMath, commitShortTermMath, // indicator tables per timeframe
91
+ commitSwingTermMath, commitLongTermMath,
92
+ } from '@backtest-kit/signals';
178
93
 
179
- **Symbol:** BTCUSDT
180
- **Best Bid:** 50000.00 | **Best Ask:** 50001.00
181
- **Mid Price:** 50000.50 | **Spread:** 1.00
182
- **Depth Imbalance:** +5.2% (buy pressure)
94
+ const messages = [];
95
+ await commitBookDataReport('BTCUSDT', messages);
96
+ await commitOneMinuteHistory('BTCUSDT', messages);
97
+ await commitMicroTermMath('BTCUSDT', messages);
98
+ // โ€ฆadd only the sections you want, then call your LLM
99
+ ```
183
100
 
184
- ### Top 20 Levels (Bids)
185
- | Price | Volume | % Total |
186
- |-------|--------|---------|
187
- | 50000.00 | 1.234 | 15.5% |
188
- ...
101
+ `commitHistorySetup` is simply the orchestrator that runs all of these in the right order.
189
102
 
190
- ### Top 20 Levels (Asks)
191
- | Price | Volume | % Total |
192
- |-------|--------|---------|
193
- | 50001.00 | 0.987 | 12.3% |
194
- ...
195
- ```
103
+ </details>
196
104
 
197
- ### Candle History Report
105
+ ---
198
106
 
199
- ```markdown
200
- ## 1-Minute Candle History (Last 15)
107
+ ## What each timeframe computes
201
108
 
202
- | Timestamp | Open | High | Low | Close | Volume | Volatility | Body Size |
203
- |-----------|------|------|-----|-------|--------|------------|-----------|
204
- | 2025-01-13 10:00 | 50000 | 50050 | 49990 | 50020 | 123.45 | 0.12% | 0.04% |
205
- ...
206
- ```
109
+ | Timeframe | Candles | Indicators | Use case |
110
+ |-----------|---------|------------|----------|
111
+ | **MicroTerm** (1m) | 60 | RSI(9,14), MACD(8,21,5), Stochastic, ADX(9), Bollinger(8,2), ATR, CCI, Volume, Squeeze | Scalping, ultra-short entries |
112
+ | **ShortTerm** (15m) | 144 | RSI(9), MACD(8,21,5), Stochastic(5,3,3), ADX(14), Bollinger(10,2), Fibonacci | Day trading |
113
+ | **SwingTerm** (30m) | 96 | RSI(14), MACD(12,26,9), Stochastic(14,3,3), Bollinger(20,2), Support/Resistance | Swing trading |
114
+ | **LongTerm** (1h) | 100 | RSI(14), MACD(12,26,9), ADX(14), Bollinger(20,2), SMA(50), DEMA, WMA, Volume Trend | Trend analysis |
207
115
 
208
- ### Technical Indicators Report
116
+ <details>
117
+ <summary>Report structure (order book ยท candles ยท indicators)</summary>
209
118
 
210
- ```markdown
211
- ## MicroTerm Analysis (1-Minute Timeframe)
119
+ **Order book** โ€” symbol, best bid/ask, mid price, spread, depth imbalance (`(bid_vol โˆ’ ask_vol)/(bid_vol + ask_vol)`, + = buy pressure), and top-20 bid/ask levels with `% of total`.
212
120
 
213
- | Time | Price | RSI(9) | RSI(14) | MACD | Signal | Histogram | Stoch %K | Stoch %D | ADX | +DI | -DI | BB Upper | BB Middle | BB Lower | ATR(5) | ATR(9) | CCI(9) | Volume | Vol Trend | Momentum | ROC | Support | Resistance | Squeeze | Pressure |
214
- |------|-------|--------|---------|------|--------|-----------|----------|----------|-----|-----|-----|----------|-----------|----------|--------|--------|--------|--------|-----------|----------|-----|---------|------------|---------|----------|
215
- | 10:00 | 50020 | 55.2 | 52.8 | 12.5 | 8.3 | 4.2 | 45.6 | 42.1 | 28.5 | 22.3 | 18.7 | 50100 | 50000 | 49900 | 15.2 | 18.9 | 45.7 | 123.45 | increasing | 0.8% | 1.2% | 49950 | 50100 | 0.85 | 15.2 |
216
- ...
121
+ **Candle history** โ€” per-candle table: timestamp, OHLC, volume, volatility, body size.
217
122
 
218
- **Data Sources:**
219
- - RSI periods: 9, 14
220
- - MACD: Fast=8, Slow=21, Signal=5
221
- - Stochastic: K=3, D=3, Smooth=3 (primary), K=5, D=3, Smooth=3 (secondary)
222
- ...
223
- ```
123
+ **Indicators** โ€” a wide per-bar table; e.g. MicroTerm columns: Price, RSI(9), RSI(14), MACD, Signal, Histogram, Stoch %K/%D, ADX, +DI, โˆ’DI, BB Upper/Middle/Lower, ATR(5/9), CCI(9), Volume, Vol Trend, Momentum, ROC, Support, Resistance, Squeeze, Pressure โ€” followed by a **Data Sources** note listing every period used.
224
124
 
225
- ## ๐Ÿ”„ Caching Strategy
125
+ </details>
226
126
 
227
- Reports are cached to avoid redundant calculations:
127
+ <details>
128
+ <summary>Caching & key algorithms</summary>
228
129
 
229
- | Timeframe | Cache Duration |
230
- |-----------|----------------|
231
- | 1-minute data | 1 minute |
232
- | 15-minute data | 5 minutes |
233
- | 30-minute data | 15 minutes |
234
- | 1-hour data | 30 minutes |
235
- | Order book | 5 minutes |
130
+ **Cache TTL** (cleared on error): 1m data โ†’ 1 min ยท 15m โ†’ 5 min ยท 30m โ†’ 15 min ยท 1h โ†’ 30 min ยท order book โ†’ 5 min.
236
131
 
237
- Cache is automatically cleared on errors.
132
+ - **Support/Resistance** โ€” MicroTerm/SwingTerm look back N candles for significant highs/lows (ยฑ0.3% threshold); LongTerm uses a 4-candle pivot method.
133
+ - **Fibonacci** โ€” levels 0 / 23.6 / 38.2 / 50 / 61.8 / 78.6 / 100 %, extensions 127.2 / 161.8 / 261.8 %; nearest level to price within 1.5% tolerance.
134
+ - **Volume** โ€” MicroTerm: SMA(5) with increasing/decreasing/stable trend (ยฑ20%); LongTerm: 6-candle average (ยฑ10%).
135
+ - **Order-book imbalance** โ€” `(bid โˆ’ ask)/(bid + ask)`, positive = buy pressure.
238
136
 
239
- ## ๐Ÿงฎ Key Algorithms
137
+ </details>
240
138
 
241
- ### Support/Resistance Detection
242
- - **MicroTerm/SwingTerm**: Looks back N candles for significant highs/lows (ยฑ0.3% threshold)
243
- - **LongTerm**: 4-candle pivot point method
139
+ <details>
140
+ <summary>Custom logger (default is no-op)</summary>
244
141
 
245
- ### Fibonacci Retracement
246
- - Calculates levels: 0%, 23.6%, 38.2%, 50%, 61.8%, 78.6%, 100%
247
- - Extensions: 127.2%, 161.8%, 261.8%
248
- - Finds nearest level to current price (1.5% tolerance)
142
+ ```typescript
143
+ import { setLogger } from '@backtest-kit/signals';
144
+ setLogger({ log: console.log, debug: console.debug, info: console.info, warn: console.warn });
145
+ ```
249
146
 
250
- ### Volume Analysis
251
- - **MicroTerm**: SMA(5) volume with increasing/decreasing/stable trend (ยฑ20% threshold)
252
- - **LongTerm**: 6-candle average comparison (ยฑ10% threshold)
147
+ </details>
253
148
 
254
- ### Order Book Imbalance
149
+ ---
255
150
 
256
- Imbalance = (bid_volume - ask_volume) / (bid_volume + ask_volume)
151
+ ## Why not compute indicators yourself?
257
152
 
258
- Positive = buy pressure, Negative = sell pressure
153
+ <details>
154
+ <summary>The difference</summary>
259
155
 
260
- ## ๐ŸŽฏ Use Cases
156
+ ```typescript
157
+ // โŒ Manual โ€” 40+ indicators, formatting, caching, all by hand
158
+ const candles = await getCandles('BTCUSDT', '1m', 60);
159
+ const rsi = calculateRSI(candles, 14);
160
+ const macd = calculateMACD(candles, 12, 26, 9);
161
+ const bb = calculateBollingerBands(candles, 20, 2);
162
+ // โ€ฆand the markdown formatting, and the cache
163
+ messages.push({ role: 'user', content: formatToMarkdown(rsi, macd, bb /* โ€ฆ */) });
261
164
 
262
- ### 1. LLM-Powered Trading Strategies
263
- Inject technical analysis into your LLM's context for intelligent signal generation.
165
+ // โœ… With signals
166
+ await commitHistorySetup('BTCUSDT', messages);
167
+ ```
264
168
 
265
- ### 2. Multi-Timeframe Confirmation
266
- Combine indicators from different timeframes to filter false signals.
169
+ Pre-computed, cached, optimized ยท 50+ indicators ร— 4 timeframes ยท LLM-ready markdown ยท synchronized with the backtest timeline ยท validation & error handling built in.
267
170
 
268
- ### 3. Market Context for AI Agents
269
- Provide comprehensive market state to AI agents making trading decisions.
171
+ </details>
270
172
 
271
- ### 4. Debugging & Analysis
272
- Save generated reports for post-analysis and strategy improvement.
173
+ ---
273
174
 
274
- ## ๐Ÿ’ก Why Use @backtest-kit/signals?
175
+ ## API reference
275
176
 
276
- Instead of manually calculating indicators and formatting data for your LLM:
177
+ | Export | Description |
178
+ |--------|-------------|
179
+ | `commitHistorySetup(symbol, messages)` | Orchestrator โ€” appends order book + all candle histories + all indicators + context |
180
+ | `commitBookDataReport(symbol, messages)` | Order-book depth & imbalance section |
181
+ | `commitOneMinuteHistory` / `commitFifteenMinuteHistory` / `commitThirtyMinuteHistory` / `commitHourHistory` | Candle-history sections per timeframe |
182
+ | `commitMicroTermMath` / `commitShortTermMath` / `commitSwingTermMath` / `commitLongTermMath` | Indicator-table sections (1m / 15m / 30m / 1h) |
183
+ | `setLogger(logger)` | Replace the default no-op logger |
184
+ | `lib` | Internal IoC service container (advanced use) |
277
185
 
278
- ```typescript
279
- // โŒ Without signals (manual work)
280
- const candles = await getCandles('BTCUSDT', '1m', 60);
281
- const rsi = calculateRSI(candles, 14);
282
- const macd = calculateMACD(candles, 12, 26, 9);
283
- const bb = calculateBollingerBands(candles, 20, 2);
284
- // ... 40+ more indicators
285
- const report = formatToMarkdown(rsi, macd, bb, ...);
286
- messages.push({ role: 'user', content: report });
287
- ```
186
+ <details>
187
+ <summary>Complete source map</summary>
288
188
 
289
- ```typescript
290
- // โœ… With signals (one line)
291
- await commitHistorySetup('BTCUSDT', messages);
292
- ```
189
+ - `function/history.function.ts` โ€” the four `commit*History` functions. `function/math.function.ts` โ€” the four `commit*Math` functions. `function/other.function.ts` โ€” `commitBookDataReport` + `commitHistorySetup`.
190
+ - `tools/setup.tool.ts` โ€” `setLogger`. `contract/{History,ReportFn}.contract.ts` โ€” report-function contracts. `interfaces/Logger.interface.ts`.
191
+ - `lib/` IoC: `core/{di,provide,types}`, `services/common/LoggerService`, `services/history/{One,Fifteen,Thirty}MinuteCandleHistoryService` + `HourCandleHistoryService`, `services/math/{MicroTerm,ShortTerm,SwingTerm,LongTerm}MathService` + `BookDataMathService` (the math services are the package's bulk โ€” 32โ€“45 KB each). Every export maps to one of these; nothing in `src/` is undocumented.
293
192
 
294
- **Benefits:**
295
- - โšก Pre-computed, cached, optimized
296
- - ๐Ÿ“Š 50+ indicators across 4 timeframes
297
- - ๐ŸŽจ Formatted markdown tables ready for LLM
298
- - ๐Ÿ”„ Synchronized with backtest timeline
299
- - ๐Ÿ›ก๏ธ Error handling and validation built-in
193
+ </details>
300
194
 
301
195
  ## ๐Ÿค Contribute
302
196
 
303
- Fork/PR on [GitHub](https://github.com/tripolskypetr/backtest-kit).
197
+ Fork / PR on [GitHub](https://github.com/tripolskypetr/backtest-kit).
304
198
 
305
199
  ## ๐Ÿ“œ License
306
200
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@backtest-kit/signals",
3
- "version": "13.6.0",
3
+ "version": "14.1.0",
4
4
  "description": "Technical analysis and trading signal generation library for AI-powered trading systems. Computes 50+ indicators across 4 timeframes and generates markdown reports for LLM consumption.",
5
5
  "author": {
6
6
  "name": "Petr Tripolsky",
@@ -66,20 +66,20 @@
66
66
  "ts-morph": "27.0.2",
67
67
  "tslib": "2.7.0",
68
68
  "typedoc": "0.27.9",
69
- "backtest-kit": "13.6.0",
70
- "worker-testbed": "2.0.0"
69
+ "backtest-kit": "14.1.0",
70
+ "worker-testbed": "2.1.0"
71
71
  },
72
72
  "peerDependencies": {
73
- "backtest-kit": "^13.6.0",
73
+ "backtest-kit": "^14.1.0",
74
74
  "typescript": "^5.0.0"
75
75
  },
76
76
  "dependencies": {
77
77
  "di-kit": "^1.1.1",
78
78
  "di-scoped": "^1.0.21",
79
- "functools-kit": "^2.3.0",
79
+ "functools-kit": "^3.0.0",
80
80
  "trading-signals": "^6.9.1",
81
81
  "get-moment-stamp": "^2.0.0",
82
- "agent-swarm-kit": "^2.7.0"
82
+ "agent-swarm-kit": "^3.2.0"
83
83
  },
84
84
  "publishConfig": {
85
85
  "access": "public"