codifx 0.1.3 → 0.1.4

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
@@ -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":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AAEnC,sBAAsB;AACtB,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AACzD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC1B,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC,CAC/D,CAAA;AAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAE7B,OAAO;KACF,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CAAC,6CAA6C,CAAC;KAC1D,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;AAEjC,iBAAiB;AACjB,OAAO;KACF,MAAM,CAAC,qBAAqB,EAAE,oCAAoC,CAAC;KACnE,MAAM,CAAC,kBAAkB,EAAE,sCAAsC,CAAC;KAClE,MAAM,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAA;AAEhD,eAAe;AACf,OAAO;KACF,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;KACxD,MAAM,CAAC,4BAA4B,EAAE,0BAA0B,CAAC;KAChE,MAAM,CAAC,uBAAuB,EAAE,mCAAmC,EAAE,KAAK,CAAC;KAC3E,MAAM,CACH,6BAA6B,EAC7B,gDAAgD,EAChD,MAAM,CACT;KACA,MAAM,CACH,kBAAkB,EAClB,qEAAqE,CACxE;KACA,MAAM,CAAC,mBAAmB,EAAE,6CAA6C,CAAC;KAC1E,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACtB,IAAI,CAAC;QACD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;QACjC,MAAM,WAAW,CAAC,EAAE,GAAG,UAAU,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;IACpD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;QAC9B,OAAO,CAAC,KAAK,CACT,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAChE,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC;AACL,CAAC,CAAC,CAAA;AAEN,mBAAmB;AACnB,OAAO;KACF,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,uCAAuC,CAAC;KACpD,MAAM,CAAC,KAAK,IAAI,EAAE;IACf,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;IACjC,MAAM,eAAe,CAAC,UAAU,CAAC,CAAA;AACrC,CAAC,CAAC,CAAA;AAEN,kBAAkB;AAClB,OAAO;KACF,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,+BAA+B,CAAC;KAC5C,MAAM,CAAC,YAAY,EAAE,yBAAyB,CAAC;KAC/C,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;KACnD,MAAM,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;KACxD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACtB,MAAM,cAAc,CAAC,OAAO,CAAC,CAAA;AACjC,CAAC,CAAC,CAAA;AAEN,mBAAmB;AACnB,OAAO;KACF,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,6BAA6B,CAAC;KAC1C,MAAM,CACH,sBAAsB,EACtB,2DAA2D,CAC9D;KACA,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACtB,MAAM,eAAe,CAAC,OAAO,CAAC,CAAA;AAClC,CAAC,CAAC,CAAA;AAEN,kBAAkB;AAClB,OAAO;KACF,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,sCAAsC,CAAC;KACnD,MAAM,CAAC,wBAAwB,EAAE,iCAAiC,CAAC;KACnE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACtB,MAAM,cAAc,CAAC,OAAO,CAAC,CAAA;AACjC,CAAC,CAAC,CAAA;AAEN,kBAAkB;AAClB,OAAO,CAAC,KAAK,EAAE,CAAA"}
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":"AAAA;;GAEG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEhD,MAAM,OAAO,oBAAqB,SAAQ,gBAAgB;IACtD,IAAI,GAAG,OAAO,CAAA;IACN,OAAO,GAAG,mDAAmD,CAAA;IAErE,KAAK,CAAC,UAAU,CACZ,MAAc,EACd,SAAoB,EACpB,QAAgB,GAAG,EACnB,UAAiB;QAEjB,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAA;YACjD,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;YACjE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,MAAM,EAAE,CAAA;YACvC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;gBAClC,MAAM,EAAE;oBACJ,QAAQ;oBACR,KAAK,EAAE,MAAM;iBAChB;gBACD,OAAO,EAAE,KAAK;aACjB,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAA;YACnC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAExC,MAAM,IAAI,GAAY,UAAU,CAAC,GAAG,CAChC,CAAC,SAAiB,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC;gBACnC,SAAS,EAAE,SAAS,GAAG,IAAI,EAAE,0BAA0B;gBACvD,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;gBACvB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;gBACvB,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;gBACrB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;gBACzB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9B,CAAC,CACL,CAAA;YAED,sCAAsC;YACtC,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,CACvB,CAAC,MAAM,EAAE,EAAE,CACP,MAAM,CAAC,IAAI,KAAK,IAAI;gBACpB,MAAM,CAAC,IAAI,KAAK,IAAI;gBACpB,MAAM,CAAC,GAAG,KAAK,IAAI;gBACnB,MAAM,CAAC,KAAK,KAAK,IAAI,CAC5B,CAAA;YAED,mCAAmC;YACnC,IAAI,UAAU,EAAE,CAAC;gBACb,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,EAAE,CAAA;gBACzC,SAAS,GAAG,SAAS,CAAC,MAAM,CACxB,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,IAAI,YAAY,CAC/C,CAAA;YACL,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;YAC/D,CAAC;YAED,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAA;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;YAChE,CAAC;YACD,MAAM,KAAK,CAAA;QACf,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW;QACb,IAAI,CAAC;YACD,gCAAgC;YAChC,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,OAAO,EAAE;gBACpC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;gBACvC,OAAO,EAAE,IAAI;aAChB,CAAC,CAAA;YACF,OAAO,IAAI,CAAA;QACf,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,KAAK,CAAA;QAChB,CAAC;IACL,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,SAAoB;QACzC,MAAM,OAAO,GAA8B;YACvC,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI;SACb,CAAA;QACD,OAAO,OAAO,CAAC,SAAS,CAAC,CAAA;IAC7B,CAAC;IAED;;;OAGG;IACK,eAAe,CACnB,SAAoB,EACpB,KAAa,EACb,UAAiB;QAEjB,iEAAiE;QACjE,MAAM,kBAAkB,GAAG,GAAG,CAAA;QAE9B,uDAAuD;QACvD,IAAI,UAAkB,CAAA;QAEtB,QAAQ,SAAS,EAAE,CAAC;YAChB,KAAK,IAAI;gBACL,0DAA0D;gBAC1D,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAA;gBACnC,MAAK;YACT,KAAK,IAAI;gBACL,wCAAwC;gBACxC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAA;gBAClC,MAAK;YACT,KAAK,KAAK;gBACN,yCAAyC;gBACzC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAA;gBAClC,MAAK;YACT,KAAK,IAAI;gBACL,uCAAuC;gBACvC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAC,CAAA;gBAClD,MAAK;YACT,KAAK,IAAI;gBACL,kCAAkC;gBAClC,UAAU,GAAG,KAAK,CAAA;gBAClB,MAAK;YACT;gBACI,UAAU,GAAG,CAAC,CAAA;QACtB,CAAC;QAED,uDAAuD;QACvD,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,CAAA;QAExC,4DAA4D;QAC5D,IAAI,UAAU,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAA;YACxB,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAC9B,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CACnE,CAAA;YACD,UAAU,IAAI,eAAe,CAAA;QACjC,CAAC;QAED,sCAAsC;QACtC,IAAI,UAAU,IAAI,CAAC;YAAE,OAAO,IAAI,CAAA;QAChC,IAAI,UAAU,IAAI,CAAC;YAAE,OAAO,IAAI,CAAA;QAChC,IAAI,UAAU,IAAI,EAAE;YAAE,OAAO,KAAK,CAAA;QAClC,IAAI,UAAU,IAAI,EAAE;YAAE,OAAO,KAAK,CAAA;QAClC,IAAI,UAAU,IAAI,GAAG;YAAE,OAAO,KAAK,CAAA;QACnC,IAAI,UAAU,IAAI,GAAG;YAAE,OAAO,IAAI,CAAA;QAClC,IAAI,UAAU,IAAI,GAAG;YAAE,OAAO,IAAI,CAAA;QAClC,OAAO,IAAI,CAAA,CAAC,UAAU;IAC1B,CAAC;CACJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codifx",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
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",