名称: 分析
description: “性能归因、交易分析和策略优化”
emoji: “📊”
分析 - 完整 API 参考
通过边缘来源归因、时间分析和优化洞察来分析交易性能。
聊天命令
性能概览
/analytics 性能摘要
/analytics today 今日性能
/analytics week 每周分解
/analytics month 每月分解
归因
/analytics attribution 按边缘来源的P&L
/analytics by-platform 按平台的P&L
/analytics by-category 按市场类别的P&L
/analytics by-strategy 按策略的P&L
时间分析
/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(`总P&L: $${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(` P&L: $${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(` 平均P&L: $${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(` 平均P&L: $${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(` P&L: $${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 |
实际 vs 预期边缘 |
| 填充率 |
> 95% |
订单完全填充 |
最佳实践
- 每周审查 — 及早发现问题
- 跟踪归因 — 了解利润来源
- 优化时机 — 在最佳小时交易
- 监控边缘衰减 — 不要持有太久
- 检查执行 — 滑点会破坏边缘