<< All versions
Skill v1.0.1
currentAutomated scan96/100alsk1992/cloddsbot/analytics
2 files
──Details
PublishedSeptember 9, 2026 at 01:10 AM
Content Hashsha256:16e6b211562bc35d...
Git SHA715fd4a6c06b
Bump Typepatch
──Files
Files (1 file, 6.4 KB)
SKILL.md6.4 KBactive
SKILL.md · 254 lines · 6.4 KB
version: "1.0.1" name: analytics description: "Performance attribution, trade analytics, and strategy optimization" emoji: "📊"
Analytics - Complete API Reference
Analyze trading performance with attribution by edge source, time-of-day analysis, and optimization insights.
Chat Commands
Performance Overview
/analytics Performance summary/analytics today Today's performance/analytics week Weekly breakdown/analytics month Monthly breakdown
Attribution
/analytics attribution P&L by edge source/analytics by-platform P&L by platform/analytics by-category P&L by market category/analytics by-strategy P&L by strategy
Time Analysis
/analytics best-times Best trading hours/analytics by-hour Hourly performance/analytics by-day Day of week analysis
Edge Analysis
/analytics edge-decay How edge decays over time/analytics edge-buckets Performance by edge size/analytics liquidity Performance by liquidity
TypeScript API Reference
Create Analytics Service
typescript
import { createAnalyticsService } from 'clodds/analytics';const analytics = createAnalyticsService({// Data sourcetradesDb: './trades.db',// Time zonetimezone: 'America/New_York',});
Performance Summary
typescript
const summary = await analytics.getSummary({period: 'month',// or: from: '2024-01-01', to: '2024-01-31'});console.log('=== Performance ===');console.log(`Total P&L: $${summary.totalPnl}`);console.log(`Win Rate: ${summary.winRate}%`);console.log(`Profit Factor: ${summary.profitFactor}`);console.log(`Sharpe Ratio: ${summary.sharpeRatio}`);console.log(`Total Trades: ${summary.totalTrades}`);console.log(`Avg Trade: $${summary.avgTrade}`);console.log(`Best Trade: $${summary.bestTrade}`);console.log(`Worst Trade: $${summary.worstTrade}`);
Attribution by Edge Source
typescript
const attribution = await analytics.getAttribution('edgeSource');for (const source of attribution) {console.log(`${source.name}:`);console.log(` P&L: $${source.pnl}`);console.log(` Trades: ${source.trades}`);console.log(` Win Rate: ${source.winRate}%`);console.log(` Contribution: ${source.contribution}%`);}// Example sources:// - price_lag (stale prices)// - liquidity_gap (thin orderbooks)// - information (news/events)// - model_edge (external models)// - combinatorial (arbitrage)
Time-of-Day Analysis
typescript
const hourly = await analytics.getHourlyPerformance();console.log('Best Hours:');for (const hour of hourly.slice(0, 3)) {console.log(` ${hour.hour}:00 - Win: ${hour.winRate}%, Avg: $${hour.avgPnl}`);}console.log('Worst Hours:');for (const hour of hourly.slice(-3)) {console.log(` ${hour.hour}:00 - Win: ${hour.winRate}%, Avg: $${hour.avgPnl}`);}
Day-of-Week Analysis
typescript
const daily = await analytics.getDayOfWeekPerformance();for (const day of daily) {console.log(`${day.name}: $${day.pnl} (${day.trades} trades, ${day.winRate}% win)`);}
Edge Decay Analysis
typescript
const decay = await analytics.getEdgeDecay();console.log('Edge Decay (how fast edge disappears):');for (const bucket of decay) {console.log(` ${bucket.holdTime}: ${bucket.avgReturn}% return`);}// Shows optimal hold time before edge decays
Edge Size Buckets
typescript
const edgeBuckets = await analytics.getEdgeBuckets();for (const bucket of edgeBuckets) {console.log(`Edge ${bucket.min}-${bucket.max}%:`);console.log(` Trades: ${bucket.trades}`);console.log(` Win Rate: ${bucket.winRate}%`);console.log(` Avg P&L: $${bucket.avgPnl}`);console.log(` Realized Edge: ${bucket.realizedEdge}%`);}
Liquidity Analysis
typescript
const liquidity = await analytics.getLiquidityAnalysis();for (const bucket of liquidity) {console.log(`${bucket.name} liquidity:`);console.log(` Trades: ${bucket.trades}`);console.log(` Avg Slippage: ${bucket.avgSlippage}%`);console.log(` Fill Rate: ${bucket.fillRate}%`);console.log(` Avg P&L: $${bucket.avgPnl}`);}
Execution Quality
typescript
const execution = await analytics.getExecutionQuality();console.log('=== Execution Quality ===');console.log(`Avg Slippage: ${execution.avgSlippage}%`);console.log(`Fill Rate: ${execution.fillRate}%`);console.log(`Avg Fill Time: ${execution.avgFillTimeMs}ms`);console.log(`Partial Fills: ${execution.partialFillRate}%`);console.log(`Rejected Orders: ${execution.rejectionRate}%`);
Platform Comparison
typescript
const platforms = await analytics.getPlatformComparison();for (const platform of platforms) {console.log(`${platform.name}:`);console.log(` P&L: $${platform.pnl}`);console.log(` Win Rate: ${platform.winRate}%`);console.log(` Avg Slippage: ${platform.avgSlippage}%`);console.log(` Best For: ${platform.strengths.join(', ')}`);}
Export Report
typescript
// Generate PDF reportawait analytics.exportReport({format: 'pdf',period: 'month',include: ['summary', 'attribution', 'charts'],outputPath: './reports/january-2024.pdf',});// Export raw dataawait analytics.exportData({format: 'csv',period: 'month',outputPath: './data/january-trades.csv',});
Attribution Categories
| Category | Description | |
|---|---|---|
| Edge Source | Where the edge came from | |
| Platform | Which platform traded on | |
| Category | Market category (politics, crypto) | |
| Strategy | Which strategy generated trade | |
| Time | Hour/day of trade | |
| Size | Trade size bucket |
Key Metrics
| Metric | Good Value | Description | |
|---|---|---|---|
| Win Rate | > 50% | Percent of winning trades | |
| Profit Factor | > 1.5 | Gross profit / gross loss | |
| Sharpe Ratio | > 1.0 | Risk-adjusted returns | |
| Realized Edge | > 0 | Actual vs expected edge | |
| Fill Rate | > 95% | Orders fully filled |
Best Practices
- Review weekly — Catch problems early
- Track attribution — Know where profits come from
- Optimize timing — Trade your best hours
- Monitor edge decay — Don't hold too long
- Check execution — Slippage kills edge