codifx 0.1.3 → 0.1.5

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
@@ -62,6 +62,137 @@ codifx scan --symbols BBCA TLKM --html
62
62
  codifx scan --symbols BBCA TLKM --log
63
63
  ```
64
64
 
65
+ ### Custom Profiles & Watchlists
66
+
67
+ Create custom trading strategies with your own profiles and symbol lists.
68
+
69
+ #### Creating a Custom Profile
70
+
71
+ Create a JSON file (e.g., `my-strategy.profile.json`):
72
+
73
+ ```json
74
+ {
75
+ "tradingType": "day",
76
+ "timeframes": {
77
+ "primary": "5m",
78
+ "confirmation": "15m"
79
+ },
80
+ "indicators": {
81
+ "trend": ["EMA10", "EMA20", "EMA50"],
82
+ "oscillators": ["RSI", "Stochastic", "MACD", "ADX"]
83
+ },
84
+ "weights": {
85
+ "trend": 40,
86
+ "oscillator": 60
87
+ },
88
+ "filters": {
89
+ "minVolume": 1000000,
90
+ "minADX": 20,
91
+ "atrMinPercent": 1.0,
92
+ "atrMaxPercent": 4.0
93
+ },
94
+ "scoring": {
95
+ "minScore": 70
96
+ },
97
+ "dataSource": {
98
+ "market": "IDX",
99
+ "provider": "yahoo"
100
+ }
101
+ }
102
+ ```
103
+
104
+ **Key Parameters:**
105
+
106
+ - `weights.trend` / `weights.oscillator` - Must total 100
107
+ - `scoring.minScore` - Higher = more selective (60-80 recommended)
108
+ - `filters.minVolume` - Daily volume threshold
109
+ - `filters.minADX` - Trend strength (15-25 typical)
110
+
111
+ #### Creating a Custom Watchlist
112
+
113
+ **Simple Array Format:**
114
+
115
+ ```json
116
+ ["BBCA", "TLKM", "ASII", "UNVR", "ICBP"]
117
+ ```
118
+
119
+ **Object Format with Metadata:**
120
+
121
+ ```json
122
+ {
123
+ "name": "Banking Sector",
124
+ "market": "IDX",
125
+ "symbols": ["BBCA", "BBNI", "BBRI", "BMRI", "BDMN", "BNGA"]
126
+ }
127
+ ```
128
+
129
+ **Multi-Market Format:**
130
+
131
+ ```json
132
+ [
133
+ {
134
+ "name": "IDX Blue Chips",
135
+ "market": "IDX",
136
+ "symbols": ["BBCA", "TLKM", "ASII", "UNVR"]
137
+ },
138
+ {
139
+ "name": "US Tech",
140
+ "market": "NASDAQ",
141
+ "symbols": ["AAPL", "MSFT", "GOOGL", "NVDA"]
142
+ }
143
+ ]
144
+ ```
145
+
146
+ #### Usage Examples
147
+
148
+ ```bash
149
+ # Use custom profile only
150
+ codifx scan --profile aggressive-day.json --symbols BBCA TLKM
151
+
152
+ # Use custom watchlist only
153
+ codifx scan --watchlist banking-sector.json --html
154
+
155
+ # Combine custom profile + watchlist
156
+ codifx scan \
157
+ --profile scalp.json \
158
+ --watchlist high-volume.json \
159
+ --date 2025-12-22 \
160
+ --html
161
+
162
+ # Built-in trade type + custom watchlist
163
+ codifx scan --trade-type swing --watchlist my-stocks.json
164
+
165
+ # All options combined
166
+ codifx scan \
167
+ --profile my-strategy.json \
168
+ --watchlist tech-stocks.json \
169
+ --direction buy \
170
+ --date 2025-12-20 \
171
+ --html \
172
+ --log
173
+ ```
174
+
175
+ **Symbol Priority:** `--symbol` > `--symbols` > `--watchlist` > profile default
176
+
177
+ ### Historical Backtesting
178
+
179
+ Test your strategy with historical data (max 7 days back):
180
+
181
+ ```bash
182
+ # Scan as of specific date
183
+ codifx scan --symbols BBCA TLKM --date 2025-12-22
184
+
185
+ # Backtest with HTML dashboard
186
+ codifx scan --symbols BBCA --date 2025-12-20 --html --log
187
+
188
+ # Compare historical vs current
189
+ codifx scan --symbols BBCA --date 2025-12-20 --log
190
+ codifx scan --symbols BBCA --log # Today's scan
191
+ ```
192
+
193
+ **Date Format**: `YYYY-MM-DD` (e.g., `2025-12-22`)
194
+ **Limitation**: Maximum 7 days back, cannot be in the future
195
+
65
196
  ### Profile Management
66
197
 
67
198
  ```bash
@@ -233,48 +364,6 @@ TLKM.JK ▼ SELL 74 SPECULATIVE Rp 3.470 Rp 3.430 Rp 3.470
233
364
  - Volatility: PASS ✅
234
365
  ```
235
366
 
236
- ## 🔧 Configuration
237
-
238
- ### Profile Customization
239
-
240
- Edit profile files in `profiles/` directory:
241
-
242
- **File Structure:**
243
-
244
- ```
245
- profiles/
246
- ├── day.profile.json
247
- ├── swing.profile.json
248
- └── scalp.profile.json
249
- ```
250
-
251
- **Customizable Parameters:**
252
-
253
- 1. **Timeframes**
254
-
255
- - `primary`: 1m, 5m, 15m, 1h, 1d
256
- - `confirmation`: 5m, 15m, 1h, 1d, 1w
257
-
258
- 2. **Weights** (must sum to 100)
259
-
260
- - `trend`: 0-100
261
- - `oscillator`: 0-100
262
-
263
- 3. **Filters**
264
-
265
- - `minVolume`: Minimum average volume
266
- - `minADX`: Minimum ADX for trend strength (0-100)
267
- - `atrMinPercent`: Minimum ATR% for volatility
268
- - `atrMaxPercent`: Maximum ATR% for volatility
269
-
270
- 4. **Scoring**
271
-
272
- - `minScore`: Minimum score threshold (0-100)
273
-
274
- 5. **Indicators**
275
- - `trend`: ["SMA20", "EMA10", "EMA20", "EMA50", "HMA9", "VWMA20"]
276
- - `oscillators`: ["RSI", "MACD", "Stochastic", "ADX", "CCI", "Williams"]
277
-
278
367
  ## 🎯 Scoring System
279
368
 
280
369
  ### Base Score Calculation
@@ -295,39 +384,7 @@ Final Score = (Trend × Weight_Trend) + (Oscillator × Weight_Oscillator) + Bonu
295
384
  - **BUY/SELL**: Score ≥ 75
296
385
  - **SPECULATIVE**: Score ≥ 65 (or profile minScore)
297
386
 
298
- ## 🛠️ Architecture
299
-
300
- ### Core Components
301
-
302
- ```
303
- src/
304
- ├── cli/ # Command-line interface
305
- │ ├── index.ts # CLI entry point
306
- │ └── commands/ # Command implementations
307
- │ ├── scan.ts # Main scanning logic
308
- │ ├── profile.ts # Profile management
309
- │ └── validate.ts# Validation tools
310
- ├── core/ # Analysis engines
311
- │ ├── engine.ts # Main scanner engine
312
- │ ├── trend-engine.ts # Trend analysis
313
- │ ├── oscillator-engine.ts# Oscillator analysis
314
- │ ├── scoring.ts # Scoring & rating system
315
- │ └── filters.ts # Volume & volatility filters
316
- ├── indicators/ # Technical indicators
317
- │ ├── trend/ # SMA, EMA, HMA, VWMA
318
- │ └── oscillator/ # RSI, MACD, Stochastic, ADX, CCI, Williams
319
- ├── data/ # Data providers
320
- │ ├── yahoo.ts # Yahoo Finance integration
321
- │ └── provider.ts # Base data provider
322
- ├── utils/ # Utilities
323
- │ ├── html-generator.ts # HTML dashboard generator
324
- │ ├── logger.ts # Detailed logging
325
- │ ├── formatter.ts # Output formatting
326
- │ └── levels.ts # Trading levels calculator
327
- └── types/ # TypeScript types
328
- ```
329
-
330
- ## 📝 Advanced Usage
387
+ ## Advanced Usage
331
388
 
332
389
  ### Custom Scan with All Options
333
390
 
@@ -6,6 +6,7 @@ import { type Market } from "../../utils/symbols.js";
6
6
  export declare function scanCommand(options: {
7
7
  tradeType?: TradingType;
8
8
  profile?: string;
9
+ watchlist?: string;
9
10
  symbol?: string;
10
11
  symbols?: string[];
11
12
  market?: Market;
@@ -13,5 +14,6 @@ export declare function scanCommand(options: {
13
14
  verbose?: boolean;
14
15
  log?: string | boolean;
15
16
  html?: string | boolean;
17
+ date?: string;
16
18
  }): Promise<void>;
17
19
  //# sourceMappingURL=scan.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/scan.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAOvD,OAAO,EAAoB,KAAK,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAMtE,wBAAsB,WAAW,CAAC,OAAO,EAAE;IACvC,SAAS,CAAC,EAAE,WAAW,CAAA;IACvB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAC1B,iBAwUA"}
1
+ {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/scan.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAOvD,OAAO,EAAoB,KAAK,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAMtE,wBAAsB,WAAW,CAAC,OAAO,EAAE;IACvC,SAAS,CAAC,EAAE,WAAW,CAAA;IACvB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB,iBAyXA"}
@@ -15,6 +15,27 @@ import { HTMLGenerator } from "../../utils/html-generator.js";
15
15
  export async function scanCommand(options) {
16
16
  const spinner = ora("Initializing scanner").start();
17
17
  try {
18
+ // Validate and parse date parameter
19
+ let targetDate;
20
+ if (options.date) {
21
+ targetDate = new Date(options.date);
22
+ // Validate date format
23
+ if (isNaN(targetDate.getTime())) {
24
+ throw new Error("Invalid date format. Use YYYY-MM-DD (e.g., 2025-12-22)");
25
+ }
26
+ // Validate max 7 days back
27
+ const today = new Date();
28
+ today.setHours(0, 0, 0, 0); // Reset to start of day
29
+ targetDate.setHours(23, 59, 59, 999); // Set to end of day
30
+ const daysDiff = Math.floor((today.getTime() - targetDate.getTime()) / (1000 * 60 * 60 * 24));
31
+ if (daysDiff < 0) {
32
+ throw new Error("Date cannot be in the future");
33
+ }
34
+ if (daysDiff > 7) {
35
+ throw new Error("Date cannot be more than 7 days back");
36
+ }
37
+ spinner.info(`Historical scan for date: ${options.date}`);
38
+ }
18
39
  // Validate direction parameter
19
40
  const directionFilter = options.direction?.toLowerCase() || "both";
20
41
  if (!["buy", "sell", "both"].includes(directionFilter)) {
@@ -40,13 +61,28 @@ export async function scanCommand(options) {
40
61
  }
41
62
  spinner.succeed("Data provider ready");
42
63
  // Get symbols to scan
64
+ // Priority: --symbol > --symbols > --watchlist > profile.dataSource
43
65
  let symbols = [];
66
+ let market = options.market || profile.dataSource?.market || "NASDAQ";
44
67
  if (options.symbol) {
45
68
  symbols = [options.symbol];
46
69
  }
47
70
  else if (options.symbols) {
48
71
  symbols = options.symbols;
49
72
  }
73
+ else if (options.watchlist) {
74
+ // Load from watchlist file
75
+ const { loadWatchlist } = await import("../../config/loader.js");
76
+ const watchlist = await loadWatchlist(options.watchlist);
77
+ symbols = watchlist.symbols;
78
+ // Use market from watchlist if not specified via --market
79
+ if (!options.market && watchlist.market) {
80
+ market = watchlist.market;
81
+ }
82
+ if (watchlist.name) {
83
+ spinner.info(`Loaded watchlist: ${watchlist.name} (${symbols.length} symbols)`);
84
+ }
85
+ }
50
86
  else {
51
87
  // Use default symbols from profile or fallback
52
88
  symbols = profile.dataSource?.defaultSymbols || [
@@ -59,8 +95,6 @@ export async function scanCommand(options) {
59
95
  if (!symbols || symbols.length === 0) {
60
96
  symbols = ["AAPL", "MSFT", "GOOGL", "AMZN", "TSLA"];
61
97
  }
62
- // Get market from options or profile
63
- const market = options.market || profile.dataSource?.market || "NASDAQ";
64
98
  // Normalize symbols with market suffix
65
99
  symbols = normalizeSymbols(symbols, market);
66
100
  if (market !== "NASDAQ") {
@@ -109,8 +143,8 @@ export async function scanCommand(options) {
109
143
  progressBar.update(i, { status: `Analyzing ${symbol}...` });
110
144
  try {
111
145
  // Fetch data
112
- const primaryData = await provider.fetchOHLCV(symbol, primaryTF, dataCount);
113
- const confirmationData = await provider.fetchOHLCV(symbol, confirmationTF, dataCount);
146
+ const primaryData = await provider.fetchOHLCV(symbol, primaryTF, dataCount, targetDate);
147
+ const confirmationData = await provider.fetchOHLCV(symbol, confirmationTF, dataCount, targetDate);
114
148
  // Analyze
115
149
  const analysis = await ScannerEngine.analyze(symbol, primaryData, confirmationData, profile);
116
150
  if (analysis.signal) {
@@ -1 +1 @@
1
- {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../../src/cli/commands/scan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../../src/cli/commands/scan.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -29,8 +29,12 @@ program
29
29
  .description("Scan live market data for trading signals")
30
30
  .option("-s, --symbol <symbol>", "Single symbol to scan")
31
31
  .option("-l, --symbols <symbols...>", "Multiple symbols to scan")
32
+ .option("-t, --trade-type <type>", "Trading type: scalp, day, or swing")
33
+ .option("-p, --profile <path>", "Path to custom profile configuration")
34
+ .option("-w, --watchlist <path>", "Path to custom watchlist JSON file")
32
35
  .option("-m, --market <market>", "Market: IDX, NASDAQ, NYSE, CRYPTO", "IDX")
33
36
  .option("-d, --direction <direction>", "Filter by signal direction: buy, sell, or both", "both")
37
+ .option("--date <date>", "Historical date for backtesting (YYYY-MM-DD, max 7 days back)")
34
38
  .option("--log [filepath]", "Save detailed scan log to file (auto-location if no path specified)")
35
39
  .option("--html [filepath]", "Generate HTML dashboard and open in browser")
36
40
  .action(async (options) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,11 @@
2
2
  * Configuration profile loader
3
3
  */
4
4
  import type { Profile } from "../types/index.js";
5
+ export interface WatchlistFile {
6
+ name?: string;
7
+ market?: string;
8
+ symbols: string[];
9
+ }
5
10
  /**
6
11
  * Load and validate a configuration profile
7
12
  */
@@ -14,4 +19,12 @@ export declare function validateProfile(profilePath: string): Promise<boolean>;
14
19
  * Get profile path by trading type
15
20
  */
16
21
  export declare function getProfilePathByType(tradingType: string): string;
22
+ /**
23
+ * Load watchlist from JSON file
24
+ * Supports multiple formats:
25
+ * - Simple array: ["BBCA", "TLKM"]
26
+ * - Object: { "market": "IDX", "symbols": [...] }
27
+ * - Multi-market array: [{ "market": "IDX", "symbols": [...] }, ...]
28
+ */
29
+ export declare function loadWatchlist(path: string): Promise<WatchlistFile>;
17
30
  //# sourceMappingURL=loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAKhD;;GAEG;AACH,wBAAsB,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA4DxE;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO3E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAGhE"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEhD,MAAM,WAAW,aAAa;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,EAAE,CAAA;CACpB;AAKD;;GAEG;AACH,wBAAsB,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA4DxE;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO3E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAGhE;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAwCxE"}
@@ -80,4 +80,45 @@ export function getProfilePathByType(tradingType) {
80
80
  const packageRoot = new URL("../../", import.meta.url).pathname;
81
81
  return join(packageRoot, PROFILE_DIR, `${tradingType}.profile.json`);
82
82
  }
83
+ /**
84
+ * Load watchlist from JSON file
85
+ * Supports multiple formats:
86
+ * - Simple array: ["BBCA", "TLKM"]
87
+ * - Object: { "market": "IDX", "symbols": [...] }
88
+ * - Multi-market array: [{ "market": "IDX", "symbols": [...] }, ...]
89
+ */
90
+ export async function loadWatchlist(path) {
91
+ try {
92
+ const content = await readFile(path, "utf-8");
93
+ const data = JSON.parse(content);
94
+ // Simple array format
95
+ if (Array.isArray(data) && typeof data[0] === "string") {
96
+ return { symbols: data };
97
+ }
98
+ // Multi-market array (use first watchlist)
99
+ if (Array.isArray(data) && data[0]?.symbols) {
100
+ const first = data[0];
101
+ return {
102
+ name: first.name,
103
+ market: first.market,
104
+ symbols: first.symbols,
105
+ };
106
+ }
107
+ // Single watchlist object
108
+ if (data.symbols && Array.isArray(data.symbols)) {
109
+ return {
110
+ name: data.name,
111
+ market: data.market,
112
+ symbols: data.symbols,
113
+ };
114
+ }
115
+ throw new Error("Invalid watchlist format. Expected array of symbols or object with 'symbols' property");
116
+ }
117
+ catch (error) {
118
+ if (error instanceof Error) {
119
+ throw new Error(`Failed to load watchlist from ${path}: ${error.message}`);
120
+ }
121
+ throw error;
122
+ }
123
+ }
83
124
  //# sourceMappingURL=loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ export { DataProvider };
8
8
  */
9
9
  export declare abstract class BaseDataProvider implements DataProvider {
10
10
  abstract name: string;
11
- abstract fetchOHLCV(symbol: string, timeframe: Timeframe, limit: number): Promise<OHLCV[]>;
11
+ abstract fetchOHLCV(symbol: string, timeframe: Timeframe, limit: number, targetDate?: Date): Promise<OHLCV[]>;
12
12
  abstract isAvailable(): Promise<boolean>;
13
13
  /**
14
14
  * Validate OHLCV data integrity
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/data/provider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAEvE,OAAO,EAAE,YAAY,EAAE,CAAA;AAEvB;;GAEG;AACH,8BAAsB,gBAAiB,YAAW,YAAY;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAErB,QAAQ,CAAC,UAAU,CACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,MAAM,GACd,OAAO,CAAC,KAAK,EAAE,CAAC;IAEnB,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAExC;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO;IAe9C;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE;CAG7C"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/data/provider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAEvE,OAAO,EAAE,YAAY,EAAE,CAAA;AAEvB;;GAEG;AACH,8BAAsB,gBAAiB,YAAW,YAAY;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAErB,QAAQ,CAAC,UAAU,CACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,IAAI,GAClB,OAAO,CAAC,KAAK,EAAE,CAAC;IAEnB,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAExC;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO;IAe9C;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE;CAG7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/data/provider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH;;GAEG;AACH,MAAM,OAAgB,gBAAgB;IAWlC;;OAEG;IACO,YAAY,CAAC,IAAa;QAChC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAA;QAE5C,OAAO,IAAI,CAAC,KAAK,CACb,CAAC,MAAM,EAAE,EAAE,CACP,MAAM,CAAC,SAAS,GAAG,CAAC;YACpB,MAAM,CAAC,IAAI,GAAG,CAAC;YACf,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI;YAC1B,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK;YAC3B,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI;YACzB,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK;YAC1B,MAAM,CAAC,MAAM,IAAI,CAAC,CACzB,CAAA;IACL,CAAC;IAED;;OAEG;IACO,QAAQ,CAAC,IAAa;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAA;IACzD,CAAC;CACJ"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/data/provider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH;;GAEG;AACH,MAAM,OAAgB,gBAAgB;IAYlC;;OAEG;IACO,YAAY,CAAC,IAAa;QAChC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAA;QAE5C,OAAO,IAAI,CAAC,KAAK,CACb,CAAC,MAAM,EAAE,EAAE,CACP,MAAM,CAAC,SAAS,GAAG,CAAC;YACpB,MAAM,CAAC,IAAI,GAAG,CAAC;YACf,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI;YAC1B,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK;YAC3B,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI;YACzB,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK;YAC1B,MAAM,CAAC,MAAM,IAAI,CAAC,CACzB,CAAA;IACL,CAAC;IAED;;OAEG;IACO,QAAQ,CAAC,IAAa;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAA;IACzD,CAAC;CACJ"}
@@ -6,7 +6,7 @@ import { BaseDataProvider } from "./provider.js";
6
6
  export declare class YahooFinanceProvider extends BaseDataProvider {
7
7
  name: string;
8
8
  private baseUrl;
9
- fetchOHLCV(symbol: string, timeframe: Timeframe, limit?: number): Promise<OHLCV[]>;
9
+ fetchOHLCV(symbol: string, timeframe: Timeframe, limit?: number, targetDate?: Date): Promise<OHLCV[]>;
10
10
  isAvailable(): Promise<boolean>;
11
11
  /**
12
12
  * Convert our timeframe format to Yahoo Finance interval
@@ -14,6 +14,7 @@ export declare class YahooFinanceProvider extends BaseDataProvider {
14
14
  private convertTimeframe;
15
15
  /**
16
16
  * Calculate appropriate period range based on timeframe and limit
17
+ * If targetDate is provided, calculate from that date instead of today
17
18
  */
18
19
  private calculatePeriod;
19
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"yahoo.d.ts","sourceRoot":"","sources":["../../src/data/yahoo.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEhD,qBAAa,oBAAqB,SAAQ,gBAAgB;IACtD,IAAI,SAAU;IACd,OAAO,CAAC,OAAO,CAAsD;IAE/D,UAAU,CACZ,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,KAAK,GAAE,MAAY,GACpB,OAAO,CAAC,KAAK,EAAE,CAAC;IAkDb,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAarC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;OAEG;IACH,OAAO,CAAC,eAAe;CA6C1B"}
1
+ {"version":3,"file":"yahoo.d.ts","sourceRoot":"","sources":["../../src/data/yahoo.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEhD,qBAAa,oBAAqB,SAAQ,gBAAgB;IACtD,IAAI,SAAU;IACd,OAAO,CAAC,OAAO,CAAsD;IAE/D,UAAU,CACZ,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,KAAK,GAAE,MAAY,EACnB,UAAU,CAAC,EAAE,IAAI,GAClB,OAAO,CAAC,KAAK,EAAE,CAAC;IA0Db,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAarC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;;OAGG;IACH,OAAO,CAAC,eAAe;CA0D1B"}
@@ -6,10 +6,10 @@ import { BaseDataProvider } from "./provider.js";
6
6
  export class YahooFinanceProvider extends BaseDataProvider {
7
7
  name = "yahoo";
8
8
  baseUrl = "https://query1.finance.yahoo.com/v8/finance/chart";
9
- async fetchOHLCV(symbol, timeframe, limit = 200) {
9
+ async fetchOHLCV(symbol, timeframe, limit = 200, targetDate) {
10
10
  try {
11
11
  const interval = this.convertTimeframe(timeframe);
12
- const period = this.calculatePeriod(timeframe, limit);
12
+ const period = this.calculatePeriod(timeframe, limit, targetDate);
13
13
  const url = `${this.baseUrl}/${symbol}`;
14
14
  const response = await axios.get(url, {
15
15
  params: {
@@ -30,10 +30,15 @@ export class YahooFinanceProvider extends BaseDataProvider {
30
30
  volume: quote.volume[index],
31
31
  }));
32
32
  // Filter out null values and validate
33
- const validData = data.filter((candle) => candle.open !== null &&
33
+ let validData = data.filter((candle) => candle.open !== null &&
34
34
  candle.high !== null &&
35
35
  candle.low !== null &&
36
36
  candle.close !== null);
37
+ // Filter by targetDate if provided
38
+ if (targetDate) {
39
+ const maxTimestamp = targetDate.getTime();
40
+ validData = validData.filter((candle) => candle.timestamp <= maxTimestamp);
41
+ }
37
42
  if (!this.validateData(validData)) {
38
43
  throw new Error("Invalid data received from Yahoo Finance");
39
44
  }
@@ -74,8 +79,9 @@ export class YahooFinanceProvider extends BaseDataProvider {
74
79
  }
75
80
  /**
76
81
  * Calculate appropriate period range based on timeframe and limit
82
+ * If targetDate is provided, calculate from that date instead of today
77
83
  */
78
- calculatePeriod(timeframe, limit) {
84
+ calculatePeriod(timeframe, limit, targetDate) {
79
85
  // Estimate trading hours per day (Indonesian market: ~6.5 hours)
80
86
  const tradingHoursPerDay = 6.5;
81
87
  // Calculate approximate days needed based on timeframe
@@ -106,6 +112,12 @@ export class YahooFinanceProvider extends BaseDataProvider {
106
112
  }
107
113
  // Add 50% buffer for weekends, holidays, and data gaps
108
114
  daysNeeded = Math.ceil(daysNeeded * 1.5);
115
+ // If targetDate provided, add days from targetDate to today
116
+ if (targetDate) {
117
+ const today = new Date();
118
+ const daysSinceTarget = Math.floor((today.getTime() - targetDate.getTime()) / (1000 * 60 * 60 * 24));
119
+ daysNeeded += daysSinceTarget;
120
+ }
109
121
  // Map to Yahoo Finance period strings
110
122
  if (daysNeeded <= 1)
111
123
  return "1d";
@@ -1 +1 @@
1
- {"version":3,"file":"yahoo.js","sourceRoot":"","sources":["../../src/data/yahoo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"yahoo.js","sourceRoot":"","sources":["../../src/data/yahoo.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codifx",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "Professional multi-type trading scanner CLI supporting scalping, day trading, and swing trading",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",