analytics
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseAnalytics - 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 decaystypescript
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
归因分类
| 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 |
| 指标 | 理想值 | 描述 |
|---|---|---|
| 胜率 | > 50% | 盈利交易的占比 |
| 利润因子 | > 1.5 | 总盈利 / 总亏损 |
| 夏普比率 | > 1.0 | 风险调整后回报率 |
| 实际实现优势 | > 0 | 实际与预期的优势差值 |
| 成交率 | > 95% | 完全成交的订单占比 |
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
- 每周复盘 — 尽早发现问题
- 跟踪归因 — 明确利润来源
- 优化交易时段 — 在最佳时段交易
- 监控优势衰减 — 避免过度持有
- 检查执行质量 — 滑点会侵蚀优势