策略构建与管理 strategy

使用自然语言或模板创建、管理和激活交易策略,进行回测和实时监控,以优化交易性能。

量化策略 0 次安装 0 次浏览 更新于 3/5/2026

策略 - 完整API参考

使用自然语言或模板创建自定义交易策略,然后部署到实时交易。


聊天命令

创建策略

/策略 创建 "当价格在1小时内下跌5%时买入"
/策略 创建 动量 --回溯 14 --阈值 2%
/策略 从模板 平均回归

管理策略

/策略列表                         列出所有策略
/策略 <名称>                    查看策略详情
/策略 编辑 <名称>               修改策略
/策略 删除 <名称>             移除策略

激活/停用

/策略 激活 <名称>           开始运行策略
/策略 停用 <名称>           停止策略
/策略 暂停 <名称>              暂时暂停
/策略 恢复 <名称>             恢复暂停的策略

测试 & 验证

/策略 测试 <名称> --dry-run     不进行实际交易的测试
/策略 回测 <名称>           运行回测
/策略 验证 <名称>           检查错误

TypeScript API参考

创建策略构建器

import { createStrategyBuilder } from 'clodds/策略';

const builder = createStrategyBuilder({
  // 验证
  requireDryRun: true,
  validateParameters: true,

  // 存储
  storage: 'sqlite',
  dbPath: './策略.db',
});

自然语言策略

// 从自然语言创建
const strategy = await builder.fromNaturalLanguage({
  description: `
    当满足以下条件时,在任何市场上买入YES:
    - 价格在过去一小时内下跌超过5%
    - 成交量高于平均水平
    - 价差小于2%

    当满足以下条件时卖出:
    - 价格从入场点回升3%
    - 或24小时后(超时)

    风险:每笔交易最多占投资组合的5%
  `,
  name: 'dip-buyer',
});

console.log(`已创建:${strategy.name}`);
console.log(`条件:${strategy.conditions.length}`);

基于模板的策略

// 动量策略
const momentum = await builder.fromTemplate('momentum', {
  lookbackPeriod: 14,
  entryThreshold: 0.02,
  exitThreshold: 0.01,
  stopLoss: 0.05,
  takeProfit: 0.10,
  maxPositionPct: 10,
});

// 平均回归策略
const meanReversion = await builder.fromTemplate('mean-reversion', {
  lookbackPeriod: 20,
  deviationThreshold: 2,  // 标准差
  exitOnMean: true,
  stopLoss: 0.08,
});

// 套利策略
const arbitrage = await builder.fromTemplate('arbitrage', {
  minSpread: 0.02,
  platforms: ['polymarket', 'kalshi'],
  maxSlippage: 0.01,
});

// 突破策略
const breakout = await builder.fromTemplate('breakout', {
  rangePeriod: '7d',
  breakoutThreshold: 0.05,
  confirmationVolume: 1.5,  // 1.5倍平均成交量
});

自定义策略代码

// 完全自定义策略
const custom = await builder.create({
  name: 'my-custom-strategy',
  description: '买入低价且成交量高的市场',

  // 入场条件(全部必须为真)
  entryConditions: [
    { type: 'price', operator: '<', value: 0.30 },
    { type: 'volume24h', operator: '>', value: 50000 },
    { type: 'spread', operator: '<', value: 0.02 },
  ],

  // 退出条件(任何一个触发退出)
  exitConditions: [
    { type: 'profit', operator: '>=', value: 0.15 },
    { type: 'loss', operator: '>=', value: 0.10 },
    { type: 'holdTime', operator: '>=', value: '48h' },
  ],

  // 风险管理
  risk: {
    maxPositionPct: 5,
    stopLoss: 0.10,
    takeProfit: 0.20,
    maxConcurrentPositions: 5,
  },

  // 执行
  execution: {
    orderType: 'limit',
    limitBuffer: 0.005,
    retries: 3,
  },
});

验证策略

const validation = await builder.validate(strategy);

if (validation.valid) {
  console.log('✅ 策略有效');
} else {
  console.log('❌ 验证错误:');
  for (const error of validation.errors) {
    console.log(`  - ${error}`);
  }
}

// 警告(不阻止)
for (const warning of validation.warnings) {
  console.log(`⚠️ ${warning}`);
}

激活策略

// 首先进行干跑(必需)
await builder.activate(strategy.name, {
  dryRun: true,
  notifyOnTrade: true,
});

// 验证后,上线
await builder.activate(strategy.name, {
  dryRun: false,
  capital: 5000,  // 分配$5000
});

监控策略

const status = await builder.getStatus(strategy.name);

console.log(`状态:${status.status}`);  // 'active' | 'paused' | 'stopped'
console.log(`交易:${status.trades}`);
console.log(`盈亏:$${status.pnl}`);
console.log(`胜率:${status.winRate}%`);
console.log(`活跃头寸:${status.activePositions}`);
console.log(`最后信号:${status.lastSignal}`);

列出策略

const strategies = await builder.list();

for (const s of strategies) {
  console.log(`${s.name}: ${s.status}`);
  console.log(`  类型:${s.template || 'custom'}`);
  console.log(`  盈亏:$${s.pnl}`);
  console.log(`  交易:${s.trades}`);
}

内置模板

模板 描述
momentum 跟随价格趋势
mean-reversion 逢低买入,逢高卖出
arbitrage 跨平台价差
breakout 突破范围进入
pairs 相关市场对
news-reactive 对新闻事件做出反应
volume-spike 在成交量激增时交易

条件类型

类型 描述 示例
price 当前价格 < 0.30
volume24h 24小时成交量 > 50000
spread 买卖价差 < 0.02
profit 未实现利润 >= 0.15
loss 未实现亏损 >= 0.10
holdTime 持仓时间 >= 48h
priceChange 价格变化% < -0.05 (5%下跌)

最佳实践

  1. 始终先进行干跑 —— 在投入真金白银之前进行测试
  2. 从小开始 —— 在证明有效之前使用低资本
  3. 设置止损 —— 防止不良交易
  4. 积极监控 —— 检查策略性能
  5. 迭代 —— 根据结果进行改进