定位 sizing

这个技能用于使用凯利准则和资金管理来计算最优的交易头寸大小,以实现风险控制和资金增长。

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

name: 定位 description: “使用凯利准则和资金管理进行头寸定位” emoji: “📐”

定位 - 完整的API参考

使用凯利准则、分数凯利和投资组合级分配计算最优头寸大小。


聊天命令

凯利计算器

/kelly 0.45 0.55 10000             市场价格,你的概率,资金池,
/kelly "特朗普2028" 0.55 --bank 10k 针对特定市场计算
/kelly --half 0.45 0.55 10000       半凯利(更安全)
/kelly --quarter 0.45 0.55 10000    四分之一凯利(保守)

头寸定位

/size 10000 --risk 2%               每笔交易风险2%的规模
/size 10000 --max-position 25%      单一头寸最大25%
/size portfolio --rebalance         重新平衡到目标权重

优势计算

/edge 0.45 0.55                     计算优势(概率 - 价格)
/edge "特朗普2028" --estimate 0.55  与市场价格相比的优势

TypeScript API参考

创建定位计算器

import { createSizingCalculator } from 'clodds/sizing';

const sizing = createSizingCalculator({
  // 资金池
  bankroll: 10000,

  // 凯利分数(1 = 全部,0.5 = 一半)
  kellyFraction: 0.5,

  // 限制
  maxPositionPercent: 25,
  maxTotalExposure: 80,
});

基本凯利

// 二元结果(是/否市场)
const size = sizing.kelly({
  marketPrice: 0.45,        // 当前价格
  estimatedProb: 0.55,      // 你的概率估计
  bankroll: 10000,
});

console.log(`最优投注:$${size.optimalSize}`);
console.log(`优势:${size.edge}%`);
console.log(`凯利%:${size.kellyPercent}%`);
console.log(`期望值:$${size.expectedValue}`);

分数凯利

// 半凯利(大多数交易者推荐)
const halfKelly = sizing.kelly({
  marketPrice: 0.45,
  estimatedProb: 0.55,
  bankroll: 10000,
  fraction: 0.5,  // 半凯利
});

// 四分之一凯利(非常保守)
const quarterKelly = sizing.kelly({
  marketPrice: 0.45,
  estimatedProb: 0.55,
  bankroll: 10000,
  fraction: 0.25,
});

console.log(`全凯利:$${sizing.kelly({...}).optimalSize}`);
console.log(`半凯利:$${halfKelly.optimalSize}`);
console.log(`四分之一凯利:$${quarterKelly.optimalSize}`);

多结果凯利

// 对于有3+结果的市场
const multiKelly = sizing.kellyMultiOutcome({
  outcomes: [
    { name: '特朗普', price: 0.35, estimatedProb: 0.40 },
    { name: '德桑蒂斯', price: 0.25, estimatedProb: 0.20 },
    { name: '哈莉', price: 0.15, estimatedProb: 0.15 },
    { name: '其他', price: 0.25, estimatedProb: 0.25 },
  ],
  bankroll: 10000,
  fraction: 0.5,
});

for (const alloc of multiKelly.allocations) {
  console.log(`${alloc.name}: $${alloc.size} (${alloc.percent}%)`);
}

投资组合级凯利

// 跨多个市场的最优分配
const portfolio = sizing.kellyPortfolio({
  positions: [
    { market: '特朗普2028', price: 0.45, prob: 0.55 },
    { market: '联邦利率削减', price: 0.60, prob: 0.70 },
    { market: 'BTC > 100k', price: 0.30, prob: 0.40 },
  ],
  bankroll: 10000,
  correlations: correlationMatrix,  // 可选
  fraction: 0.5,
});

console.log('最优投资组合:');
for (const pos of portfolio.positions) {
  console.log(`  ${pos.market}: $${pos.size}`);
}
console.log(`总曝光度:${portfolio.totalExposure}%`);

信心调整定位

// 当信心较低时减少规模
const size = sizing.kellyWithConfidence({
  marketPrice: 0.45,
  estimatedProb: 0.55,
  confidence: 0.7,  // 对估计值有70%的信心
  bankroll: 10000,
});

// 规模按信心比例减少
console.log(`信心调整后的规模:$${size.optimalSize}`);

优势计算

// 计算优势
const edge = sizing.calculateEdge({
  marketPrice: 0.45,
  estimatedProb: 0.55,
});

console.log(`优势:${edge.edgePercent}%`);
console.log(`每美元的EV:$${edge.evPerDollar}`);
console.log(`隐含赔率:${edge.impliedOdds}`);
console.log(`真实赔率:${edge.trueOdds}`);

基于风险的定位

// 基于每笔交易的风险定位
const size = sizing.riskBased({
  bankroll: 10000,
  riskPercent: 2,     // 每笔交易风险2%
  stopLossPercent: 10, // 10%的止损
});

console.log(`头寸规模:$${size.positionSize}`);
console.log(`最大损失:$${size.maxLoss}`);

凯利分数

分数 风险水平 使用案例
全(1.0) 激进 数学最优,高方差
半(0.5) 中等 大多数交易者,良好平衡
四分之一(0.25) 保守 新交易者,不确定的优势
十分之一(0.1) 非常安全 学习,小优势

优势要求

优势 建议
< 2% 不要交易
2-5% 小规模(四分之一凯利)
5-10% 正常规模(半凯利)
10%+ 更大的规模,验证优势

公式

凯利公式

f* = (p * b - q) / b

其中:
f* = 要投注的资金池的比例
p = 获胜的概率
q = 输的概率(1 - p)
b = 获得的赔率(1/价格 - 1)

优势公式

优势 = 估计概率 - 市场价格
EV = 优势 * 投注规模

最佳实践

  1. 使用分数凯利 —— 全凯利方差太大
  2. 对优势保持保守 —— 过度自信会破坏账户
  3. 考虑相关性 —— 不要过度暴露于同一主题
  4. 设置最大头寸 —— 永远不要超过一个市场的25%
  5. 定期重新评估 —— 价格变动时优势会变化