tradingview-mcp-server 0.0.1 → 0.1.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.
- package/README.md +251 -7
- package/dist/api/types.d.ts +4 -3
- package/dist/api/types.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/resources/presets.d.ts +2 -1
- package/dist/resources/presets.d.ts.map +1 -1
- package/dist/resources/presets.js +35 -0
- package/dist/resources/presets.js.map +1 -1
- package/dist/tests/fields.test.js +49 -0
- package/dist/tests/fields.test.js.map +1 -1
- package/dist/tests/presets.test.js +59 -0
- package/dist/tests/presets.test.js.map +1 -1
- package/dist/tools/fields.d.ts.map +1 -1
- package/dist/tools/fields.js +211 -0
- package/dist/tools/fields.js.map +1 -1
- package/dist/tools/screen.d.ts +1 -0
- package/dist/tools/screen.d.ts.map +1 -1
- package/dist/tools/screen.js +42 -14
- package/dist/tools/screen.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,16 +1,45 @@
|
|
|
1
|
-
|
|
1
|
+
<div align="center">
|
|
2
|
+
<img src="docs/images/banner.png" alt="TradingView MCP Server Banner" width="100%">
|
|
3
|
+
</div>
|
|
4
|
+
|
|
5
|
+
<div align="center">
|
|
6
|
+
|
|
7
|
+
[](https://www.npmjs.com/package/tradingview-mcp-server)
|
|
8
|
+
[](https://www.npmjs.com/package/tradingview-mcp-server)
|
|
9
|
+
[](https://github.com/fiale-plus/tradingview-mcp-server/actions/workflows/test.yml)
|
|
10
|
+
[](LICENSE)
|
|
11
|
+
[](https://modelcontextprotocol.io)
|
|
2
12
|
|
|
3
13
|
**Unofficial** Model Context Protocol (MCP) server for TradingView's stock screener API.
|
|
4
14
|
|
|
5
|
-
|
|
15
|
+
</div>
|
|
16
|
+
|
|
17
|
+
## Table of Contents
|
|
18
|
+
|
|
19
|
+
- [Features](#features)
|
|
20
|
+
- [Installation](#installation)
|
|
21
|
+
- [Configuration](#configuration)
|
|
22
|
+
- [Claude Desktop](#claude-desktop)
|
|
23
|
+
- [Claude Code](#claude-code-project-level)
|
|
24
|
+
- [Environment Variables](#environment-variables)
|
|
25
|
+
- [Usage Examples](#usage-examples)
|
|
26
|
+
- [Available Tools](#available-tools)
|
|
27
|
+
- [Preset Strategies](#preset-strategies)
|
|
28
|
+
- [Common Fields](#common-fields)
|
|
29
|
+
- [Field Variants (TTM vs FQ vs FY)](#field-variants-ttm-vs-fq-vs-fy)
|
|
30
|
+
- [Development](#development)
|
|
31
|
+
- [Important Notes](#important-notes)
|
|
32
|
+
- [Contributing](#contributing)
|
|
33
|
+
- [License](#license)
|
|
6
34
|
|
|
7
35
|
## Features
|
|
8
36
|
|
|
9
37
|
- 🔍 **Screen stocks, forex, and crypto** with advanced filters
|
|
10
|
-
- 📊 **
|
|
11
|
-
- 🎯 **
|
|
38
|
+
- 📊 **50+ fundamental, technical, and performance fields** with TTM/FQ/FY variants
|
|
39
|
+
- 🎯 **6 preset strategies** (quality, value, dividend, momentum, growth, comprehensive)
|
|
12
40
|
- ⚡ **Configurable caching and rate limiting**
|
|
13
41
|
- 🔧 **Works with Claude Desktop and Claude Code**
|
|
42
|
+
- 🏦 **Exchange filtering** (NASDAQ, NYSE, CBOE) and primary listing support
|
|
14
43
|
|
|
15
44
|
## Installation
|
|
16
45
|
|
|
@@ -170,11 +199,111 @@ Get a pre-configured screening strategy.
|
|
|
170
199
|
- `dividend_stocks` - High dividend yield with consistent payout
|
|
171
200
|
- `momentum_stocks` - Strong momentum and technical signals
|
|
172
201
|
- `growth_stocks` - High-growth companies
|
|
202
|
+
- `quality_growth_screener` - Comprehensive 16-filter quality & growth screen
|
|
173
203
|
|
|
174
204
|
### `list_presets`
|
|
175
205
|
|
|
176
206
|
List all available preset strategies.
|
|
177
207
|
|
|
208
|
+
## Preset Strategies
|
|
209
|
+
|
|
210
|
+
The server includes 6 pre-configured screening strategies optimized for different investment styles:
|
|
211
|
+
|
|
212
|
+
### Quality Stocks (Conservative)
|
|
213
|
+
**Preset:** `quality_stocks`
|
|
214
|
+
|
|
215
|
+
High-quality, low-volatility stocks with strong fundamentals and uptrends. Based on Avanza's conservative screening strategy.
|
|
216
|
+
|
|
217
|
+
**Criteria:**
|
|
218
|
+
- ROE > 12%
|
|
219
|
+
- Market cap > $200M
|
|
220
|
+
- P/E < 40
|
|
221
|
+
- P/S < 8
|
|
222
|
+
- Debt/Equity < 0.7
|
|
223
|
+
- Net margin > 10%
|
|
224
|
+
- RSI between 45-65
|
|
225
|
+
- Monthly volatility ≤ 3%
|
|
226
|
+
- Golden cross (SMA50 > SMA200)
|
|
227
|
+
|
|
228
|
+
### Value Stocks
|
|
229
|
+
**Preset:** `value_stocks`
|
|
230
|
+
|
|
231
|
+
Undervalued stocks trading below intrinsic value with solid fundamentals.
|
|
232
|
+
|
|
233
|
+
**Criteria:**
|
|
234
|
+
- P/E < 15
|
|
235
|
+
- P/B < 1.5
|
|
236
|
+
- Market cap > $1B
|
|
237
|
+
- ROE > 10%
|
|
238
|
+
|
|
239
|
+
### Dividend Stocks
|
|
240
|
+
**Preset:** `dividend_stocks`
|
|
241
|
+
|
|
242
|
+
Income-focused stocks with high dividend yields and financial stability.
|
|
243
|
+
|
|
244
|
+
**Criteria:**
|
|
245
|
+
- Dividend yield > 3%
|
|
246
|
+
- Market cap > $5B
|
|
247
|
+
- Debt/Equity < 1.0
|
|
248
|
+
|
|
249
|
+
### Momentum Stocks
|
|
250
|
+
**Preset:** `momentum_stocks`
|
|
251
|
+
|
|
252
|
+
Stocks showing strong technical momentum and recent performance.
|
|
253
|
+
|
|
254
|
+
**Criteria:**
|
|
255
|
+
- RSI between 50-70
|
|
256
|
+
- SMA50 > SMA200 (golden cross)
|
|
257
|
+
- 1-month performance > 5%
|
|
258
|
+
- Volume > 1M shares
|
|
259
|
+
|
|
260
|
+
### Growth Stocks
|
|
261
|
+
**Preset:** `growth_stocks`
|
|
262
|
+
|
|
263
|
+
High-growth companies with strong profitability and margins.
|
|
264
|
+
|
|
265
|
+
**Criteria:**
|
|
266
|
+
- ROE > 20%
|
|
267
|
+
- Operating margin > 15%
|
|
268
|
+
- Market cap > $1B
|
|
269
|
+
|
|
270
|
+
### Quality Growth Screener (Comprehensive)
|
|
271
|
+
**Preset:** `quality_growth_screener`
|
|
272
|
+
|
|
273
|
+
Comprehensive quality and growth screen combining fundamental strength, growth momentum, financial stability, and technical uptrend. Primary listings only on major US exchanges.
|
|
274
|
+
|
|
275
|
+
**16-Filter Criteria:**
|
|
276
|
+
|
|
277
|
+
**Price & Size:**
|
|
278
|
+
- Price ≥ $10
|
|
279
|
+
- Market cap ≥ $2B
|
|
280
|
+
|
|
281
|
+
**Valuation:**
|
|
282
|
+
- P/E (TTM) ≤ 35
|
|
283
|
+
- P/S (Current) ≤ 6
|
|
284
|
+
|
|
285
|
+
**Profitability (FQ/FY):**
|
|
286
|
+
- ROE (FQ) > 15%
|
|
287
|
+
- Net Margin (FY) > 12%
|
|
288
|
+
|
|
289
|
+
**Financial Strength:**
|
|
290
|
+
- Debt/Equity (FY) < 0.6
|
|
291
|
+
|
|
292
|
+
**Growth:**
|
|
293
|
+
- Revenue/Share (TTM) > $3
|
|
294
|
+
- Revenue Growth YoY > 8%
|
|
295
|
+
|
|
296
|
+
**Technical Indicators:**
|
|
297
|
+
- RSI between 45-62
|
|
298
|
+
- Golden cross (SMA50 ≥ SMA200)
|
|
299
|
+
- Price > SMA50 (above trend)
|
|
300
|
+
- Monthly volatility < 3%
|
|
301
|
+
|
|
302
|
+
**Liquidity & Quality:**
|
|
303
|
+
- 90-day avg volume > 200K
|
|
304
|
+
- Exchange: NASDAQ, NYSE, or CBOE only
|
|
305
|
+
- Primary listing only (eliminates duplicates)
|
|
306
|
+
|
|
178
307
|
## Common Fields
|
|
179
308
|
|
|
180
309
|
### Fundamental
|
|
@@ -196,7 +325,57 @@ List all available preset strategies.
|
|
|
196
325
|
- `close` - Current Price
|
|
197
326
|
- `change` - Daily Change (%)
|
|
198
327
|
- `volume` - Trading Volume
|
|
328
|
+
- `average_volume_90d_calc` - 90-day Average Volume
|
|
199
329
|
- `Perf.W`, `Perf.1M`, `Perf.Y` - Performance metrics
|
|
330
|
+
- `exchange` - Stock exchange (NASDAQ, NYSE, CBOE)
|
|
331
|
+
- `is_primary` - Primary listing indicator
|
|
332
|
+
|
|
333
|
+
## Field Variants (TTM vs FQ vs FY)
|
|
334
|
+
|
|
335
|
+
Many financial metrics have multiple time period variants. Understanding these is crucial for accurate screening:
|
|
336
|
+
|
|
337
|
+
### Time Period Suffixes
|
|
338
|
+
|
|
339
|
+
- **TTM** (Trailing Twelve Months): Rolling 12-month period
|
|
340
|
+
- Most recent, updates quarterly
|
|
341
|
+
- Example: `return_on_equity`, `price_earnings_ttm`, `net_margin_ttm`
|
|
342
|
+
|
|
343
|
+
- **FQ** (Fiscal Quarter): Most recent completed quarter
|
|
344
|
+
- Updates quarterly
|
|
345
|
+
- More volatile than TTM
|
|
346
|
+
- Example: `return_on_equity_fq`, `price_book_fq`
|
|
347
|
+
|
|
348
|
+
- **FY** (Fiscal Year): Most recent completed fiscal year
|
|
349
|
+
- Updates annually
|
|
350
|
+
- Most stable, less frequent updates
|
|
351
|
+
- Example: `debt_to_equity_fy`, `net_margin_fy`
|
|
352
|
+
|
|
353
|
+
### Common Field Variants
|
|
354
|
+
|
|
355
|
+
| Base Metric | TTM | FQ | FY |
|
|
356
|
+
|-------------|-----|----|----|
|
|
357
|
+
| Return on Equity | `return_on_equity` | `return_on_equity_fq` | - |
|
|
358
|
+
| Net Margin | `net_margin_ttm` | - | `net_margin_fy` |
|
|
359
|
+
| Debt/Equity | `debt_to_equity` | - | `debt_to_equity_fy` |
|
|
360
|
+
| Price/Sales | `price_sales_ratio` | - | `price_sales_current` |
|
|
361
|
+
|
|
362
|
+
### Usage Tips
|
|
363
|
+
|
|
364
|
+
1. **For conservative screening**: Use FY variants for stability
|
|
365
|
+
2. **For current analysis**: Use TTM or FQ for recent performance
|
|
366
|
+
3. **Mixing periods**: You can mix different variants in the same filter
|
|
367
|
+
4. **TradingView UI matching**: Use FQ/FY variants to match TradingView's web screener exactly
|
|
368
|
+
|
|
369
|
+
Example using fiscal year data:
|
|
370
|
+
```javascript
|
|
371
|
+
{
|
|
372
|
+
filters: [
|
|
373
|
+
{ field: "return_on_equity_fq", operator: "greater", value: 15 },
|
|
374
|
+
{ field: "debt_to_equity_fy", operator: "less", value: 0.6 },
|
|
375
|
+
{ field: "net_margin_fy", operator: "greater", value: 12 }
|
|
376
|
+
]
|
|
377
|
+
}
|
|
378
|
+
```
|
|
200
379
|
|
|
201
380
|
## Resources
|
|
202
381
|
|
|
@@ -207,16 +386,20 @@ The server exposes preset configurations as MCP resources:
|
|
|
207
386
|
- `preset://dividend_stocks`
|
|
208
387
|
- `preset://momentum_stocks`
|
|
209
388
|
- `preset://growth_stocks`
|
|
389
|
+
- `preset://quality_growth_screener`
|
|
210
390
|
|
|
211
391
|
## Development
|
|
212
392
|
|
|
393
|
+
### Local Setup
|
|
394
|
+
|
|
213
395
|
```bash
|
|
396
|
+
# Clone the repository
|
|
397
|
+
git clone https://github.com/fiale-plus/tradingview-mcp-server.git
|
|
398
|
+
cd tradingview-mcp-server
|
|
399
|
+
|
|
214
400
|
# Install dependencies
|
|
215
401
|
npm install
|
|
216
402
|
|
|
217
|
-
# Run in development mode
|
|
218
|
-
npm run dev
|
|
219
|
-
|
|
220
403
|
# Build
|
|
221
404
|
npm run build
|
|
222
405
|
|
|
@@ -227,6 +410,67 @@ npm test
|
|
|
227
410
|
npm test:watch
|
|
228
411
|
```
|
|
229
412
|
|
|
413
|
+
### Using Local MCP Server with Claude
|
|
414
|
+
|
|
415
|
+
To test your local development build with Claude Desktop or Claude Code:
|
|
416
|
+
|
|
417
|
+
#### Option 1: Project-Level MCP (Recommended for Development)
|
|
418
|
+
|
|
419
|
+
Create `.mcp.json` in your project root:
|
|
420
|
+
|
|
421
|
+
```json
|
|
422
|
+
{
|
|
423
|
+
"mcpServers": {
|
|
424
|
+
"tradingview-local": {
|
|
425
|
+
"command": "node",
|
|
426
|
+
"args": ["/absolute/path/to/tradingview-mcp-server/dist/index.js"],
|
|
427
|
+
"env": {
|
|
428
|
+
"CACHE_TTL_SECONDS": "300",
|
|
429
|
+
"RATE_LIMIT_RPM": "10"
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
Enable in `.claude/settings.local.json`:
|
|
437
|
+
|
|
438
|
+
```json
|
|
439
|
+
{
|
|
440
|
+
"enableAllProjectMcpServers": true
|
|
441
|
+
}
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
**Important**: Replace `/absolute/path/to/tradingview-mcp-server` with the actual path to your local repository.
|
|
445
|
+
|
|
446
|
+
#### Option 2: Claude Desktop Global Config
|
|
447
|
+
|
|
448
|
+
Add to your Claude Desktop config file:
|
|
449
|
+
|
|
450
|
+
**Mac**: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
451
|
+
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
452
|
+
**Linux**: `~/.config/Claude/claude_desktop_config.json`
|
|
453
|
+
|
|
454
|
+
```json
|
|
455
|
+
{
|
|
456
|
+
"mcpServers": {
|
|
457
|
+
"tradingview-local": {
|
|
458
|
+
"command": "node",
|
|
459
|
+
"args": ["/absolute/path/to/tradingview-mcp-server/dist/index.js"]
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
### Development Workflow
|
|
466
|
+
|
|
467
|
+
1. **Make changes** to source files in `src/`
|
|
468
|
+
2. **Build**: `npm run build`
|
|
469
|
+
3. **Restart Claude** (Desktop or Code) to pick up changes
|
|
470
|
+
4. **Test** your changes via Claude's MCP integration
|
|
471
|
+
|
|
472
|
+
**Tip**: After rebuilding, you must restart Claude to load the new build. The MCP server runs as a separate process and doesn't auto-reload.
|
|
473
|
+
|
|
230
474
|
## Important Notes
|
|
231
475
|
|
|
232
476
|
⚠️ **Unofficial API**: This server uses TradingView's unofficial scanner API. It may change without notice.
|
package/dist/api/types.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
export interface Filter {
|
|
5
5
|
left: string;
|
|
6
6
|
operation: FilterOperation;
|
|
7
|
-
right: number | string | [number, number];
|
|
7
|
+
right: number | string | boolean | [number, number] | string[];
|
|
8
8
|
}
|
|
9
9
|
export type FilterOperation = "greater" | "less" | "egreater" | "eless" | "equal" | "nequal" | "in_range" | "not_in_range" | "crosses" | "crosses_above" | "crosses_below" | "match";
|
|
10
10
|
export interface ScreenerRequest {
|
|
@@ -40,12 +40,13 @@ export interface ScreenStocksInput {
|
|
|
40
40
|
filters: Array<{
|
|
41
41
|
field: string;
|
|
42
42
|
operator: string;
|
|
43
|
-
value: number | string | [number, number];
|
|
43
|
+
value: number | string | boolean | [number, number] | string[];
|
|
44
44
|
}>;
|
|
45
45
|
markets?: string[];
|
|
46
46
|
sort_by?: string;
|
|
47
47
|
sort_order?: "asc" | "desc";
|
|
48
48
|
limit?: number;
|
|
49
|
+
columns?: string[];
|
|
49
50
|
}
|
|
50
51
|
export interface ListFieldsInput {
|
|
51
52
|
asset_type?: "stock" | "forex" | "crypto";
|
|
@@ -62,7 +63,7 @@ export interface FieldMetadata {
|
|
|
62
63
|
name: string;
|
|
63
64
|
label: string;
|
|
64
65
|
category: "fundamental" | "technical" | "performance";
|
|
65
|
-
type: "number" | "percent" | "currency" | "string";
|
|
66
|
+
type: "number" | "percent" | "currency" | "string" | "boolean";
|
|
66
67
|
description?: string;
|
|
67
68
|
}
|
|
68
69
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/api/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;CAChE;AAED,MAAM,MAAM,eAAe,GACvB,SAAS,GACT,MAAM,GACN,UAAU,GACV,OAAO,GACP,OAAO,GACP,QAAQ,GACR,UAAU,GACV,cAAc,GACd,SAAS,GACT,eAAe,GACf,eAAe,GACf,OAAO,CAAC;AAEZ,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;KAC3B,CAAC;IACF,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,OAAO,CAAC,EAAE;QACR,KAAK,EAAE;YACL,KAAK,EAAE,MAAM,EAAE,CAAC;SACjB,CAAC;QACF,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,KAAK,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;KAC/B,CAAC,CAAC;CACJ;AAED;;GAEG;AAEH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,KAAK,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;KAChE,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC1C,QAAQ,CAAC,EAAE,aAAa,GAAG,WAAW,GAAG,aAAa,CAAC;CACxD;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AAEH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,aAAa,GAAG,WAAW,GAAG,aAAa,CAAC;IACtD,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
|
package/dist/index.js
CHANGED
|
@@ -85,6 +85,11 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
85
85
|
minimum: 1,
|
|
86
86
|
maximum: 200,
|
|
87
87
|
},
|
|
88
|
+
columns: {
|
|
89
|
+
type: "array",
|
|
90
|
+
items: { type: "string" },
|
|
91
|
+
description: "Optional: specific columns to include in results. If not provided, uses minimal default columns. Presets may define extended column sets.",
|
|
92
|
+
},
|
|
88
93
|
},
|
|
89
94
|
required: ["filters"],
|
|
90
95
|
},
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,11 +7,12 @@ export interface Preset {
|
|
|
7
7
|
filters: Array<{
|
|
8
8
|
field: string;
|
|
9
9
|
operator: string;
|
|
10
|
-
value: number | string | [number, number];
|
|
10
|
+
value: number | string | boolean | [number, number] | string[];
|
|
11
11
|
}>;
|
|
12
12
|
markets?: string[];
|
|
13
13
|
sort_by?: string;
|
|
14
14
|
sort_order?: "asc" | "desc";
|
|
15
|
+
columns?: string[];
|
|
15
16
|
}
|
|
16
17
|
export declare const PRESETS: Record<string, Preset>;
|
|
17
18
|
export declare class PresetsTool {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/resources/presets.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/resources/presets.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,KAAK,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;KAChE,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAoH1C,CAAC;AAEF,qBAAa,WAAW;IACtB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI5C,WAAW,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAM5D"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Preset screening configurations
|
|
3
3
|
*/
|
|
4
|
+
import { EXTENDED_COLUMNS } from "../tools/screen.js";
|
|
4
5
|
export const PRESETS = {
|
|
5
6
|
quality_stocks: {
|
|
6
7
|
name: "Quality Stocks (Conservative)",
|
|
@@ -70,6 +71,40 @@ export const PRESETS = {
|
|
|
70
71
|
sort_by: "return_on_equity",
|
|
71
72
|
sort_order: "desc",
|
|
72
73
|
},
|
|
74
|
+
quality_growth_screener: {
|
|
75
|
+
name: "Quality Growth Screener",
|
|
76
|
+
description: "Comprehensive quality and growth screen: profitable, growing, low-debt companies with strong technicals and exchange filtering. Combines fundamental strength (ROE >15%, margins >12%), growth momentum (revenue +8% YoY), financial stability (low debt, positive FCF), and technical uptrend (golden cross, RSI 45-65, low volatility). Primary listings only on major US exchanges.",
|
|
77
|
+
filters: [
|
|
78
|
+
// Price and Market Cap
|
|
79
|
+
{ field: "close", operator: "greater_or_equal", value: 10 },
|
|
80
|
+
{ field: "market_cap_basic", operator: "greater_or_equal", value: 2000000000 },
|
|
81
|
+
// Valuation
|
|
82
|
+
{ field: "price_earnings_ttm", operator: "less_or_equal", value: 35 },
|
|
83
|
+
{ field: "price_sales_current", operator: "less_or_equal", value: 6 },
|
|
84
|
+
// Profitability (Fiscal Quarter/Year data)
|
|
85
|
+
{ field: "return_on_equity_fq", operator: "greater", value: 15 },
|
|
86
|
+
{ field: "net_margin_fy", operator: "greater", value: 12 },
|
|
87
|
+
// Financial Strength
|
|
88
|
+
{ field: "debt_to_equity_fy", operator: "less", value: 0.6 },
|
|
89
|
+
// Growth
|
|
90
|
+
{ field: "revenue_per_share_ttm", operator: "greater", value: 3 },
|
|
91
|
+
{ field: "total_revenue_yoy_growth_ttm", operator: "greater", value: 8 },
|
|
92
|
+
// Technical Indicators
|
|
93
|
+
{ field: "RSI", operator: "in_range", value: [45, 62] },
|
|
94
|
+
{ field: "SMA50", operator: "greater_or_equal", value: "SMA200" },
|
|
95
|
+
{ field: "close", operator: "greater", value: "SMA50" },
|
|
96
|
+
{ field: "Volatility.M", operator: "less", value: 3 },
|
|
97
|
+
// Liquidity
|
|
98
|
+
{ field: "average_volume_90d_calc", operator: "greater", value: 200000 },
|
|
99
|
+
// Exchange and Listing Type
|
|
100
|
+
{ field: "exchange", operator: "in_range", value: ["NASDAQ", "NYSE", "CBOE"] },
|
|
101
|
+
{ field: "is_primary", operator: "equal", value: true },
|
|
102
|
+
],
|
|
103
|
+
markets: ["america"],
|
|
104
|
+
sort_by: "market_cap_basic",
|
|
105
|
+
sort_order: "desc",
|
|
106
|
+
columns: EXTENDED_COLUMNS,
|
|
107
|
+
},
|
|
73
108
|
};
|
|
74
109
|
export class PresetsTool {
|
|
75
110
|
getPreset(presetName) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../../src/resources/presets.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../../src/resources/presets.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAgBtD,MAAM,CAAC,MAAM,OAAO,GAA2B;IAC7C,cAAc,EAAE;QACd,IAAI,EAAE,+BAA+B;QACrC,WAAW,EACT,6HAA6H;QAC/H,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;YAC7D,EAAE,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;YACpE,EAAE,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;YAC5D,EAAE,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE;YAC1D,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE;YACzD,EAAE,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;YAC7D,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;YACvD,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE;YAC9D,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE;SACzD;QACD,OAAO,EAAE,CAAC,SAAS,CAAC;QACpB,OAAO,EAAE,kBAAkB;QAC3B,UAAU,EAAE,MAAM;KACnB;IAED,YAAY,EAAE;QACZ,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,gDAAgD;QAC7D,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;YAC5D,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE;YACxD,EAAE,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE;YACrE,EAAE,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;SAC9D;QACD,OAAO,EAAE,CAAC,SAAS,CAAC;QACpB,OAAO,EAAE,oBAAoB;QAC7B,UAAU,EAAE,KAAK;KAClB;IAED,eAAe,EAAE;QACf,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,4CAA4C;QACzD,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,uBAAuB,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE;YACjE,EAAE,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE;YACrE,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE;SAC1D;QACD,OAAO,EAAE,CAAC,SAAS,CAAC;QACpB,OAAO,EAAE,uBAAuB;QAChC,UAAU,EAAE,MAAM;KACnB;IAED,eAAe,EAAE;QACf,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,8DAA8D;QAC3E,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;YACvD,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE;YACxD,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE;YACnD,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;SACzD;QACD,OAAO,EAAE,CAAC,SAAS,CAAC;QACpB,OAAO,EAAE,SAAS;QAClB,UAAU,EAAE,MAAM;KACnB;IAED,aAAa,EAAE;QACb,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,kEAAkE;QAC/E,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;YAC7D,EAAE,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;YAC7D,EAAE,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE;SACtE;QACD,OAAO,EAAE,CAAC,SAAS,CAAC;QACpB,OAAO,EAAE,kBAAkB;QAC3B,UAAU,EAAE,MAAM;KACnB;IAED,uBAAuB,EAAE;QACvB,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EAAE,wXAAwX;QACrY,OAAO,EAAE;YACP,uBAAuB;YACvB,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,EAAE,EAAE;YAC3D,EAAE,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,UAAU,EAAE;YAE9E,YAAY;YACZ,EAAE,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,EAAE,EAAE;YACrE,EAAE,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE;YAErE,2CAA2C;YAC3C,EAAE,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;YAChE,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;YAE1D,qBAAqB;YACrB,EAAE,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE;YAE5D,SAAS;YACT,EAAE,KAAK,EAAE,uBAAuB,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE;YACjE,EAAE,KAAK,EAAE,8BAA8B,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE;YAExE,uBAAuB;YACvB,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;YACvD,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE;YACjE,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;YACvD,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE;YAErD,YAAY;YACZ,EAAE,KAAK,EAAE,yBAAyB,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE;YAExE,4BAA4B;YAC5B,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;YAC9E,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE;SACxD;QACD,OAAO,EAAE,CAAC,SAAS,CAAC;QACpB,OAAO,EAAE,kBAAkB;QAC3B,UAAU,EAAE,MAAM;QAClB,OAAO,EAAE,gBAAgB;KAC1B;CACF,CAAC;AAEF,MAAM,OAAO,WAAW;IACtB,SAAS,CAAC,UAAkB;QAC1B,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;IACrC,CAAC;IAED,WAAW;QACT,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YACrD,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC,CAAC,CAAC;IACN,CAAC;CACF"}
|
|
@@ -52,5 +52,54 @@ describe("FieldsTool", () => {
|
|
|
52
52
|
assert.ok(sampleField.category, "Field should have category");
|
|
53
53
|
assert.ok(sampleField.type, "Field should have type");
|
|
54
54
|
});
|
|
55
|
+
it("should include field variants (TTM, FQ, FY)", () => {
|
|
56
|
+
const result = fieldsTool.listFields({ asset_type: "stock" });
|
|
57
|
+
const fieldNames = result.fields.map((f) => f.name);
|
|
58
|
+
// Check for return_on_equity variants
|
|
59
|
+
assert.ok(fieldNames.includes("return_on_equity"), "Should have return_on_equity (TTM)");
|
|
60
|
+
assert.ok(fieldNames.includes("return_on_equity_fq"), "Should have return_on_equity_fq (FQ)");
|
|
61
|
+
// Check for debt_to_equity variants
|
|
62
|
+
assert.ok(fieldNames.includes("debt_to_equity"), "Should have debt_to_equity");
|
|
63
|
+
assert.ok(fieldNames.includes("debt_to_equity_fy"), "Should have debt_to_equity_fy (FY)");
|
|
64
|
+
// Check for net_margin variants
|
|
65
|
+
assert.ok(fieldNames.includes("net_margin_ttm"), "Should have net_margin_ttm");
|
|
66
|
+
assert.ok(fieldNames.includes("net_margin_fy"), "Should have net_margin_fy");
|
|
67
|
+
// Check for price_sales variants
|
|
68
|
+
assert.ok(fieldNames.includes("price_sales_ratio"), "Should have price_sales_ratio");
|
|
69
|
+
assert.ok(fieldNames.includes("price_sales_current"), "Should have price_sales_current");
|
|
70
|
+
});
|
|
71
|
+
it("should include new fundamental fields", () => {
|
|
72
|
+
const result = fieldsTool.listFields({
|
|
73
|
+
asset_type: "stock",
|
|
74
|
+
category: "fundamental",
|
|
75
|
+
});
|
|
76
|
+
const fieldNames = result.fields.map((f) => f.name);
|
|
77
|
+
assert.ok(fieldNames.includes("revenue_per_share_ttm"), "Should have revenue_per_share_ttm");
|
|
78
|
+
assert.ok(fieldNames.includes("total_revenue_yoy_growth_ttm"), "Should have total_revenue_yoy_growth_ttm");
|
|
79
|
+
});
|
|
80
|
+
it("should include new performance fields", () => {
|
|
81
|
+
const result = fieldsTool.listFields({
|
|
82
|
+
asset_type: "stock",
|
|
83
|
+
category: "performance",
|
|
84
|
+
});
|
|
85
|
+
const fieldNames = result.fields.map((f) => f.name);
|
|
86
|
+
assert.ok(fieldNames.includes("average_volume_90d_calc"), "Should have average_volume_90d_calc");
|
|
87
|
+
assert.ok(fieldNames.includes("exchange"), "Should have exchange field");
|
|
88
|
+
assert.ok(fieldNames.includes("is_primary"), "Should have is_primary field");
|
|
89
|
+
});
|
|
90
|
+
it("should have correct metadata for exchange field", () => {
|
|
91
|
+
const result = fieldsTool.listFields({ asset_type: "stock" });
|
|
92
|
+
const exchangeField = result.fields.find((f) => f.name === "exchange");
|
|
93
|
+
assert.ok(exchangeField, "Exchange field should exist");
|
|
94
|
+
assert.strictEqual(exchangeField.type, "string", "Exchange should be string type");
|
|
95
|
+
assert.ok(exchangeField.description.includes("NASDAQ"), "Description should mention NASDAQ");
|
|
96
|
+
});
|
|
97
|
+
it("should have correct metadata for is_primary field", () => {
|
|
98
|
+
const result = fieldsTool.listFields({ asset_type: "stock" });
|
|
99
|
+
const isPrimaryField = result.fields.find((f) => f.name === "is_primary");
|
|
100
|
+
assert.ok(isPrimaryField, "is_primary field should exist");
|
|
101
|
+
assert.strictEqual(isPrimaryField.type, "boolean", "is_primary should be boolean type");
|
|
102
|
+
assert.ok(isPrimaryField.description.includes("primary"), "Description should mention primary");
|
|
103
|
+
});
|
|
55
104
|
});
|
|
56
105
|
//# sourceMappingURL=fields.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fields.test.js","sourceRoot":"","sources":["../../src/tests/fields.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fields.test.js","sourceRoot":"","sources":["../../src/tests/fields.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,5 +55,64 @@ describe("PresetsTool", () => {
|
|
|
55
55
|
assert.ok(preset.markets, "Should have markets");
|
|
56
56
|
assert.ok(preset.markets.includes("america"), "Should include america market");
|
|
57
57
|
});
|
|
58
|
+
it("should have quality_growth_screener preset with all required filters", () => {
|
|
59
|
+
const preset = PRESETS.quality_growth_screener;
|
|
60
|
+
assert.ok(preset, "Should have quality_growth_screener preset");
|
|
61
|
+
assert.strictEqual(preset.name, "Quality Growth Screener");
|
|
62
|
+
assert.strictEqual(preset.filters.length, 16, "Should have 16 filters");
|
|
63
|
+
// Verify key fundamental filters
|
|
64
|
+
const roeFilter = preset.filters.find((f) => f.field === "return_on_equity_fq");
|
|
65
|
+
assert.ok(roeFilter, "Should have ROE (FQ) filter");
|
|
66
|
+
assert.strictEqual(roeFilter.operator, "greater");
|
|
67
|
+
assert.strictEqual(roeFilter.value, 15);
|
|
68
|
+
const marginFilter = preset.filters.find((f) => f.field === "net_margin_fy");
|
|
69
|
+
assert.ok(marginFilter, "Should have net margin (FY) filter");
|
|
70
|
+
assert.strictEqual(marginFilter.value, 12);
|
|
71
|
+
const debtFilter = preset.filters.find((f) => f.field === "debt_to_equity_fy");
|
|
72
|
+
assert.ok(debtFilter, "Should have debt/equity (FY) filter");
|
|
73
|
+
assert.strictEqual(debtFilter.operator, "less");
|
|
74
|
+
assert.strictEqual(debtFilter.value, 0.6);
|
|
75
|
+
// Verify growth filter
|
|
76
|
+
const revenueGrowthFilter = preset.filters.find((f) => f.field === "total_revenue_yoy_growth_ttm");
|
|
77
|
+
assert.ok(revenueGrowthFilter, "Should have revenue growth filter");
|
|
78
|
+
assert.strictEqual(revenueGrowthFilter.value, 8);
|
|
79
|
+
// Verify technical filters
|
|
80
|
+
const rsiFilter = preset.filters.find((f) => f.field === "RSI");
|
|
81
|
+
assert.ok(rsiFilter, "Should have RSI filter");
|
|
82
|
+
assert.strictEqual(rsiFilter.operator, "in_range");
|
|
83
|
+
assert.deepStrictEqual(rsiFilter.value, [45, 62]);
|
|
84
|
+
// Verify exchange filtering with string array
|
|
85
|
+
const exchangeFilter = preset.filters.find((f) => f.field === "exchange");
|
|
86
|
+
assert.ok(exchangeFilter, "Should have exchange filter");
|
|
87
|
+
assert.strictEqual(exchangeFilter.operator, "in_range");
|
|
88
|
+
assert.deepStrictEqual(exchangeFilter.value, ["NASDAQ", "NYSE", "CBOE"], "Should filter for major US exchanges");
|
|
89
|
+
// Verify is_primary boolean filter
|
|
90
|
+
const isPrimaryFilter = preset.filters.find((f) => f.field === "is_primary");
|
|
91
|
+
assert.ok(isPrimaryFilter, "Should have is_primary filter");
|
|
92
|
+
assert.strictEqual(isPrimaryFilter.operator, "equal");
|
|
93
|
+
assert.strictEqual(isPrimaryFilter.value, true, "Should filter for primary listings");
|
|
94
|
+
});
|
|
95
|
+
it("should have quality_growth_screener with extended columns", () => {
|
|
96
|
+
const preset = PRESETS.quality_growth_screener;
|
|
97
|
+
assert.ok(preset.columns, "Should have columns property");
|
|
98
|
+
assert.ok(Array.isArray(preset.columns), "Columns should be an array");
|
|
99
|
+
assert.ok(preset.columns.length > 7, "Should have more columns than minimal default (7)");
|
|
100
|
+
// Verify extended columns are present
|
|
101
|
+
const extendedFields = [
|
|
102
|
+
"free_cash_flow_ttm",
|
|
103
|
+
"sector",
|
|
104
|
+
"industry",
|
|
105
|
+
"beta_5_year",
|
|
106
|
+
"dividends_yield_current",
|
|
107
|
+
];
|
|
108
|
+
for (const field of extendedFields) {
|
|
109
|
+
assert.ok(preset.columns.includes(field), `Should include extended field: ${field}`);
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
it("should have quality_growth_screener with correct sorting", () => {
|
|
113
|
+
const preset = PRESETS.quality_growth_screener;
|
|
114
|
+
assert.strictEqual(preset.sort_by, "market_cap_basic");
|
|
115
|
+
assert.strictEqual(preset.sort_order, "desc");
|
|
116
|
+
});
|
|
58
117
|
});
|
|
59
118
|
//# sourceMappingURL=presets.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.test.js","sourceRoot":"","sources":["../../src/tests/presets.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"presets.test.js","sourceRoot":"","sources":["../../src/tests/presets.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../src/tools/fields.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAiB,eAAe,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../src/tools/fields.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAiB,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAmatE,qBAAa,UAAU;IACrB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,GAAG;CAyBxC"}
|
package/dist/tools/fields.js
CHANGED
|
@@ -18,6 +18,13 @@ const STOCK_FIELDS = [
|
|
|
18
18
|
type: "percent",
|
|
19
19
|
description: "Profitability relative to shareholder equity",
|
|
20
20
|
},
|
|
21
|
+
{
|
|
22
|
+
name: "return_on_equity_fq",
|
|
23
|
+
label: "Return on Equity (FQ)",
|
|
24
|
+
category: "fundamental",
|
|
25
|
+
type: "percent",
|
|
26
|
+
description: "Profitability relative to shareholder equity (fiscal quarter)",
|
|
27
|
+
},
|
|
21
28
|
{
|
|
22
29
|
name: "price_earnings_ttm",
|
|
23
30
|
label: "P/E Ratio (TTM)",
|
|
@@ -39,6 +46,13 @@ const STOCK_FIELDS = [
|
|
|
39
46
|
type: "number",
|
|
40
47
|
description: "Price to sales ratio",
|
|
41
48
|
},
|
|
49
|
+
{
|
|
50
|
+
name: "price_sales_current",
|
|
51
|
+
label: "P/S Ratio (Current)",
|
|
52
|
+
category: "fundamental",
|
|
53
|
+
type: "number",
|
|
54
|
+
description: "Current price to sales ratio",
|
|
55
|
+
},
|
|
42
56
|
{
|
|
43
57
|
name: "debt_to_equity",
|
|
44
58
|
label: "Debt/Equity Ratio",
|
|
@@ -46,6 +60,13 @@ const STOCK_FIELDS = [
|
|
|
46
60
|
type: "number",
|
|
47
61
|
description: "Total debt relative to shareholder equity",
|
|
48
62
|
},
|
|
63
|
+
{
|
|
64
|
+
name: "debt_to_equity_fy",
|
|
65
|
+
label: "Debt/Equity Ratio (FY)",
|
|
66
|
+
category: "fundamental",
|
|
67
|
+
type: "number",
|
|
68
|
+
description: "Total debt relative to shareholder equity (fiscal year)",
|
|
69
|
+
},
|
|
49
70
|
{
|
|
50
71
|
name: "net_margin_ttm",
|
|
51
72
|
label: "Net Margin (TTM)",
|
|
@@ -53,6 +74,13 @@ const STOCK_FIELDS = [
|
|
|
53
74
|
type: "percent",
|
|
54
75
|
description: "Net income as percentage of revenue",
|
|
55
76
|
},
|
|
77
|
+
{
|
|
78
|
+
name: "net_margin_fy",
|
|
79
|
+
label: "Net Margin (FY)",
|
|
80
|
+
category: "fundamental",
|
|
81
|
+
type: "percent",
|
|
82
|
+
description: "Net income as percentage of revenue (fiscal year)",
|
|
83
|
+
},
|
|
56
84
|
{
|
|
57
85
|
name: "after_tax_margin",
|
|
58
86
|
label: "After-Tax Margin",
|
|
@@ -74,6 +102,41 @@ const STOCK_FIELDS = [
|
|
|
74
102
|
type: "percent",
|
|
75
103
|
description: "Annual dividend as percentage of price",
|
|
76
104
|
},
|
|
105
|
+
{
|
|
106
|
+
name: "dividends_yield_current",
|
|
107
|
+
label: "Dividend Yield (Current/TTM)",
|
|
108
|
+
category: "fundamental",
|
|
109
|
+
type: "percent",
|
|
110
|
+
description: "Current dividend yield (trailing twelve months)",
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
name: "dividends_yield_fq",
|
|
114
|
+
label: "Dividend Yield (FQ)",
|
|
115
|
+
category: "fundamental",
|
|
116
|
+
type: "percent",
|
|
117
|
+
description: "Dividend yield (fiscal quarter)",
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
name: "dividends_yield_fy",
|
|
121
|
+
label: "Dividend Yield (FY)",
|
|
122
|
+
category: "fundamental",
|
|
123
|
+
type: "percent",
|
|
124
|
+
description: "Dividend yield (fiscal year)",
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
name: "dividend_payout_ratio_ttm",
|
|
128
|
+
label: "Dividend Payout Ratio (TTM)",
|
|
129
|
+
category: "fundamental",
|
|
130
|
+
type: "percent",
|
|
131
|
+
description: "Percentage of earnings paid as dividends (trailing twelve months)",
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
name: "dividend_payout_ratio_fy",
|
|
135
|
+
label: "Dividend Payout Ratio (FY)",
|
|
136
|
+
category: "fundamental",
|
|
137
|
+
type: "percent",
|
|
138
|
+
description: "Percentage of earnings paid as dividends (fiscal year)",
|
|
139
|
+
},
|
|
77
140
|
{
|
|
78
141
|
name: "earnings_per_share_diluted_ttm",
|
|
79
142
|
label: "EPS (Diluted, TTM)",
|
|
@@ -95,6 +158,111 @@ const STOCK_FIELDS = [
|
|
|
95
158
|
type: "currency",
|
|
96
159
|
description: "Total net profit",
|
|
97
160
|
},
|
|
161
|
+
{
|
|
162
|
+
name: "revenue_per_share_ttm",
|
|
163
|
+
label: "Revenue per Share (TTM)",
|
|
164
|
+
category: "fundamental",
|
|
165
|
+
type: "currency",
|
|
166
|
+
description: "Total revenue divided by shares outstanding",
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
name: "total_revenue_yoy_growth_ttm",
|
|
170
|
+
label: "Revenue Growth YoY (TTM)",
|
|
171
|
+
category: "fundamental",
|
|
172
|
+
type: "percent",
|
|
173
|
+
description: "Year-over-year revenue growth rate",
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
name: "free_cash_flow_ttm",
|
|
177
|
+
label: "Free Cash Flow (TTM)",
|
|
178
|
+
category: "fundamental",
|
|
179
|
+
type: "currency",
|
|
180
|
+
description: "Cash generated after capital expenditures (trailing 12 months)",
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
name: "free_cash_flow_fq",
|
|
184
|
+
label: "Free Cash Flow (FQ)",
|
|
185
|
+
category: "fundamental",
|
|
186
|
+
type: "currency",
|
|
187
|
+
description: "Cash generated after capital expenditures (fiscal quarter)",
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
name: "free_cash_flow_fy",
|
|
191
|
+
label: "Free Cash Flow (FY)",
|
|
192
|
+
category: "fundamental",
|
|
193
|
+
type: "currency",
|
|
194
|
+
description: "Cash generated after capital expenditures (fiscal year)",
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
name: "free_cash_flow_margin_ttm",
|
|
198
|
+
label: "FCF Margin (TTM)",
|
|
199
|
+
category: "fundamental",
|
|
200
|
+
type: "percent",
|
|
201
|
+
description: "Free cash flow as percentage of revenue (trailing 12 months)",
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
name: "free_cash_flow_margin_fy",
|
|
205
|
+
label: "FCF Margin (FY)",
|
|
206
|
+
category: "fundamental",
|
|
207
|
+
type: "percent",
|
|
208
|
+
description: "Free cash flow as percentage of revenue (fiscal year)",
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
name: "earnings_release_next_trading_date_fq",
|
|
212
|
+
label: "Next Earnings Date",
|
|
213
|
+
category: "fundamental",
|
|
214
|
+
type: "string",
|
|
215
|
+
description: "Upcoming earnings announcement date (fiscal quarter)",
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
name: "fundamental_currency_code",
|
|
219
|
+
label: "Currency Code",
|
|
220
|
+
category: "fundamental",
|
|
221
|
+
type: "string",
|
|
222
|
+
description: "Currency code for fundamental data (e.g., USD, EUR)",
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
name: "earnings_per_share_diluted_yoy_growth_ttm",
|
|
226
|
+
label: "EPS Diluted Growth YoY (TTM)",
|
|
227
|
+
category: "fundamental",
|
|
228
|
+
type: "percent",
|
|
229
|
+
description: "Year-over-year growth in diluted earnings per share",
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
name: "sector",
|
|
233
|
+
label: "Sector",
|
|
234
|
+
category: "fundamental",
|
|
235
|
+
type: "string",
|
|
236
|
+
description: "Business sector",
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
name: "sector.tr",
|
|
240
|
+
label: "Sector (Translated)",
|
|
241
|
+
category: "fundamental",
|
|
242
|
+
type: "string",
|
|
243
|
+
description: "Business sector (translated)",
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
name: "industry",
|
|
247
|
+
label: "Industry",
|
|
248
|
+
category: "fundamental",
|
|
249
|
+
type: "string",
|
|
250
|
+
description: "Business industry",
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
name: "industry.tr",
|
|
254
|
+
label: "Industry (Translated)",
|
|
255
|
+
category: "fundamental",
|
|
256
|
+
type: "string",
|
|
257
|
+
description: "Business industry (translated)",
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
name: "market",
|
|
261
|
+
label: "Market",
|
|
262
|
+
category: "fundamental",
|
|
263
|
+
type: "string",
|
|
264
|
+
description: "Market identifier",
|
|
265
|
+
},
|
|
98
266
|
// Technical
|
|
99
267
|
{
|
|
100
268
|
name: "RSI",
|
|
@@ -145,6 +313,27 @@ const STOCK_FIELDS = [
|
|
|
145
313
|
type: "number",
|
|
146
314
|
description: "Average Directional Index",
|
|
147
315
|
},
|
|
316
|
+
{
|
|
317
|
+
name: "beta_1_year",
|
|
318
|
+
label: "Beta (1 Year)",
|
|
319
|
+
category: "technical",
|
|
320
|
+
type: "number",
|
|
321
|
+
description: "Stock volatility relative to market (1 year period)",
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
name: "beta_3_year",
|
|
325
|
+
label: "Beta (3 Year)",
|
|
326
|
+
category: "technical",
|
|
327
|
+
type: "number",
|
|
328
|
+
description: "Stock volatility relative to market (3 year period)",
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
name: "beta_5_year",
|
|
332
|
+
label: "Beta (5 Year)",
|
|
333
|
+
category: "technical",
|
|
334
|
+
type: "number",
|
|
335
|
+
description: "Stock volatility relative to market (5 year period)",
|
|
336
|
+
},
|
|
148
337
|
// Performance
|
|
149
338
|
{
|
|
150
339
|
name: "close",
|
|
@@ -167,6 +356,13 @@ const STOCK_FIELDS = [
|
|
|
167
356
|
type: "number",
|
|
168
357
|
description: "Trading volume",
|
|
169
358
|
},
|
|
359
|
+
{
|
|
360
|
+
name: "average_volume_90d_calc",
|
|
361
|
+
label: "Average Volume (90D)",
|
|
362
|
+
category: "performance",
|
|
363
|
+
type: "number",
|
|
364
|
+
description: "90-day average trading volume",
|
|
365
|
+
},
|
|
170
366
|
{
|
|
171
367
|
name: "Perf.W",
|
|
172
368
|
label: "Weekly Performance",
|
|
@@ -202,6 +398,21 @@ const STOCK_FIELDS = [
|
|
|
202
398
|
type: "percent",
|
|
203
399
|
description: "Year-to-date price change",
|
|
204
400
|
},
|
|
401
|
+
// Metadata fields
|
|
402
|
+
{
|
|
403
|
+
name: "exchange",
|
|
404
|
+
label: "Exchange",
|
|
405
|
+
category: "performance",
|
|
406
|
+
type: "string",
|
|
407
|
+
description: "Stock exchange (e.g., NASDAQ, NYSE, CBOE)",
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
name: "is_primary",
|
|
411
|
+
label: "Is Primary Listing",
|
|
412
|
+
category: "performance",
|
|
413
|
+
type: "boolean",
|
|
414
|
+
description: "Whether this is the primary listing for the security",
|
|
415
|
+
},
|
|
205
416
|
];
|
|
206
417
|
export class FieldsTool {
|
|
207
418
|
listFields(input) {
|
package/dist/tools/fields.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fields.js","sourceRoot":"","sources":["../../src/tools/fields.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fields.js","sourceRoot":"","sources":["../../src/tools/fields.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/screen.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ import type { ScreenStocksInput } from "../api/types.js";
|
|
|
5
5
|
import type { TradingViewClient } from "../api/client.js";
|
|
6
6
|
import type { Cache } from "../utils/cache.js";
|
|
7
7
|
import type { RateLimiter } from "../utils/rateLimit.js";
|
|
8
|
+
export declare const EXTENDED_COLUMNS: string[];
|
|
8
9
|
export declare class ScreenTool {
|
|
9
10
|
private client;
|
|
10
11
|
private cache;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../../src/tools/screen.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,iBAAiB,EAIlB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../../src/tools/screen.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,iBAAiB,EAIlB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AA8BzD,eAAO,MAAM,gBAAgB,UAY5B,CAAC;AAEF,qBAAa,UAAU;IAEnB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,WAAW;gBAFX,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW;IAG5B,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC;IAsFpD,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAsDpE,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;CAqD5E"}
|
package/dist/tools/screen.js
CHANGED
|
@@ -16,7 +16,7 @@ const OPERATOR_MAP = {
|
|
|
16
16
|
crosses_below: "crosses_below",
|
|
17
17
|
match: "match",
|
|
18
18
|
};
|
|
19
|
-
//
|
|
19
|
+
// Minimal default columns for lean responses
|
|
20
20
|
const DEFAULT_COLUMNS = [
|
|
21
21
|
"name",
|
|
22
22
|
"close",
|
|
@@ -24,6 +24,21 @@ const DEFAULT_COLUMNS = [
|
|
|
24
24
|
"return_on_equity",
|
|
25
25
|
"price_earnings_ttm",
|
|
26
26
|
"debt_to_equity",
|
|
27
|
+
"exchange",
|
|
28
|
+
];
|
|
29
|
+
// Extended columns for comprehensive analysis
|
|
30
|
+
export const EXTENDED_COLUMNS = [
|
|
31
|
+
...DEFAULT_COLUMNS,
|
|
32
|
+
"free_cash_flow_ttm",
|
|
33
|
+
"free_cash_flow_margin_ttm",
|
|
34
|
+
"earnings_release_next_trading_date_fq",
|
|
35
|
+
"fundamental_currency_code",
|
|
36
|
+
"dividends_yield_current",
|
|
37
|
+
"dividend_payout_ratio_ttm",
|
|
38
|
+
"beta_5_year",
|
|
39
|
+
"sector",
|
|
40
|
+
"industry",
|
|
41
|
+
"earnings_per_share_diluted_yoy_growth_ttm",
|
|
27
42
|
];
|
|
28
43
|
export class ScreenTool {
|
|
29
44
|
client;
|
|
@@ -35,13 +50,13 @@ export class ScreenTool {
|
|
|
35
50
|
this.rateLimiter = rateLimiter;
|
|
36
51
|
}
|
|
37
52
|
async screenStocks(input) {
|
|
38
|
-
const { filters, markets = ["america"], sort_by = "market_cap_basic", sort_order = "desc", limit = 20, } = input;
|
|
53
|
+
const { filters, markets = ["america"], sort_by = "market_cap_basic", sort_order = "desc", limit = 20, columns: inputColumns, } = input;
|
|
39
54
|
// Validate limit
|
|
40
55
|
if (limit < 1 || limit > 200) {
|
|
41
56
|
throw new Error("Limit must be between 1 and 200");
|
|
42
57
|
}
|
|
43
58
|
// Build cache key
|
|
44
|
-
const cacheKey = JSON.stringify({ filters, markets, sort_by, sort_order, limit });
|
|
59
|
+
const cacheKey = JSON.stringify({ filters, markets, sort_by, sort_order, limit, columns: inputColumns });
|
|
45
60
|
// Check cache
|
|
46
61
|
const cached = this.cache.get(cacheKey);
|
|
47
62
|
if (cached) {
|
|
@@ -61,7 +76,8 @@ export class ScreenTool {
|
|
|
61
76
|
});
|
|
62
77
|
// Extract unique fields from filters for columns
|
|
63
78
|
const filterFields = filters.map((f) => f.field);
|
|
64
|
-
const
|
|
79
|
+
const baseColumns = inputColumns || DEFAULT_COLUMNS;
|
|
80
|
+
const columns = [...new Set([...baseColumns, ...filterFields])];
|
|
65
81
|
// Build request
|
|
66
82
|
const request = {
|
|
67
83
|
filter: tvFilters,
|
|
@@ -104,11 +120,17 @@ export class ScreenTool {
|
|
|
104
120
|
const cached = this.cache.get(cacheKey);
|
|
105
121
|
if (cached)
|
|
106
122
|
return cached;
|
|
107
|
-
const tvFilters = filters.map((f) =>
|
|
108
|
-
|
|
109
|
-
operation
|
|
110
|
-
|
|
111
|
-
|
|
123
|
+
const tvFilters = filters.map((f) => {
|
|
124
|
+
const operation = OPERATOR_MAP[f.operator];
|
|
125
|
+
if (!operation) {
|
|
126
|
+
throw new Error(`Unknown operator: ${f.operator}`);
|
|
127
|
+
}
|
|
128
|
+
return {
|
|
129
|
+
left: f.field,
|
|
130
|
+
operation,
|
|
131
|
+
right: f.value,
|
|
132
|
+
};
|
|
133
|
+
});
|
|
112
134
|
const filterFields = filters.map((f) => f.field);
|
|
113
135
|
const columns = [...new Set(["name", "close", "change", ...filterFields])];
|
|
114
136
|
const request = {
|
|
@@ -139,11 +161,17 @@ export class ScreenTool {
|
|
|
139
161
|
const cached = this.cache.get(cacheKey);
|
|
140
162
|
if (cached)
|
|
141
163
|
return cached;
|
|
142
|
-
const tvFilters = filters.map((f) =>
|
|
143
|
-
|
|
144
|
-
operation
|
|
145
|
-
|
|
146
|
-
|
|
164
|
+
const tvFilters = filters.map((f) => {
|
|
165
|
+
const operation = OPERATOR_MAP[f.operator];
|
|
166
|
+
if (!operation) {
|
|
167
|
+
throw new Error(`Unknown operator: ${f.operator}`);
|
|
168
|
+
}
|
|
169
|
+
return {
|
|
170
|
+
left: f.field,
|
|
171
|
+
operation,
|
|
172
|
+
right: f.value,
|
|
173
|
+
};
|
|
174
|
+
});
|
|
147
175
|
const filterFields = filters.map((f) => f.field);
|
|
148
176
|
const columns = [...new Set(["name", "close", "market_cap_basic", "change", ...filterFields])];
|
|
149
177
|
const request = {
|
package/dist/tools/screen.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screen.js","sourceRoot":"","sources":["../../src/tools/screen.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH,+CAA+C;AAC/C,MAAM,YAAY,GAAoC;IACpD,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,gBAAgB,EAAE,UAAU;IAC5B,aAAa,EAAE,OAAO;IACtB,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,QAAQ;IACnB,QAAQ,EAAE,UAAU;IACpB,YAAY,EAAE,cAAc;IAC5B,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;IAC9B,KAAK,EAAE,OAAO;CACf,CAAC;AAEF,
|
|
1
|
+
{"version":3,"file":"screen.js","sourceRoot":"","sources":["../../src/tools/screen.ts"],"names":[],"mappings":"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"}
|