analytics
Performance attribution, trade analytics, and strategy optimization
What this skill does
# 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 source
tradesDb: './trades.db',
// Time zone
timezone: '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 report
await analytics.exportReport({
format: 'pdf',
period: 'month',
include: ['summary', 'attribution', 'charts'],
outputPath: './reports/january-2024.pdf',
});
// Export raw data
await 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
1. **Review weekly** — Catch problems early
2. **Track attribution** — Know where profits come from
3. **Optimize timing** — Trade your best hours
4. **Monitor edge decay** — Don't hold too long
5. **Check execution** — Slippage kills edge
Related in Data & Analytics
clawarr-suite
IncludedComprehensive management for self-hosted media stacks (Sonarr, Radarr, Lidarr, Readarr, Prowlarr, Bazarr, Overseerr, Plex, Tautulli, SABnzbd, Recyclarr, Unpackerr, Notifiarr, Maintainerr, Kometa, FlareSolverr). Deep library exploration, analytics, dashboard generation, content management, request handling, subtitle management, indexer control, download monitoring, quality profile sync, library cleanup automation, notification routing, collection/overlay management, and media tracker integration (Trakt, Letterboxd, Simkl).
querying-soql
IncludedSOQL query generation, optimization, and analysis with 100-point scoring. Use this skill when the user needs SOQL/SOSL authoring or optimization: natural-language-to-query generation, relationship queries, aggregates, query-plan analysis, and performance or safety improvements for Salesforce queries. TRIGGER when: user writes, optimizes, or debugs SOQL/SOSL queries, touches .soql files, or asks about relationship queries, aggregates, or query performance. DO NOT TRIGGER when: bulk data operations (use handling-sf-data), Apex DML logic (use generating-apex), or report/dashboard queries.
app-store-optimization
IncludedApp Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklists, and tracking ranking changes.
habit-flow
IncludedAI-powered atomic habit tracker with natural language logging, streak tracking, smart reminders, and coaching. Use for creating habits, logging completions naturally ("I meditated today"), viewing progress, and getting personalized coaching.
app-store-optimization
IncludedApp Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklists, and tracking ranking changes.
visualizing-data
IncludedBuilds dashboards, reports, and data-driven interfaces requiring charts, graphs, or visual analytics. Provides systematic framework for selecting appropriate visualizations based on data characteristics and analytical purpose. Includes 24+ visualization types organized by purpose (trends, comparisons, distributions, relationships, flows, hierarchies, geospatial), accessibility patterns (WCAG 2.1 AA compliance), colorblind-safe palettes, and performance optimization strategies. Use when creating visualizations, choosing chart types, displaying data graphically, or designing data interfaces.