analytics

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Analytics - Complete API Reference

分析模块 - 完整API参考文档

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
/analytics                          绩效摘要
/analytics today                    今日绩效
/analytics week                     周度明细
/analytics month                    月度明细

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
/analytics attribution              按优势来源统计盈亏
/analytics by-platform              按交易平台统计盈亏
/analytics by-category              按市场品类统计盈亏
/analytics by-strategy              按交易策略统计盈亏

Time Analysis

时段分析

/analytics best-times               Best trading hours
/analytics by-hour                  Hourly performance
/analytics by-day                   Day of week analysis
/analytics best-times               最佳交易时段
/analytics by-hour                  小时级绩效
/analytics by-day                   周度日期分析

Edge Analysis

优势分析

/analytics edge-decay               How edge decays over time
/analytics edge-buckets             Performance by edge size
/analytics liquidity                Performance by liquidity

/analytics edge-decay               优势随时间衰减情况
/analytics edge-buckets             按优势规模统计绩效
/analytics liquidity                按流动性统计绩效

TypeScript API Reference

TypeScript API参考

Create Analytics Service

创建分析服务

typescript
import { createAnalyticsService } from 'clodds/analytics';

const analytics = createAnalyticsService({
  // Data source
  tradesDb: './trades.db',

  // Time zone
  timezone: 'America/New_York',
});
typescript
import { createAnalyticsService } from 'clodds/analytics';

const analytics = createAnalyticsService({
  // 数据源
  tradesDb: './trades.db',

  // 时区
  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}`);
typescript
const summary = await analytics.getSummary({
  period: 'month',
  // 或指定区间: from: '2024-01-01', to: '2024-01-31'
});

console.log('=== 绩效数据 ===');
console.log(`总盈亏: $${summary.totalPnl}`);
console.log(`胜率: ${summary.winRate}%`);
console.log(`利润因子: ${summary.profitFactor}`);
console.log(`夏普比率: ${summary.sharpeRatio}`);
console.log(`总交易次数: ${summary.totalTrades}`);
console.log(`平均每笔盈亏: $${summary.avgTrade}`);
console.log(`最佳单笔交易: $${summary.bestTrade}`);
console.log(`最差单笔交易: $${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)
typescript
const attribution = await analytics.getAttribution('edgeSource');

for (const source of attribution) {
  console.log(`${source.name}:`);
  console.log(`  盈亏: $${source.pnl}`);
  console.log(`  交易次数: ${source.trades}`);
  console.log(`  胜率: ${source.winRate}%`);
  console.log(`  贡献占比: ${source.contribution}%`);
}

// 示例来源:
// - price_lag (价格滞后)
// - liquidity_gap (订单簿流动性不足)
// - information (新闻/事件)
// - model_edge (外部模型)
// - combinatorial (套利)

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}`);
}
typescript
const hourly = await analytics.getHourlyPerformance();

console.log('最佳时段:');
for (const hour of hourly.slice(0, 3)) {
  console.log(`  ${hour.hour}:00 - 胜率: ${hour.winRate}%, 平均盈亏: $${hour.avgPnl}`);
}

console.log('最差时段:');
for (const hour of hourly.slice(-3)) {
  console.log(`  ${hour.hour}:00 - 胜率: ${hour.winRate}%, 平均盈亏: $${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)`);
}
typescript
const daily = await analytics.getDayOfWeekPerformance();

for (const day of daily) {
  console.log(`${day.name}: $${day.pnl} (交易次数: ${day.trades}, 胜率: ${day.winRate}%)`);
}

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
typescript
const decay = await analytics.getEdgeDecay();

console.log('优势衰减情况(优势消失速度):');
for (const bucket of decay) {
  console.log(`  持有时长${bucket.holdTime}: 平均回报率 ${bucket.avgReturn}%`);
}
// 显示优势衰减前的最佳持有时长

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}%`);
}
typescript
const edgeBuckets = await analytics.getEdgeBuckets();

for (const bucket of edgeBuckets) {
  console.log(`优势区间 ${bucket.min}-${bucket.max}%:`);
  console.log(`  交易次数: ${bucket.trades}`);
  console.log(`  胜率: ${bucket.winRate}%`);
  console.log(`  平均盈亏: $${bucket.avgPnl}`);
  console.log(`  实际实现优势: ${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}`);
}
typescript
const liquidity = await analytics.getLiquidityAnalysis();

for (const bucket of liquidity) {
  console.log(`${bucket.name} 流动性:`);
  console.log(`  交易次数: ${bucket.trades}`);
  console.log(`  平均滑点: ${bucket.avgSlippage}%`);
  console.log(`  成交率: ${bucket.fillRate}%`);
  console.log(`  平均盈亏: $${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}%`);
typescript
const execution = await analytics.getExecutionQuality();

console.log('=== 执行质量 ===');
console.log(`平均滑点: ${execution.avgSlippage}%`);
console.log(`成交率: ${execution.fillRate}%`);
console.log(`平均成交时间: ${execution.avgFillTimeMs}ms`);
console.log(`部分成交占比: ${execution.partialFillRate}%`);
console.log(`订单拒绝率: ${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(', ')}`);
}
typescript
const platforms = await analytics.getPlatformComparison();

for (const platform of platforms) {
  console.log(`${platform.name}:`);
  console.log(`  盈亏: $${platform.pnl}`);
  console.log(`  胜率: ${platform.winRate}%`);
  console.log(`  平均滑点: ${platform.avgSlippage}%`);
  console.log(`  优势场景: ${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',
});

typescript
// 生成PDF报告
await analytics.exportReport({
  format: 'pdf',
  period: 'month',
  include: ['summary', 'attribution', 'charts'],
  outputPath: './reports/january-2024.pdf',
});

// 导出原始数据
await analytics.exportData({
  format: 'csv',
  period: 'month',
  outputPath: './data/january-trades.csv',
});

Attribution Categories

归因分类

CategoryDescription
Edge SourceWhere the edge came from
PlatformWhich platform traded on
CategoryMarket category (politics, crypto)
StrategyWhich strategy generated trade
TimeHour/day of trade
SizeTrade size bucket

分类描述
优势来源优势的产生渠道
交易平台交易所在的平台
市场品类市场类别(如政治、加密货币)
交易策略生成交易的策略
时段交易的小时/日期
规模交易规模区间

Key Metrics

核心指标

MetricGood ValueDescription
Win Rate> 50%Percent of winning trades
Profit Factor> 1.5Gross profit / gross loss
Sharpe Ratio> 1.0Risk-adjusted returns
Realized Edge> 0Actual vs expected edge
Fill Rate> 95%Orders fully filled

指标理想值描述
胜率> 50%盈利交易的占比
利润因子> 1.5总盈利 / 总亏损
夏普比率> 1.0风险调整后回报率
实际实现优势> 0实际与预期的优势差值
成交率> 95%完全成交的订单占比

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
  1. 每周复盘 — 尽早发现问题
  2. 跟踪归因 — 明确利润来源
  3. 优化交易时段 — 在最佳时段交易
  4. 监控优势衰减 — 避免过度持有
  5. 检查执行质量 — 滑点会侵蚀优势