Analytics - 完整的API参考
通过边缘来源、交易时段分析和优化洞察来分析交易表现。
聊天命令
性能概览
/analytics 性能摘要
/analytics today 今日表现
/analytics week 周分解
/analytics month 月分解
归因
/analytics attribution 按边缘来源的盈亏
/analytics by-platform 按平台的盈亏
/analytics by-category 按市场类别的盈亏
/analytics by-strategy 按策略的盈亏
时间分析
/analytics best-times 最佳交易时段
/analytics by-hour 每小时表现
/analytics by-day 一周中各天的分析
边缘分析
/analytics edge-decay 边缘随时间的衰减
/analytics edge-buckets 按边缘大小的表现
/analytics liquidity 按流动性的表现
TypeScript API参考
创建分析服务
import { createAnalyticsService } from 'clodds/analytics';
const analytics = createAnalyticsService({
// 数据源
tradesDb: './trades.db',
// 时区
timezone: 'America/New_York',
});
性能摘要
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}`);
按边缘来源归因
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 (套利)
交易时段分析
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}`);
}
一周中各天的分析
const daily = await analytics.getDayOfWeekPerformance();
for (const day of daily) {
console.log(`${day.name}: $${day.pnl} (${day.trades} 交易, ${day.winRate}% 胜率)`);
}
边缘衰减分析
const decay = await analytics.getEdgeDecay();
console.log('边缘衰减(边缘消失的速度):');
for (const bucket of decay) {
console.log(` ${bucket.holdTime}: ${bucket.avgReturn}% 回报`);
}
// 显示边缘衰减前的最佳持有时间
边缘大小桶
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}%`);
}
流动性分析
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}`);
}
执行质量
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}%`);
平台比较
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(', ')}`);
}
导出报告
// 生成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',
});
归因类别
| 类别 |
描述 |
| 边缘来源 |
边缘来源 |
| 平台 |
交易的平台 |
| 类别 |
市场类别(政治,加密货币) |
| 策略 |
生成交易的策略 |
| 时间 |
交易的小时/天 |
| 大小 |
交易大小桶 |
关键指标
| 指标 |
好值 |
描述 |
| 胜率 |
> 50% |
盈利交易的百分比 |
| 利润因子 |
> 1.5 |
总利润/总亏损 |
| 夏普比率 |
> 1.0 |
风险调整后的回报 |
| 实现的边缘 |
> 0 |
实际与预期的边缘 |
| 成交率 |
> 95% |
完全成交的订单 |
最佳实践
- 每周回顾 — 及早发现问题
- 跟踪归因 — 了解利润来源
- 优化时机 — 在最佳时段交易
- 监控边缘衰减 — 不要持有太久
- 检查执行 — 滑点会削弱边缘