clodds 1.4.2 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/dist/auth/copilot.js +4 -7
  2. package/dist/auth/copilot.js.map +1 -1
  3. package/dist/auth/google.js +3 -5
  4. package/dist/auth/google.js.map +1 -1
  5. package/dist/auth/qwen.js +3 -7
  6. package/dist/auth/qwen.js.map +1 -1
  7. package/dist/db/index.d.ts +4 -2
  8. package/dist/db/index.js +50 -36
  9. package/dist/db/index.js.map +1 -1
  10. package/dist/execution/index.js +9 -3
  11. package/dist/execution/index.js.map +1 -1
  12. package/dist/execution/mev-protection.js +6 -0
  13. package/dist/execution/mev-protection.js.map +1 -1
  14. package/dist/opportunity/index.js +52 -19
  15. package/dist/opportunity/index.js.map +1 -1
  16. package/dist/opportunity/matching.js +12 -2
  17. package/dist/opportunity/matching.js.map +1 -1
  18. package/dist/skills/bundled/analytics/index.js +227 -3
  19. package/dist/skills/bundled/analytics/index.js.map +1 -1
  20. package/dist/skills/bundled/auto-reply/index.js +192 -0
  21. package/dist/skills/bundled/auto-reply/index.js.map +1 -1
  22. package/dist/skills/bundled/backtest/index.js +36 -0
  23. package/dist/skills/bundled/backtest/index.js.map +1 -1
  24. package/dist/skills/bundled/credentials/index.js +11 -0
  25. package/dist/skills/bundled/credentials/index.js.map +1 -1
  26. package/dist/skills/bundled/doctor/index.d.ts +3 -4
  27. package/dist/skills/bundled/doctor/index.js +52 -9
  28. package/dist/skills/bundled/doctor/index.js.map +1 -1
  29. package/dist/skills/bundled/edge/index.d.ts +4 -2
  30. package/dist/skills/bundled/edge/index.js +79 -8
  31. package/dist/skills/bundled/edge/index.js.map +1 -1
  32. package/dist/skills/bundled/embeddings/index.js +54 -0
  33. package/dist/skills/bundled/embeddings/index.js.map +1 -1
  34. package/dist/skills/bundled/opportunity/index.js +2 -2
  35. package/dist/skills/bundled/opportunity/index.js.map +1 -1
  36. package/dist/skills/bundled/trading-polymarket/index.js +1 -1
  37. package/dist/skills/bundled/trading-polymarket/index.js.map +1 -1
  38. package/dist/skills/bundled/trading-system/index.js +3 -3
  39. package/dist/skills/bundled/trading-system/index.js.map +1 -1
  40. package/dist/skills/bundled/usage/index.d.ts +9 -2
  41. package/dist/skills/bundled/usage/index.js +110 -6
  42. package/dist/skills/bundled/usage/index.js.map +1 -1
  43. package/dist/skills/bundled/veil/index.js +67 -1
  44. package/dist/skills/bundled/veil/index.js.map +1 -1
  45. package/dist/skills/bundled/verify/index.js +28 -0
  46. package/dist/skills/bundled/verify/index.js.map +1 -1
  47. package/dist/skills/bundled/voice/index.d.ts +7 -1
  48. package/dist/skills/bundled/voice/index.js +112 -17
  49. package/dist/skills/bundled/voice/index.js.map +1 -1
  50. package/dist/skills/bundled/whale-tracking/index.d.ts +11 -5
  51. package/dist/skills/bundled/whale-tracking/index.js +161 -19
  52. package/dist/skills/bundled/whale-tracking/index.js.map +1 -1
  53. package/dist/skills/bundled/yoink/index.js +35 -0
  54. package/dist/skills/bundled/yoink/index.js.map +1 -1
  55. package/dist/solana/kamino.js +8 -6
  56. package/dist/solana/kamino.js.map +1 -1
  57. package/dist/solana/marginfi.js +4 -2
  58. package/dist/solana/marginfi.js.map +1 -1
  59. package/dist/solana/pump-swarm.js +4 -2
  60. package/dist/solana/pump-swarm.js.map +1 -1
  61. package/dist/solana/solend.js +4 -2
  62. package/dist/solana/solend.js.map +1 -1
  63. package/package.json +1 -1
@@ -315,6 +315,12 @@ function createOpportunityFinder(db, feeds, embeddings, config = {}) {
315
315
  // Get prices for same outcome across platforms
316
316
  const pricesByPlatform = [];
317
317
  for (const { platform, market } of match.markets) {
318
+ // Skip markets with stale prices (older than 5 minutes)
319
+ const stalenessMs = Date.now() - (market.updatedAt?.getTime?.() || 0);
320
+ if (market.updatedAt && stalenessMs > 5 * 60 * 1000) {
321
+ logger_1.logger.debug({ platform, marketId: market.id, stalenessMs }, 'Skipping stale market in cross-platform arb');
322
+ continue;
323
+ }
318
324
  const yesOutcome = normalizer.findYes(market.outcomes);
319
325
  const noOutcome = normalizer.findNo(market.outcomes);
320
326
  if (!yesOutcome || !isValidPrice(yesOutcome.price))
@@ -323,7 +329,7 @@ function createOpportunityFinder(db, feeds, embeddings, config = {}) {
323
329
  platform,
324
330
  market,
325
331
  yesPrice: yesOutcome.price,
326
- noPrice: noOutcome?.price || 1 - yesOutcome.price,
332
+ noPrice: noOutcome?.price ?? (1 - yesOutcome.price),
327
333
  liquidity: Math.min(yesOutcome.volume24h || 0, noOutcome?.volume24h || 0),
328
334
  });
329
335
  }
@@ -338,12 +344,15 @@ function createOpportunityFinder(db, feeds, embeddings, config = {}) {
338
344
  // Strategy 2: Buy YES on low, Buy NO on high (if NO + YES_low < $1)
339
345
  const combinedCost = lowest.yesPrice + highest.noPrice;
340
346
  const grossCrossEdge = (1 - combinedCost) * 100;
341
- // Calculate fee-adjusted edges (fees on both platforms)
347
+ // Calculate fee-adjusted edges (fees proportional to cost on each platform)
342
348
  const lowestFeeRate = (0, combinatorial_1.getPlatformFeeRate)(lowest.platform);
343
349
  const highestFeeRate = (0, combinatorial_1.getPlatformFeeRate)(highest.platform);
344
- const totalFeesPct = (lowestFeeRate + highestFeeRate) * 100;
345
- const spreadYes = grossSpreadYes - totalFeesPct;
346
- const crossEdge = grossCrossEdge - totalFeesPct;
350
+ // Spread strategy fees: buy YES on low platform, sell YES on high platform
351
+ const spreadFeesPct = (lowest.yesPrice * lowestFeeRate + highest.yesPrice * highestFeeRate) * 100;
352
+ const spreadYes = grossSpreadYes - spreadFeesPct;
353
+ // Cross strategy fees: buy YES on low platform, buy NO on high platform
354
+ const crossFeesPct = (lowest.yesPrice * lowestFeeRate + highest.noPrice * highestFeeRate) * 100;
355
+ const crossEdge = grossCrossEdge - crossFeesPct;
347
356
  const edgePct = Math.max(spreadYes, crossEdge);
348
357
  if (edgePct < minEdge)
349
358
  continue;
@@ -593,6 +602,7 @@ function createOpportunityFinder(db, feeds, embeddings, config = {}) {
593
602
  // ==========================================================================
594
603
  // REAL-TIME
595
604
  // ==========================================================================
605
+ let priceUpdateHandler = null;
596
606
  async function startRealtime() {
597
607
  if (isScanning)
598
608
  return;
@@ -606,19 +616,14 @@ function createOpportunityFinder(db, feeds, embeddings, config = {}) {
606
616
  await scan();
607
617
  }
608
618
  }, cfg.scanIntervalMs);
609
- // Subscribe to price updates
610
- for (const platform of cfg.platforms) {
611
- try {
612
- feeds.on('priceUpdate', (update) => {
613
- if (update.platform === platform) {
614
- handlePriceUpdate(update);
615
- }
616
- });
619
+ // Subscribe to price updates with a single listener (not one per platform)
620
+ const platformSet = new Set(cfg.platforms);
621
+ priceUpdateHandler = (update) => {
622
+ if (platformSet.has(update.platform)) {
623
+ handlePriceUpdate(update);
617
624
  }
618
- catch (error) {
619
- logger_1.logger.warn({ error, platform }, 'Failed to subscribe to price updates');
620
- }
621
- }
625
+ };
626
+ feeds.on('priceUpdate', priceUpdateHandler);
622
627
  emitter.emit('started');
623
628
  }
624
629
  function stopRealtime() {
@@ -627,22 +632,45 @@ function createOpportunityFinder(db, feeds, embeddings, config = {}) {
627
632
  clearInterval(scanInterval);
628
633
  scanInterval = null;
629
634
  }
635
+ // Remove price update listener to prevent leaks
636
+ if (priceUpdateHandler) {
637
+ feeds.off('priceUpdate', priceUpdateHandler);
638
+ priceUpdateHandler = null;
639
+ }
630
640
  logger_1.logger.info('Stopped real-time opportunity scanning');
631
641
  emitter.emit('stopped');
632
642
  }
633
643
  function handlePriceUpdate(update) {
634
644
  // Check if this affects any active opportunities
645
+ const toExpire = [];
635
646
  for (const [id, opp] of activeOpportunities) {
636
647
  const affected = opp.markets.find((m) => m.platform === update.platform && m.marketId === update.marketId);
637
648
  if (affected) {
638
- // Update price and recalculate
649
+ // Update price and recalculate edge based on new prices
639
650
  affected.price = update.price;
651
+ // Recalculate edgePct based on opportunity type
652
+ if (opp.type === 'internal' && opp.markets.length === 2) {
653
+ const sum = opp.markets[0].price + opp.markets[1].price;
654
+ const feeRate = (0, combinatorial_1.getPlatformFeeRate)(opp.markets[0].platform);
655
+ const totalFees = sum * feeRate;
656
+ opp.edgePct = (1 - sum) * 100 - totalFees * 100;
657
+ opp.profitPer100 = (opp.edgePct / 100) * 100;
658
+ }
659
+ else if (opp.type === 'cross_platform' && opp.markets.length === 2) {
660
+ const m0 = opp.markets[0];
661
+ const m1 = opp.markets[1];
662
+ const combinedCost = m0.price + m1.price;
663
+ const fee0 = m0.price * (0, combinatorial_1.getPlatformFeeRate)(m0.platform);
664
+ const fee1 = m1.price * (0, combinatorial_1.getPlatformFeeRate)(m1.platform);
665
+ opp.edgePct = (1 - combinedCost) * 100 - (fee0 + fee1) * 100;
666
+ opp.profitPer100 = (opp.edgePct / 100) * 100;
667
+ }
640
668
  const rescored = scorer.score(opp);
641
669
  Object.assign(opp, rescored);
642
670
  // Check if still valid
643
671
  if (opp.edgePct < cfg.minEdge) {
644
672
  opp.status = 'expired';
645
- activeOpportunities.delete(id);
673
+ toExpire.push(id);
646
674
  emitter.emit('expired', opp);
647
675
  }
648
676
  else {
@@ -650,6 +678,10 @@ function createOpportunityFinder(db, feeds, embeddings, config = {}) {
650
678
  }
651
679
  }
652
680
  }
681
+ // Delete expired entries outside the iteration loop
682
+ for (const id of toExpire) {
683
+ activeOpportunities.delete(id);
684
+ }
653
685
  }
654
686
  // ==========================================================================
655
687
  // MARKET LINKING
@@ -675,6 +707,7 @@ function createOpportunityFinder(db, feeds, embeddings, config = {}) {
675
707
  if (opp) {
676
708
  opp.status = 'taken';
677
709
  opp.outcome = { taken: true, fillPrices };
710
+ activeOpportunities.delete(id);
678
711
  analytics.recordTaken(opp);
679
712
  emitter.emit('taken', opp);
680
713
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/opportunity/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/opportunity/index.ts"],"names":[],"mappings":"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"}
@@ -281,10 +281,20 @@ function createMarketMatcher(db, embeddings, config = {}) {
281
281
  // Only flag if there are specific numbers that differ significantly
282
282
  const uniqueToA = [...setA].filter((n) => {
283
283
  // Check if there's a close number in B
284
- return ![...setB].some((b) => Math.abs(n - b) / Math.max(n, b) < 0.1);
284
+ return ![...setB].some((b) => {
285
+ const maxVal = Math.max(Math.abs(n), Math.abs(b));
286
+ if (maxVal === 0)
287
+ return true; // Both zero = same
288
+ return Math.abs(n - b) / maxVal < 0.1;
289
+ });
285
290
  });
286
291
  const uniqueToB = [...setB].filter((n) => {
287
- return ![...setA].some((a) => Math.abs(n - a) / Math.max(n, a) < 0.1);
292
+ return ![...setA].some((a) => {
293
+ const maxVal = Math.max(Math.abs(n), Math.abs(a));
294
+ if (maxVal === 0)
295
+ return true; // Both zero = same
296
+ return Math.abs(n - a) / maxVal < 0.1;
297
+ });
288
298
  });
289
299
  if (uniqueToA.length > 0 && uniqueToB.length > 0) {
290
300
  return `Different key numbers: ${uniqueToA.join(',')} vs ${uniqueToB.join(',')}`;
@@ -1 +1 @@
1
- {"version":3,"file":"matching.js","sourceRoot":"","sources":["../../src/opportunity/matching.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"matching.js","sourceRoot":"","sources":["../../src/opportunity/matching.ts"],"names":[],"mappings":"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"}
@@ -59,18 +59,229 @@ async function execute(args) {
59
59
  let output = `**Opportunity Analytics** (${days}d)\n\n`;
60
60
  output += `Total found: ${stats.totalFound}\n`;
61
61
  output += `Taken: ${stats.taken}\n`;
62
- output += `Win rate: ${(stats.winRate * 100).toFixed(1)}%\n`;
62
+ output += `Win rate: ${stats.winRate.toFixed(1)}%\n`;
63
63
  output += `Total profit: $${stats.totalProfit.toLocaleString()}\n`;
64
64
  output += `Avg edge: ${stats.avgEdge.toFixed(2)}%\n`;
65
65
  return output;
66
66
  }
67
+ case 'today': {
68
+ const stats = analytics.getStats({ days: 1 });
69
+ let output = `**Today's Performance**\n\n`;
70
+ output += `Opportunities found: ${stats.totalFound}\n`;
71
+ output += `Taken: ${stats.taken}\n`;
72
+ output += `Win rate: ${stats.winRate.toFixed(1)}%\n`;
73
+ output += `Profit: $${stats.totalProfit.toLocaleString()}\n`;
74
+ output += `Avg edge: ${stats.avgEdge.toFixed(2)}%\n`;
75
+ if (stats.bestPlatformPair) {
76
+ output += `\nBest pair: ${stats.bestPlatformPair.platforms.join(' <-> ')} (${stats.bestPlatformPair.winRate.toFixed(0)}% WR)\n`;
77
+ }
78
+ return output;
79
+ }
80
+ case 'week': {
81
+ const stats = analytics.getStats({ days: 7 });
82
+ let output = `**Weekly Performance** (7d)\n\n`;
83
+ output += `Opportunities found: ${stats.totalFound}\n`;
84
+ output += `Taken: ${stats.taken}\n`;
85
+ output += `Win rate: ${stats.winRate.toFixed(1)}%\n`;
86
+ output += `Profit: $${stats.totalProfit.toLocaleString()}\n`;
87
+ output += `Avg edge: ${stats.avgEdge.toFixed(2)}%\n`;
88
+ if (Object.keys(stats.byType).length > 0) {
89
+ output += `\n**By Type:**\n`;
90
+ for (const [type, data] of Object.entries(stats.byType)) {
91
+ output += ` ${type}: ${data.count} opps, ${data.winRate.toFixed(0)}% WR, $${data.profit.toFixed(2)}\n`;
92
+ }
93
+ }
94
+ return output;
95
+ }
96
+ case 'month': {
97
+ const stats = analytics.getStats({ days: 30 });
98
+ let output = `**Monthly Performance** (30d)\n\n`;
99
+ output += `Opportunities found: ${stats.totalFound}\n`;
100
+ output += `Taken: ${stats.taken}\n`;
101
+ output += `Win rate: ${stats.winRate.toFixed(1)}%\n`;
102
+ output += `Profit: $${stats.totalProfit.toLocaleString()}\n`;
103
+ output += `Avg edge: ${stats.avgEdge.toFixed(2)}%\n`;
104
+ output += `Avg score: ${stats.avgScore.toFixed(1)}\n`;
105
+ if (Object.keys(stats.byType).length > 0) {
106
+ output += `\n**By Type:**\n`;
107
+ for (const [type, data] of Object.entries(stats.byType)) {
108
+ output += ` ${type}: ${data.count} opps, ${data.winRate.toFixed(0)}% WR, $${data.profit.toFixed(2)}, avg edge ${data.avgEdge.toFixed(2)}%\n`;
109
+ }
110
+ }
111
+ if (stats.bestPlatformPair) {
112
+ output += `\nBest pair: ${stats.bestPlatformPair.platforms.join(' <-> ')} (${stats.bestPlatformPair.count} opps, ${stats.bestPlatformPair.winRate.toFixed(0)}% WR)\n`;
113
+ }
114
+ return output;
115
+ }
116
+ case 'attribution': {
117
+ const periodFlag = parts.find((p) => p.match(/^\d+d$/));
118
+ const days = periodFlag ? parseInt(periodFlag) : 30;
119
+ const attr = analytics.getPerformanceAttribution({ days });
120
+ let output = `**Performance Attribution** (${days}d)\n\n`;
121
+ output += `**By Edge Source:**\n`;
122
+ for (const [source, bucket] of Object.entries(attr.byEdgeSource)) {
123
+ if (bucket.count === 0)
124
+ continue;
125
+ output += ` ${source}: ${bucket.count} opps, ${bucket.winRate.toFixed(0)}% WR, $${bucket.totalPnL.toFixed(2)} PnL, avg edge ${bucket.avgEdge.toFixed(2)}%\n`;
126
+ }
127
+ output += `\n**Execution Quality:**\n`;
128
+ output += ` Avg slippage: ${attr.executionQuality.avgSlippagePct.toFixed(2)}%\n`;
129
+ output += ` Avg execution: ${attr.executionQuality.avgExecutionTimeMs.toFixed(0)}ms\n`;
130
+ output += ` Fill rate: ${attr.executionQuality.fillRatePct.toFixed(0)}%\n`;
131
+ output += ` Partial fills: ${attr.executionQuality.partialFills}\n`;
132
+ return output;
133
+ }
134
+ case 'by-platform': {
135
+ const pairs = analytics.getPlatformPairs();
136
+ const stats = analytics.getStats({ days: 30 });
137
+ let output = '**Performance by Platform**\n\n';
138
+ if (Object.keys(stats.byPlatform).length > 0) {
139
+ for (const [platform, data] of Object.entries(stats.byPlatform)) {
140
+ output += ` ${platform}: ${data.count} opps, ${data.winRate.toFixed(0)}% WR, $${data.profit.toFixed(2)}\n`;
141
+ }
142
+ }
143
+ if (pairs.length > 0) {
144
+ output += `\n**Platform Pairs:**\n`;
145
+ for (const p of pairs) {
146
+ output += ` ${p.platforms.join(' <-> ')}: ${p.count} opps, ${p.winRate.toFixed(0)}% WR, $${p.totalProfit.toFixed(2)} profit, avg edge ${p.avgEdge.toFixed(2)}%\n`;
147
+ }
148
+ }
149
+ if (Object.keys(stats.byPlatform).length === 0 && pairs.length === 0) {
150
+ output += 'No platform data yet.\n';
151
+ }
152
+ return output;
153
+ }
154
+ case 'by-category': {
155
+ const stats = analytics.getStats({ days: 30 });
156
+ let output = '**Performance by Category (Type)**\n\n';
157
+ if (Object.keys(stats.byType).length === 0)
158
+ return 'No category data yet.';
159
+ for (const [type, data] of Object.entries(stats.byType)) {
160
+ output += ` ${type}: ${data.count} opps, ${data.taken} taken, ${data.winRate.toFixed(0)}% WR, $${data.profit.toFixed(2)}, avg edge ${data.avgEdge.toFixed(2)}%\n`;
161
+ }
162
+ return output;
163
+ }
164
+ case 'by-strategy': {
165
+ const periodFlag = parts.find((p) => p.match(/^\d+d$/));
166
+ const days = periodFlag ? parseInt(periodFlag) : 30;
167
+ const strategies = analytics.getBestStrategies({ days, minSamples: 1 });
168
+ if (!strategies.length)
169
+ return 'No strategy data yet.';
170
+ let output = `**Performance by Strategy** (${days}d)\n\n`;
171
+ for (const s of strategies) {
172
+ output += ` ${s.type}`;
173
+ if (s.platformPair)
174
+ output += ` (${s.platformPair.join(' <-> ')})`;
175
+ output += `: ${s.samples} trades, ${s.winRate.toFixed(0)}% WR, avg $${s.avgProfit.toFixed(2)}\n`;
176
+ }
177
+ return output;
178
+ }
179
+ case 'best-times':
180
+ case 'by-hour':
181
+ case 'by-day': {
182
+ const periodFlag = parts.find((p) => p.match(/^\d+d$/));
183
+ const days = periodFlag ? parseInt(periodFlag) : 30;
184
+ const attr = analytics.getPerformanceAttribution({ days });
185
+ let output = '';
186
+ if (cmd === 'by-day') {
187
+ const dayNames = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
188
+ output = `**Performance by Day of Week** (${days}d)\n\n`;
189
+ for (let d = 0; d < 7; d++) {
190
+ const bucket = attr.byDayOfWeek[d];
191
+ if (!bucket || bucket.count === 0)
192
+ continue;
193
+ output += ` ${dayNames[d]}: ${bucket.count} opps, ${bucket.winRate.toFixed(0)}% WR, $${bucket.totalPnL.toFixed(2)} PnL\n`;
194
+ }
195
+ }
196
+ else {
197
+ output = `**Performance by Hour (UTC)** (${days}d)\n\n`;
198
+ const hourEntries = [];
199
+ for (let h = 0; h < 24; h++) {
200
+ const bucket = attr.byHour[h];
201
+ if (bucket && bucket.count > 0) {
202
+ hourEntries.push({ hour: h, bucket });
203
+ }
204
+ }
205
+ if (cmd === 'best-times') {
206
+ hourEntries.sort((a, b) => b.bucket.avgPnL - a.bucket.avgPnL);
207
+ output = `**Best Trading Hours (UTC)** (${days}d)\n\n`;
208
+ }
209
+ for (const { hour, bucket } of hourEntries) {
210
+ output += ` ${String(hour).padStart(2, '0')}:00: ${bucket.count} opps, ${bucket.winRate.toFixed(0)}% WR, avg $${bucket.avgPnL.toFixed(2)}, total $${bucket.totalPnL.toFixed(2)}\n`;
211
+ }
212
+ }
213
+ if (output.endsWith('\n\n'))
214
+ output += 'No time data yet.\n';
215
+ return output;
216
+ }
217
+ case 'edge-decay': {
218
+ const typeFlag = parts.indexOf('--type');
219
+ const type = typeFlag >= 0 ? parts[typeFlag + 1] : undefined;
220
+ const periodFlag = parts.find((p) => p.match(/^\d+d$/));
221
+ const days = periodFlag ? parseInt(periodFlag) : 30;
222
+ const decay = analytics.getEdgeDecayAnalysis({ type, days });
223
+ if (decay.decayCurve.length === 0)
224
+ return 'No edge decay data yet.';
225
+ let output = `**Edge Decay Analysis** (${days}d)\n\n`;
226
+ output += `Avg lifespan: ${(decay.avgLifespanMs / 60000).toFixed(1)} minutes\n\n`;
227
+ output += `**Decay Curve:**\n`;
228
+ for (const point of decay.decayCurve) {
229
+ const bar = '#'.repeat(Math.round(point.remainingEdgePct * 2));
230
+ output += ` ${String(point.minutesSinceDiscovery).padStart(3)}m: ${point.remainingEdgePct.toFixed(2)}% ${bar}\n`;
231
+ }
232
+ return output;
233
+ }
234
+ case 'edge-buckets': {
235
+ const periodFlag = parts.find((p) => p.match(/^\d+d$/));
236
+ const days = periodFlag ? parseInt(periodFlag) : 30;
237
+ const attr = analytics.getPerformanceAttribution({ days });
238
+ let output = `**Performance by Edge Size** (${days}d)\n\n`;
239
+ const labels = {
240
+ tiny: '< 1%',
241
+ small: '1-2%',
242
+ medium: '2-5%',
243
+ large: '5-10%',
244
+ huge: '> 10%',
245
+ };
246
+ let hasData = false;
247
+ for (const [key, bucket] of Object.entries(attr.byEdgeBucket)) {
248
+ if (bucket.count === 0)
249
+ continue;
250
+ hasData = true;
251
+ output += ` ${labels[key] || key}: ${bucket.count} opps, ${bucket.winRate.toFixed(0)}% WR, avg $${bucket.avgPnL.toFixed(2)}, total $${bucket.totalPnL.toFixed(2)}\n`;
252
+ }
253
+ if (!hasData)
254
+ output += 'No edge bucket data yet.\n';
255
+ return output;
256
+ }
257
+ case 'liquidity': {
258
+ const periodFlag = parts.find((p) => p.match(/^\d+d$/));
259
+ const days = periodFlag ? parseInt(periodFlag) : 30;
260
+ const attr = analytics.getPerformanceAttribution({ days });
261
+ let output = `**Performance by Liquidity** (${days}d)\n\n`;
262
+ const labels = {
263
+ low: '< $500',
264
+ medium: '$500 - $5,000',
265
+ high: '> $5,000',
266
+ };
267
+ let hasData = false;
268
+ for (const [key, bucket] of Object.entries(attr.byLiquidityBucket)) {
269
+ if (bucket.count === 0)
270
+ continue;
271
+ hasData = true;
272
+ output += ` ${labels[key] || key}: ${bucket.count} opps, ${bucket.winRate.toFixed(0)}% WR, avg $${bucket.avgPnL.toFixed(2)}, total $${bucket.totalPnL.toFixed(2)}\n`;
273
+ }
274
+ if (!hasData)
275
+ output += 'No liquidity data yet.\n';
276
+ return output;
277
+ }
67
278
  case 'platforms': {
68
279
  const pairs = analytics.getPlatformPairs();
69
280
  if (!pairs.length)
70
281
  return 'No platform pair data yet.';
71
282
  let output = '**Platform Pair Performance**\n\n';
72
283
  for (const p of pairs) {
73
- output += `${p.platforms.join(' <-> ')}: ${p.count} opps, ${(p.winRate * 100).toFixed(0)}% WR, $${p.totalProfit.toFixed(2)} profit\n`;
284
+ output += `${p.platforms.join(' <-> ')}: ${p.count} opps, ${p.winRate.toFixed(0)}% WR, $${p.totalProfit.toFixed(2)} profit\n`;
74
285
  }
75
286
  return output;
76
287
  }
@@ -99,7 +310,20 @@ function helpText() {
99
310
  return `**Analytics Commands**
100
311
 
101
312
  /analytics - Summary stats
102
- /analytics stats [--period 7d] - Performance statistics
313
+ /analytics stats [Nd] - Performance statistics
314
+ /analytics today - Today's performance
315
+ /analytics week - Weekly breakdown
316
+ /analytics month - Monthly breakdown
317
+ /analytics attribution [Nd] - P&L by edge source
318
+ /analytics by-platform - P&L by platform
319
+ /analytics by-category - P&L by market category
320
+ /analytics by-strategy [Nd] - P&L by strategy
321
+ /analytics best-times [Nd] - Best trading hours
322
+ /analytics by-hour [Nd] - Hourly performance
323
+ /analytics by-day [Nd] - Day of week analysis
324
+ /analytics edge-decay [Nd] - Edge decay over time
325
+ /analytics edge-buckets [Nd] - Performance by edge size
326
+ /analytics liquidity [Nd] - Performance by liquidity
103
327
  /analytics platforms - Platform pair performance
104
328
  /analytics opportunities [--type X] - Browse opportunities`;
105
329
  }