返回顶部
p

polymarket-quant-traderPolymarket量化交易系统

Professional-grade Polymarket prediction market trading system. Includes Kelly Criterion position sizing, EV calculator, Bayesian probability updater, cross-platform arbitrage detector (Polymarket vs 1WIN), and autoresearch loop that self-improves strategy overnight via Brier score optimisation. Use when: user wants to trade prediction markets, find arbitrage opportunities, build a trading bot, or improve prediction accuracy. Triggers: polymarket, prediction markets, kelly criterion, EV trading,

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
227
下载量
免费
免费
1
收藏
概述
安装方式
版本历史

polymarket-quant-trader

Polymarket 量化交易员

一个面向Polymarket预测市场的专业量化交易系统,已在生产环境中构建并经过实战检验。三个阿尔法流。一个集成系统。



概述

本技能为您提供一套完整的Polymarket量化交易系统,包含三个独立的阿尔法流:

  1. 1. 基于期望值的信号交易 — 凯利准则仓位管理 + 贝叶斯概率更新。发现优势,正确配置仓位,随着证据出现更新信念。
  2. 自我改进策略(自动研究循环) — 一个自主爬山优化器,使用布里尔分数作为目标函数,在夜间调整您的策略参数。醒来时获得更好的策略。
  3. 跨平台套利(Polymarket × 1WIN) — 检测Polymarket与1WIN博彩公司之间的价差。模糊标题匹配、置信度分级、凯利仓位管理。

每个流可独立运行或协同工作。系统附带TypeScript源代码、适用于每个工作流的npm脚本,以及上线前验证的回测工具。

当前生产环境表现: 布里尔分数0.18(有意义的优势区间 — 随机基线为0.25,专业水平低于0.12)。



流1:基于期望值的信号交易

工作原理

核心循环:估算概率,与市场价格比较,计算期望值,使用凯利准则配置仓位,并在新证据出现时更新信念。

凯利准则仓位管理

凯利回答的问题是:鉴于我的优势,我应该用多少比例的资金下注?

公式:

f = (p b - q) / b

其中:
f* = 最佳下注资金比例
p = 获胜概率(您的估算,0-1)
b = 净赔率乘数(每1美元风险对应的回报)
q = 1 - p(失败概率)

在预测市场中,赔率来源于市场价格:

b = (1 - 市场YES价格) / 市场YES价格

如果YES交易价格为0.40美元,则b = 0.60/0.40 = 1.5(您承担0.40美元风险以赢得0.60美元)。

实现:

typescript
// kelly-criterion.ts
export function kelly(p: number, b: number, q?: number): number {
const qVal = q ?? 1 - p;
return (p * b - qVal) / b;
}

export function quarterKelly(p: number, b: number): number {
return 0.25 * kelly(p, b);
}

export function kellySizing(
bankroll: number,
p: number,
b: number,
mode: full | half | quarter = quarter
): number {
const fraction = mode === full ? kelly(p, b)
: mode === half ? 0.5 * kelly(p, b)
: quarterKelly(p, b);
return Math.max(0, bankroll * Math.min(fraction, 0.15));
}

为什么用四分之一凯利? 完整凯利能最大化长期增长率,但会产生残酷的回撤(50%以上的波动)。四分之一凯利能捕获约75%的增长率,同时显著降低波动性。每个严肃的量化基金都使用分数凯利。

期望值计算器

期望值量化您每承担一美元风险所获得的优势:

typescript
// ev-calculator.ts
export interface MarketEV {
marketId: string;
ourP: number; // 您估算的概率
marketP: number; // 市场隐含概率(= YES价格)
b: number; // 净赔率:(1 - marketP) / marketP
ev: number; // 每美元风险的期望值
edgePct: number; // 优势占市场价格的百分比
kellyFraction: number; // 四分之一凯利最佳比例
recommend: boolean; // 是否值得交易?(ev > 0 && edgePct >= 2%)
}

export function calcEV(ourProbability: number, marketYesPrice: number) {
const b = (1 - marketYesPrice) / marketYesPrice;
const ev = ourProbability * b - (1 - ourProbability);
const edgePct = (ev / marketYesPrice) * 100;
return { ev, edgePct, b };
}

export function scoreMarket(market: any, ourP: number): MarketEV {
const { ev, edgePct, b } = calcEV(ourP, market.yesPrice);
const kellyFraction = quarterKelly(ourP, b);
return {
marketId: market.id,
ourP,
marketP: market.yesPrice,
b,
ev,
edgePct,
kellyFraction,
recommend: ev > 0 && edgePct >= 2,
};
}

export function rankByEV(markets: MarketEV[]): MarketEV[] {
return [...markets].sort((a, b) => b.ev - a.ev);
}

解读输出: 5%的edgePct意味着您的模型认为市场定价偏差为5%。当期望值为正且优势超过2%时,recommend标志触发(低于此阈值,交易成本会吞噬您的优势)。

贝叶斯概率更新器

随着新证据的出现更新您的概率估算:

typescript
// bayesian-updater.ts
export interface BayesianState {
marketId: string;
priorP: number;
currentP: number;
evidence: Evidence[];
lastUpdated: Date;
}

export interface Evidence {
description: string;
likelihoodRatio: number; // > 1 支持YES,< 1 支持NO
timestamp: Date;
}

export function bayesUpdate(prior: number, likelihoodRatio: number): number {
const posterior = (prior * likelihoodRatio) /
(prior * likelihoodRatio + (1 - prior));
return Math.max(0.001, Math.min(0.999, posterior));
}

export function addEvidence(
state: BayesianState,
evidence: Evidence
): BayesianState {
const newP = bayesUpdate(state.currentP, evidence.likelihoodRatio);
return {
...state,
currentP: newP,
evidence: [...state.evidence, evidence],
lastUpdated: evidence.timestamp,
};
}

export function getRecommendation(
state: BayesianState,
marketPrice: number
): { action: buy | sell | hold; confidence: number; reason: string } {
const diff = state.currentP - marketPrice;
if (Math.abs(diff) < 0.02) return { action: hold, confidence: 0, reason: 在噪音范围内 };
if (diff > 0) return { action: buy, confidence: diff, reason: 模型高于市场${(diff*100).toFixed(1)}% };
return { action: sell, confidence: -diff, reason: 模型低于市场${(-diff*100).toFixed(1)}% };
}

似然比: 比值为2.0意味着如果YES为真,此证据出现的可能性是两倍。比值为0.5意味着如果NO为真,此证据出现的可能性是两倍。贝叶斯更新器可以串联多个证据项——每次更新都作为新的先验输入下一次更新。

市场评分器(综合排名)

将所有信号合并为单一分数,用于市场选择:

typescript
// market-scorer.ts — 加权评分模型
// EV分数: 40%权重 — 优势百分比
// 凯利分数: 30%权重 — 最佳仓位(越高越有信心)
// 到期窗口: 20%权重 — 最佳区间6-72小时
// 成交量分数: 10%权重 — 对数归一化流动性

评分最高的市场优先交易。到期窗口过滤器避免两种失败模式:到期时间过短(如果判断错误无法退出)和到期时间过长(资金被锁定,优势衰减)。



流2:自我改进策略(自动研究循环)

布里尔分数指标

布里尔分数衡量预测校准度——您的概率估算与实际结果的接近程度:

brierScore = mean((预测概率 - 实际结果)^2)

其中 实际结果 = 1(如果解决为YES),0(如果解决为NO)

解读量表:

分数水平含义
0.25随机抛硬币式预测
0.22
微弱优势 | 略优于随机 |
| 0.18 | 有意义优势 | 持续阿尔法 |
| 0.12 | 专业水平 | 精英预测者区间 |
| < 0.10 | 超级预测者 | 前1%校准度 |

分数越低越好。系统将布里尔分数作为主要优化目标进行追踪。

策略配置

策略由可调参数定义:

typescript
// research/strategy.ts
export interface StrategyConfig {
minVolume: number; // 最低市场

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 polymarket-quant-trader-1776088623 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 polymarket-quant-trader-1776088623 技能

通过命令行安装

skillhub install polymarket-quant-trader-1776088623

下载

⬇ 下载 polymarket-quant-trader v1.0.0(免费)

文件大小: 15.29 KB | 发布时间: 2026-4-15 13:57

v1.0.0 最新 2026-4-15 13:57
Production-grade PM trading system: Kelly sizing, Brier autoresearch loop, cross-platform arb detector (PM vs 1WIN), ensemble signal swarm, weather signal source, consensus validator. 390+ tests.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部