概率实验室
加密货币概率计算器
加密货币的任意价格目标,真实概率有多大?用蒙特卡洛模拟算给你看。比特币、以太坊、各种山寨币都能问:到期收在某个价位之上、到期停在某个区间里、截止之前触碰某个价格,或者止损之前先触碰目标价。全部在你的浏览器中运行,无需注册。
快速上手
设置
采用年化 45.0%(手动回退,无数据)。
+模型设置
需要最高价和最低价。当前的数据源只提供收盘价。
默认为零,这是有意为之。一旦假定了方向,概率工具就变成了一厢情愿。
种子相同,价格路径就相同。改一改,就能看出答案里有多少只是模拟噪声。
+与市场价格对比
如果某个预测市场或某个期权对这个结果有报价,就把它的价格填在这里。工具会告诉你,模型与市场的分歧是否大到值得在意。
市场为这个结果开出的价码,以概率的形式表示。
低于这个值,工具就报告无优势。模型还没精确到可以为细微差别争论的程度。
可选。仅用于把凯利比例换算成下注金额。
目前无法获取实时数据。计算器依然可用:自己填入现货价格和波动率,下面的每一个数字都仍然成立。
读数
7 天内Bitcoin 到期高于 $125,000的概率(波动率 45%,手动回退,无数据)。
交易快照
把你的目标所需的涨跌幅换算成年化,这样一周和一年就落在同一把尺子上。拿它和这个资产实际的历史回报比一比:如果你的目标要的是那个的好几倍,上面那些概率就只是一道算术题,不是预测。
光有概率决定不了仓位。先读以 σ 计的目标价距离:一个 σ 以内是一次普通的波动,超过两个 σ 就是罕见的了。两个敏感度显示,你的答案有多少是靠你估计出来的数字撑着,而不是读出来的。
持有风险
风险价值是你只在最糟的情形下才会超过的亏损:在 95 的水平上是最糟的 5%,在 99 的水平上是最糟的 1%。预期损失是那些情形下的平均亏损,它才是重要的那个数字,因为它说明糟糕的日子究竟能糟到什么程度。
波动率
这个模型以前说对过吗?
这个问题没有校准结果。全程通道和竞速由整条路径决定,而前向滚动检验只能给那些靠单个收盘价就能判定的问题打分。此外,短的历史也提供不了足够多的独立样本来打分。
加密货币概率计算器到底做什么
大多数自称加密货币计算器的工具只算盈亏:你输入一个买入价和一个卖出价,它给你一个收益率。这是另一种工具。加密货币概率计算器回答的是任何一笔交易之前的那个问题:这个走势到底有多大可能?给它一个目标价和一个截止时间,它返回概率,依据是该资产实际的波动幅度,而不是任何人对方向的看法。方向是你的输入,概率是它的输出。
当市场已经为同一个问题报出价格时,这一点尤其重要。一个在 BTC 于周五前突破某个价位时赔付的比特币预测市场,报的就是一个隐含概率。本计算器从资产自身的波动率出发,给你一个独立的第二意见,然后显示两者的差距,以及这个差距在扣除交易成本后是否还站得住。这和交易台对期权报价所做的功课是同一套,只是换成了任何人都能在浏览器里跑的形式。
页面加载时会预先选好大多数人来这里想问的那个问题:一个略高于当前价格的整数目标价,一周内到期高于。换资产,它会自动重新设定目标。而一旦你改了目标价、时间跨度或问题类型,它此后就一直保留你的选择。
概率是怎么算出来的
第一个模型是从期权定价里搬来的对数正态方法,也就是 Black-Scholes 框架里那个熟悉的 N(d2) 项。它接受现货价格、你的目标价、剩余时间和一个年化波动率,返回在漂移率为零的假设下价格到期越过目标价的概率。波动率取自实时的每日收盘价,以对数收益率的标准差衡量,再按 365 的平方根年化,因为加密货币一年里每天都在交易。
第二个模型跳过理论。它扫描历史记录,数一数该资产在你设定的时间跨度内真正走出所需幅度的次数有多少。如果比特币需要在 30 天内上涨 8%,工具会检查回溯期里每一个 30 天窗口,并给出命中率。窗口彼此重叠,意味着这些样本并不完全独立,因此读数还会显示不重叠区块的有效数量,以及该数字背后的 Wilson 95% 区间。
第三个引擎是蒙特卡洛模拟,它一步一步生成成千上万条比特币或山寨币的价格路径,和量化研究者用来刻画未来价格概率分布的模拟方法相同。在简单问题上它和解析解一致,这本身就是一次有用的自检;但它还能做公式做不到的事:肥尾路径、肥尾下的触碰问题,以及你在页面顶部看到的完整价格锥。有一个细节值得知道:肥尾选项是把 Student t 分布套在整个时间跨度的收益上,而蒙特卡洛引擎是把肥尾套在每一步上,而许多肥尾的小步叠加起来会向正态形状靠拢。两者在长时间跨度上出现差异是合理的,这个差距正是对模型风险的又一次诚实度量。主数字是三个引擎的中位数。请弄清楚这意味着什么:对到期高于、到期低于、到期区间、全程通道和触碰这几类问题,解析解和蒙特卡洛估计的是同一个量,两者的差别只在模拟噪声的范围内,因此中位数就等于模型值,蒙特卡洛主要起数值自检的作用;历史命中率才是独立的现实基准,最高与最低引擎之间的差距会作为分歧度显示出来。只有竞速问题没有解析解,才让模拟和历史直接决定主数字。分歧很大是有信息量的,但要小心解读:对一个长时间跨度的方向性押注,模型与历史之间的差距有一部分来自资产自身已实现的漂移率和波动率状态,而不只是模型的不确定性。
到期高于、到期区间与触碰
这些问题在期权交易里有精确的名字,本计算器把它们带到了加密货币上。到期高于或到期低于问题问的是到期时处于实值或虚值的概率(probability ITM/OTM),也就是价格恰好在截止时间那一刻位于某个价位之上或之下的概率。触碰问题问的是触碰概率(POT),即价格在截止时间之前是否曾经到达过某个价位,哪怕之后又回落。两者不能互换。触碰的概率总是更高,而且当障碍价靠近现价时,它接近到期概率的两倍,因为价格只需要到达那里一次。工具对触碰问题使用几何布朗运动的首次穿越公式,所以像“比特币本周会不会摸到 130k”这样的市场,拿到的是正确答案,而不是低得多的到期概率。开启肥尾之后,蒙特卡洛引擎会直接处理触碰这种情形。
到期区间问题就是两个到期概率之差,适合“结算时价格会不会落在 X 和 Y 之间”这种常见的市场形态。
隐含波动率与公允价值
当你输入一个市场价格时,工具会把模型反解,求出隐含波动率(IV),也就是能让模型与该价格吻合的那唯一一个波动率。这会把整个问题重新框定。你不再争论一个概率,而是比较两个波动率:市场正在为之收费的那一个,和资产实际实现出来的那一个。如果一份为期一周的合约,其定价相当于年化波动率 90%,而比特币实际已实现的只有 50,那这份合约就是贵的,模型概率会低于市场价格。公允价值与期望值模块随后把这个差距换算成钱:以美分计的模型价格、扣除成本后每份合约的预期利润,以及本金的回报率。
概率并不总是随波动率单调变化,因此求解器会扫描整个波动率范围,并在两个不同的波动率复现出同一个价格时、或者根本没有任何波动率能复现市场价格时,如实报告。价格超出模型上限,意味着市场在为纯扩散模型里不包含的东西付费,可能是一个方向性观点,也可能是跳跃风险,这时工具会直说,而不是硬凑一个数字。
专业层
专业的交易台不会只用收盘价来测量波动率。一根日 K 线带着四个价格,基于极差的估计量能从中提取出多得多的信息:Parkinson 用最高价与最低价之间的极差,Garman-Klass 和 Rogers-Satchell 用完整的 OHLC 四价,而 Yang-Zhang 把隔夜、开盘到收盘和极差三个部分组合起来,是这一族里最有效的无偏估计量,在同一个窗口上比收盘价对收盘价的估计量精确好几倍。只要加载了币安的 K 线,估计量下拉框就会把 30d、90d 和 Blend 这三个窗口切换到这些测量方式上。
第二个专业习惯是把波动率当成预测,而不是快照。波动率会聚集、会均值回归,所以一个 30 天问题的正确输入,是这 30 天里的预期平均波动率,而不是今天的读数。GARCH(1,1) 模式用方差目标法把标准方差模型拟合到已加载的历史数据上,产出的正是这样一个跨度预测,同时给出长期水平、持续性,以及一次波动率冲击的半衰期。当前波动率偏高时,GARCH 的跨度数字会低于即时读数;波动率偏低时则高于它。波动率锥那一行显示今天的波动率在它自己的历史里排在什么位置,而可选的方差比开关会依据多日收益里实测到的均值回归或动量,修正时间平方根缩放。
第三项新增是过滤历史模拟,也就是银行计算风险价值(VaR)时用的方法。Historical 模式不假设正态或 Student t 形状,而是把每一个过去的收益除以它当时自身的波动率,再对这些标准化残差重新抽样,并按当前的波动率水平重新缩放。模拟出的价格路径因此带着该资产真实的偏度和尾部权重,并落在今天的风险水平上。触碰问题在历史引擎里也变得更诚实:命中率现在检查每日的最高价和最低价,而不是收盘价,所以盘中的触碰也算数。主数字是三个引擎的中位数,而它们之间的差距告诉你,这套方法本身有多值得怀疑。这个差距并不是交易优势必须跨过的门槛,尽管把它当成门槛很有诱惑力。门槛来自波动率估计上的那根误差棒,因为三个引擎在漂移上也各执一词,而漂移是你自己给出的假设,不是市场告诉你的东西。
全程通道、竞速与跳跃风险
第 2 版补上了原来的引擎表达不了的三类问题和一个风险来源。全程通道问题:价格必须始终留在通道内,两边都不碰到,也就是外汇奇异期权里的双边不触碰。它和到期时落在同一条通道内完全是两回事:在 60% 的波动率下,有这样一条通道,比特币到期落在里面的时候占三分之二,而从头到尾始终待在里面的时候只有勉强三分之一。工具用双障碍镜像展开法(与 Kunitomo 和 Ikeda 的曲线边界结果是同一套数学)给它定价,并用蒙特卡洛的价格路径,以及历史上从未离开过通道的完整窗口记录来交叉校验。
A 先于 B 的竞速问题才是交易者真正关心的:在截止时间之内,价格会不会先触碰止盈,而不是先触碰止损。预测市场报的正是这种形态。带截止时间的情形没有简单的解析解,因此蒙特卡洛引擎逐条路径来回答它,先被碰到的障碍价获胜;历史引擎用每日的最高价和最低价重放过去的每一个窗口;而经典的赌徒破产公式提供没有截止时间时的极限值,作为一个锚点。读数还会显示这场竞速在时间耗尽之前究竟有多大比例能分出胜负,以及分出胜负所需时间的中位数。
跳跃扩散分布(Merton 1976)承认加密货币会跳空。双幂变差把测得的方差拆成平滑的扩散部分和不连续的跳跃部分(Barndorff-Nielsen 和 Shephard 2004),一个作用在波动率标准化收益上的 4 倍标准差跳跃检测器负责数出跳跃并度量它们的幅度,于是到期概率变成了高斯分布的泊松混合。当目标价很远而截止时间很短、单次跳跃是抵达目标的主要途径时,跳跃模型和平滑模型会出现分歧,而这个分歧恰恰就是期权交易台在定价的跳跃风险溢价。跳跃设定下的触碰问题交给蒙特卡洛引擎,它会把复合泊松跳跃扔进每一条价格路径。
风险,以及模型配不配得上它给出的概率
光有一个概率,并不能说明这个仓位在过程中会对你做什么。风险面板直接从模拟出的终值分布上读出 95% 和 99% 水平的风险价值与预期损失,其中预期损失就是 Artzner 等人(1999)提出的那个一致性风险度量,形式与 Rockafellar 和 Uryasev(2000)确立为标准的那一版完全一致;旁边还有在截止时间之前的某个时点遭遇 10%、20% 或 30% 回撤的概率,这是解析解看不到的,因为它是一个路径属性。所有这些都来自与主概率相同的那批价格路径,所以这些数字不会私底下自相矛盾。
校准回测是工具其余部分都要向其交代的功能。它在已加载历史里的每一个日期上重放你的那个问题,相对距离相同、时间跨度相同,只用那个日期当天可得的数据来形成概率,再用 Brier 分数(Brier 1950)为这些预测打分,那是概率的严格恰当评分规则(Gneiting 和 Raftery 2007)。面板会显示模型的 Brier 分数与“永远猜基础发生率”的对比、由此得出的预测能力百分比,以及一张按预测分箱排列的可靠性表。当模型在你的问题上没有预测能力时,面板会直说,而诚实的回应是把你的不确定性放宽,而不是更相信主数字。历史命中率本身现在带有一个 Wilson 得分区间(Wilson 1927),这是在有效样本量很小时表现依然正确的二项分布区间,并且是在不重叠区块上计算的。
最后,主概率自己也带着误差棒。用三十根 K 线估计出来的波动率是有不确定性的,这份不确定性会传导到任何由它算出的概率上,因此交易快照现在会显示概率本身由此得到的 95% 区间。它不是围绕主数字的置信区间:主数字是几个引擎的中位数,它可以落在这个区间之外。真出现这种情况时,引擎之间争的就不只是波动率了。根据已加载的收益率测出的 Hill 尾部指数(Hill 1975)在下方的诊断面板里,它同时还会指出你的肥尾设置本该带的自由度,让你能看出这个设置是否与该资产实际的尾部相符。对比特币和以太坊,诊断行还会拉取 Deribit 的 DVOL 指数,也就是期权市场自己的 30 天隐含波动率,它是判断你的波动率输入是否落在正确区间里的最佳单一外部基准(Christensen 和 Prabhala 1998)。
为什么“无优势”是默认答案
优势检验是刻意设计得严格的。只有当模型中位值与市场价格之间的差距同时超过交易成本和模型之间的分歧时,工具才会标记出交易优势。其余所有情况一律返回无优势,因为对大多数流动性充足的市场来说,这在大多数时候就是诚实的答案。预测市场的价格汇聚了真金白银的观点,平均而言,价格与概率相当接近。一个在每个市场里都能找出交易机会的工具,是在制造信号,而不是在做分析。这个工具的设计初衷,就是敢于说不。
如果你想要一个比已实现波动率更强的基准,可以把到期时间相近的 Deribit 期权的隐含波动率(IV)作为手动波动率填进去,并打开肥尾。如果解析解和历史命中率在某个极端目标价上出现明显分歧,打开肥尾通常会缩小这个差距,这提示出问题的正是正态分布这个假设。
来自研究的三项改进
尾部模型会随时间跨度自适应。比特币收益率在小时和天的尺度上尾部极重,但在周和月的尺度上会向正态形状聚合,这个性质叫做聚合正态性(aggregational Gaussianity)。打开自动设置后,肥尾的自由度会随截止时间缩放:七天的问题得到的尾部比九十天的问题更重,这与实测的尾部指数相符,而不是假定一个固定不变的数值。当你改变时间跨度时,该字段会显示当前使用的数值。
杠杆效应以开关的形式提供。加密货币和股票一样,下跌往往比上涨更快,这种不对称在比特币收益率中是可以测量出来的。打开它之后,模拟和解析解都会加入一个随时间跨度缩放的负偏度,于是到期低于和向下触碰这两类问题会得到它们应有的额外下行权重,价格锥也会在现货价下方张开得比上方更宽。它默认关闭,因为这是一个建模观点,而不是确定的事实,但就下行风险而言,它是更贴近现实的默认值。
波动率估计带有置信区间。从三十根 K 线读出来的波动率数字本身就是不确定的,而像 Yang-Zhang 这样基于极差的估计量,从每根 K 线中提取的信息远多于收盘价对收盘价的估计量。交易快照现在会显示波动率估计周围的 95% 区间,以及所选估计量比收盘价对收盘价的估计量窄多少,这样你就能看出,概率有多少是建立在一个不牢靠的波动率输入之上。
以交易者的视角读这些数字
光有概率并不能决定仓位大小。交易快照把概率转换成交易者真正据以行动的数字。预期波动幅度是该时间跨度上的一倍标准差区间,也就是价格大约三次里有两次会待在里面的那条带,它会作为正负一倍 sigma 的线直接画在价格锥上。以 sigma 表示的目标价距离让你一眼就能看出,一个价位属于常规波动还是尾部事件:一倍 sigma 以内很平常,超过两倍 sigma 就很罕见。达到目标价所需的隐含收益率会把你的目标价所要求的涨跌幅年化,于是一周和一年就落在同一把尺子上。拿它和这个资产实际的历史回报比一比,一个要求好几倍于此的目标价,就只是一道算术题,而不是预测。对每一个波动率点、对每一天的敏感度显示概率对你自己的假设有多脆弱,而大多数概率估计正是在这里悄悄出错的。就在它们正下方,快照还会告诉你波动率一开始究竟测得有多准:它自己的 95% 误差棒,你的估计量比收盘价对收盘价的估计量窄多少,以及这份不确定性折算成多少个概率点。
当存在市场价格时,公允价值模块还会给出风险回报比和盈亏平衡胜率,这两个数字决定了一个为正的期望值是否值得承担它带来的方差。一份合约可能很便宜,但如果回报相对于风险很小,它仍然是一笔糟糕的交易;它也可能看起来很贵,却因为回报很大而依然划算。把概率、风险回报比和期望值放在一起读,这就是全部的纪律所在。
加密货币价格的蒙特卡洛模拟器
在底层,这是一个比特币蒙特卡洛模拟,而且它对任何币种都适用。它读取该资产的实时波动率,然后在几何布朗运动下生成数千条向前推演的价格路径,收益率的分布形态还可以选择肥尾或历史。结果是一个完整的概率分布,描述价格在你的截止时间可能落在哪里,并画成呈扇形展开的价格锥,带有 5 到 95 和 25 到 75 的分位区间。与只给出单一数字的点预测不同,蒙特卡洛模拟展示的是全部结果的分布范围,以及它随时间变宽的速度,这才是思考一个高波动资产的诚实方式。你可以自己选择路径数量,从快速的一千条到平滑的两万条,而固定的随机种子让任何分享出去的结果都可复现。
面向预测市场的公允价值与优势工具
如果你在预测市场上交易与比特币有关的问题,比如“BTC 能否在周五前突破某个价位”的是或否合约,那么这个工具同时也是一个公允价值和期望值计算器。输入市场价格,工具会反推出它隐含的波动率,把它和该资产实际实现的波动率作比较,并给出以美分计的公允价格、扣除成本后每份合约的期望值,以及凯利公式的仓位大小。只有当差距同时超过交易成本和模型之间的分歧时,它才会标记出优势,因此它说不的次数远多于说是。这正是重点所在:一个诚实的优势检验,而不是信号生成器。
你可以测量什么
这个计算器覆盖了交易者和预测市场参与者真正会问的价格问题。比特币会不会在月底到期高于某个整数关口。以太坊到期时是否还留在某个价格区间里。Solana、BNB、XRP 或狗狗币在本周内的任意时点触碰某个价位的可能性有多大。任何币安现货交易对都可以通过自定义交易对字段使用,所以一个流动性稀薄的山寨币也只需输入一次就能算。实时价格和波动率会自动加载,你也可以自己填入数字,完全用手工的方式计算。
你甚至不需要输入:计算器上方的快速上手按钮,一键就能针对实时价格设置好这些问题里最常被问到的版本;而内置在本页面的智能体 API 把它们背后的每一个引擎都暴露出来,让助手可以通过编程方式拉取全貌,而不必从屏幕上读取。
它由 unCoded 构建和维护,unCoded 是来自瑞士 ArrowTrade AG 的自托管、非托管加密货币交易机器人。如果你想把概率上的优势变成一套自动化策略,可以从文档开始。工具本身保持免费,也不需要注册账户。
工具背后的科学
这里的每一个方法,都是同行评审文献中已发表的成果或标准的数值计算参考,而不是某种专有的黑箱。下面的每一条都把计算器的一项具体功能对应到它的原始出处,这样这些数字都可以追溯到它们的根基。
链接指向正式出版方或规范 DOI。这个计算器实现的是这些方法标准且成熟的形式,它是一个教育工具,并不主张是新的研究成果。模型是对现实的简化,而且没有任何概率估计能消除市场风险。
- Black, F. and Scholes, M. (1973). The Pricing of Options and Corporate Liabilities. Journal of Political Economy, 81(3), 637 to 654. doi:10.1086/260062
- 对数正态模型的基础:价格到期越过目标价的 N(d2) 概率。
- Kelly, J. L. (1956). A New Interpretation of Information Rate. Bell System Technical Journal, 35(4), 917 to 926. doi:10.1002/j.1538-7305.1956.tb03809.x
- 仓位管理面板背后的凯利准则,始终按一个折扣比例显示,以顾及估计误差。
- Bollerslev, T. (1986). Generalized Autoregressive Conditional Heteroskedasticity. Journal of Econometrics, 31(3), 307 to 327. doi:10.1016/0304-4076(86)90063-1
- GARCH(1,1) 波动率模式:预测你的时间跨度上的平均波动率,而不是直接使用今天的读数。
- Parkinson, M. (1980). The Extreme Value Method for Estimating the Variance of the Rate of Return. Journal of Business, 53(1), 61 to 65. doi:10.1086/296071
- Parkinson 高低价波动率估计量,是所提供的基于极差的估计量中的第一个。
- Garman, M. B. and Klass, M. J. (1980). On the Estimation of Security Price Volatilities from Historical Data. Journal of Business, 53(1), 67 to 78. doi:10.1086/296072
- Garman-Klass OHLC 波动率估计量,可为 30d、90d 和混合窗口选用。
- Rogers, L. C. G. and Satchell, S. E. (1991). Estimating Variance from High, Low and Closing Prices. The Annals of Applied Probability, 1(4), 504 to 512. doi:10.1214/aoap/1177005835
- Rogers-Satchell 估计量,对漂移率稳健,同时也是下面 Yang-Zhang 估计量的构件。
- Yang, D. and Zhang, Q. (2000). Drift-Independent Volatility Estimation Based on High, Low, Open, and Close Prices. Journal of Business, 73(3), 477 to 492. doi:10.1086/209650
- Yang-Zhang 估计量,是这一族中效率最高的,被用作默认的基于极差的度量,也用在诊断行里。
- Barone-Adesi, G., Giannopoulos, K. and Vosper, L. (1999). VaR without Correlations for Portfolios of Derivative Securities. Journal of Futures Markets, 19(5), 583 to 602. doi:10.1002/(SICI)1096-9934(199908)19:5<583::AID-FUT5>3.0.CO;2-S
- 过滤历史模拟法,是“历史”收益率分布背后的方法,它对该资产自身的标准化收益率进行重采样。
- Begusic, S., Kostanjcar, Z., Stanley, H. E. and Podobnik, B. (2018). Scaling Properties of Extreme Price Fluctuations in Bitcoin Markets. Physica A: Statistical Mechanics and its Applications, 510, 400 to 406. doi:10.1016/j.physa.2018.06.131
- 测得比特币的幂律尾部指数在 2 到 2.5 之间,比股票大约 3 的水平更重。这是肥尾(Student-t)选项的经验依据。
- de Sousa Filho, F. N. M., Silva, J. N., Bertella, M. A. and Brigatti, E. (2021). The Leverage Effect and Other Stylized Facts Displayed by Bitcoin Returns. Brazilian Journal of Physics (2021). doi:10.1007/s13538-020-00846-8
- 为引擎的两项改进提供依据:随时间跨度缩放的肥尾程度(收益率在更长的时间跨度上向正态聚合)以及杠杆效应(负收益率抬高波动率),这两点驱动了自动自由度和杠杆开关。
- Wolfers, J. and Zitzewitz, E. (2004). Prediction Markets. Journal of Economic Perspectives, 18(2), 107 to 126. doi:10.1257/0895330041371321
- 有证据表明,流动性充足的预测市场价格就是准确的概率估计,这正是优势检验把市场价格当作一个认真的基准来对待的原因。
- Merton, R. C. (1976). Option Pricing When Underlying Stock Returns Are Discontinuous. Journal of Financial Economics, 3(1-2), 125 to 144. doi:10.1016/0304-405X(76)90022-2
- “跳跃”分布背后的跳跃扩散模型:到期概率表示为高斯分布的泊松混合,每一条蒙特卡洛价格路径中都带有跳跃。
- Barndorff-Nielsen, O. E. and Shephard, N. (2004). Power and Bipower Variation with Stochastic Volatility and Jumps. Journal of Financial Econometrics, 2(1), 1 to 37. doi:10.1093/jjfinec/nbh001
- 双幂变差,这个估计量把已实现方差拆分成扩散部分和跳跃部分,用于从加载的历史数据中估计跳跃模型。
- Kunitomo, N. and Ikeda, M. (1992). Pricing Options with Curved Boundaries. Mathematical Finance, 2(4), 275 to 298. doi:10.1111/j.1467-9965.1992.tb00033.x
- 全程通道(双边不触碰)概率背后的双障碍镜像展开方法族。
- Glosten, L. R., Jagannathan, R. and Runkle, D. E. (1993). On the Relation between the Expected Value and the Volatility of the Nominal Excess Return on Stocks. Journal of Finance, 48(5), 1779 to 1801. doi:10.1111/j.1540-6261.1993.tb05128.x
- GJR-GARCH:与 GARCH(1,1) 一起拟合的非对称波动率模型;当似然比检验表明这种不对称是真实存在的时候,它会被用于时间跨度上的预测。
- Artzner, P., Delbaen, F., Eber, J.-M. and Heath, D. (1999). Coherent Measures of Risk. Mathematical Finance, 9(3), 203 to 228. doi:10.1111/1467-9965.00068
- 风险面板为什么报告预期损失(ES)而不只是 VaR:在这两者当中,ES 才是一致性风险度量。
- Rockafellar, R. T. and Uryasev, S. (2000). Optimization of Conditional Value-at-Risk. Journal of Risk, 2(3), 21 to 41. doi:10.21314/JOR.2000.038
- 风险面板中根据模拟出的终值分布计算的标准 CVaR / 预期损失公式。
- Brier, G. W. (1950). Verification of Forecasts Expressed in Terms of Probability. Monthly Weather Review, 78(1), 1 to 3. doi:10.1175/1520-0493(1950)078<0001:VOFEIT>2.0.CO;2
- Brier 分数,是校准回测面板的支柱。
- Gneiting, T. and Raftery, A. E. (2007). Strictly Proper Scoring Rules, Prediction, and Estimation. Journal of the American Statistical Association, 102(477), 359 to 378. doi:10.1198/016214506000001437
- 为什么严格恰当的评分规则是评判模型概率的正确方式,以及为什么这个回测无法被模棱两可的对冲式预测钻空子。
- Wilson, E. B. (1927). Probable Inference, the Law of Succession, and Statistical Inference. Journal of the American Statistical Association, 22(158), 209 to 212. doi:10.1080/01621459.1927.10502953
- 历史命中率上的 Wilson 得分区间,在不重叠的区块上计算,取代了简单的正态标准误。
- Hill, B. M. (1975). A Simple General Approach to Inference About the Tail of a Distribution. The Annals of Statistics, 3(5), 1163 to 1174. doi:10.1214/aos/1176343247
- 诊断面板中的 Hill 尾部指数,由加载的收益率测得;它同时也作为 Student-t 自由度的数据驱动建议值。
- Lo, A. W. and MacKinlay, A. C. (1988). Stock Market Prices Do Not Follow Random Walks: Evidence from a Simple Specification Test. Review of Financial Studies, 1(1), 41 to 66. doi:10.1093/rfs/1.1.41
- 可选的时间跨度波动率缩放开关和诊断读数背后的方差比统计量。
- Jarque, C. M. and Bera, A. K. (1980). Efficient Tests for Normality, Homoscedasticity and Serial Independence of Regression Residuals. Economics Letters, 6(3), 255 to 259. doi:10.1016/0165-1765(80)90024-5
- 诊断面板中的正态性检验,它告诉你在加载的数据上,“正态”这个设置是否站得住脚。
- Ljung, G. M. and Box, G. E. P. (1978). On a Measure of Lack of Fit in Time Series Models. Biometrika, 65(2), 297 to 303. doi:10.1093/biomet/65.2.297
- 诊断面板中对收益率和收益率平方所做的 Ljung-Box 检验:收益率平方的版本提供了波动率聚集的证据,而这正是使用 GARCH 的理由。
- Christensen, B. J. and Prabhala, N. R. (1998). The Relation Between Implied and Realized Volatility. Journal of Financial Economics, 50(2), 125 to 150. doi:10.1016/S0304-405X(98)00034-8
- 为什么 Deribit DVOL 期权隐含波动率基准会显示在你的已实现波动率输入旁边:隐含波动率确实包含关于未来已实现波动率的真实信息。
- Broadie, M., Glasserman, P. and Kou, S. (1997). A Continuity Correction for Discrete Barrier Options. Mathematical Finance, 7(4), 325 to 349. doi:10.1111/1467-9965.00035
- 障碍穿越中的离散监测偏差;竞速的蒙特卡洛会施加布朗桥连续性修正,使它的首次穿越概率在任何步长下都与连续监测相符。
- West, G. (2009). Better Approximations to Cumulative Normal Functions. Wilmott Magazine, 70 to 76.
- 全程使用的基于 Hart 算法的双精度累积正态分布函数;概率直接按上尾读取,因此深度虚值的概率能保持完整的相对精度,而不会塌缩为零。
- Self, S. G. and Liang, K.-Y. (1987). Asymptotic Properties of Maximum Likelihood Estimators and Likelihood Ratio Tests Under Nonstandard Conditions. Journal of the American Statistical Association, 82(398), 605 to 610. doi:10.1080/01621459.1987.10478472
- 由于 GJR 的杠杆项位于参数边界上,GARCH 与 GJR 之间的似然比是针对正确的半卡方混合分布来检验的,因此非对称模型既不会被过度选用,也不会被选用不足。
常见问题
这些是人们关于加密货币概率问得最多的问题:这个数字是什么意思、它从哪里来,以及它从哪里开始就不再有用。这里的回答很简短。背后的推理在上面的章节里。
- 这个计算器能预测比特币接下来的走向吗?
- 不能。它不预测方向。它根据资产实际的波动幅度,估计在给定时间内出现给定幅度的走势有多大概率。方向由你输入,概率是输出结果。
- 到期类问题和触碰类问题有什么区别?
- 到期类问题问的是价格在截止时间时落在哪里。触碰类问题问的是价格在截止时间之前是否曾经到达某个价位。触碰的概率总是更高,对于离现价不远的边界价位常常接近两倍,因为价格只需要到达一次。
- 隐含波动率这个数字是什么意思?
- 它是能让模型与你输入的市场价格吻合的那个波动率。如果市场隐含的波动率远高于资产实际表现出的波动率,这份合约看起来就偏贵;如果隐含的波动率更低,则反之。有些市场价格在任何波动率下都无法达到,这意味着市场是在为某种方向性看法或跳跃风险定价。
- 我应该用哪个波动率设置?
- 30 天和 90 天已实现波动率的混合值是稳妥的默认选项。EWMA 对市场状态的变化反应更快。做压力测试时,可以把到期时间相近的 Deribit 期权的隐含波动率作为手动波动率填进去。
- 专业人士用哪种波动率测量方法?
- 测量上用基于极差的估计量,比如在完整 OHLC K 线上计算的 Yang-Zhang;对时间跨度上的预测则用 GARCH 类模型,因为波动率有聚集性,并且会均值回归。本工具两者都提供,另外还有过滤历史模拟法,让模拟出的价格路径带上该资产真实的收益率分布形态。
- 为什么这个工具那么经常说无优势?
- 因为这通常就是事实。流动性好的预测市场汇聚了真金白银的看法,平均而言,价格已经接近真实概率。只有当差距既超过交易成本,又超过工具自身各个模型之间的分歧时,它才会标出交易优势。
- 这个加密货币概率计算器是免费的吗?
- 是的,完全免费,而且无需账号,全部计算都在你的浏览器里完成。实时价格和波动率来自币安的公开数据,并以 CoinGecko 作为备用数据源,你输入的任何内容都不会离开你的设备。
- 它支持哪些币种?
- 比特币、以太坊、Solana、BNB、XRP 和狗狗币都是一键选择,其他任何币安现货交易对都可以通过自定义交易对代码字段使用。对于币安上没有的资产,你也可以手动输入价格和波动率。
- 这是比特币蒙特卡洛模拟器吗?
- 是的。引擎会根据实时波动率对数千条价格路径做蒙特卡洛模拟,并把得到的概率分布画成价格锥。它还会与两个解析解模型以及历史命中率交叉验证,因此你会同时看到模拟结果和解析结果。
- 什么是触碰概率?
- 触碰概率(POT)指的是价格在截止时间之前的任意时刻到达某个价位的概率,哪怕它最后并没有停在那里。它总是高于到期(即到期时刻)的概率,对于离现价不远的价位常常接近两倍,因为价格只需要到达一次。选择“向上触碰”或“向下触碰”即可计算。
- 什么是全程通道(双边不触碰)概率?
- 指价格在整段时间内始终留在一个价格区间内、从未触碰任何一边的概率。它总是低于在截止时间到期落在同一区间内的概率,而且常常低得多,因为价格必须撑过中间的每一个时刻。工具用双边障碍公式来计算它,并与蒙特卡洛价格路径和历史数据交叉验证。
- 它能告诉我先触发止盈、而不是先触发止损的概率吗?
- 可以。A 先于 B 这类问题让两个价位竞速:在截止时间之内,价格先触碰你的目标价而不是先触碰你的止损位的概率。它由蒙特卡洛引擎和历史记录来回答,并且在没有截止时间的极限情形下有解析解。预测市场报价的往往正是这种形式。
- 什么是跳跃扩散模型?
- 加密货币不只是缓慢漂移,它还会跳空。Merton 跳跃扩散模型把测得的方差拆分成平滑的扩散部分和离散的跳跃部分,在已载入的历史数据上使用双幂变差和 4 倍标准差的跳跃检测器,然后把问题当作泊松混合分布来定价。对于截止时间很短、目标价又很远的情况,它给出的概率更诚实,因为在这种情况下,单次跳跃才是到达目标的主要途径。
- 这里说的风险价值和预期损失是什么意思?
- 对于在你的时间跨度内持有的普通多头仓位:风险价值(VaR 95)是指在 100 个模拟结果中,有 95 个的亏损不会超过的那个数值;预期损失(ES)则是最差的 5 个结果的平均亏损。工具从与概率相同的那批蒙特卡洛价格路径中读出这两个数值,同时还会给出在截止时间之前的某个时刻出现 10%、20% 或 30% 回撤的概率。
- 我怎么知道这些概率是诚实的?
- 校准回测会在已载入的历史数据上把你的问题原样重放一遍:在过去的每一个日期,它只用当时可获得的数据来生成概率,然后用 Brier 分数对照实际发生的结果给这些预测打分。它会按概率分箱报告校准情况,以及相对于“永远猜基础发生率”这一基准的预测能力。当模型在你的问题上没有预测能力时,工具会直接这么说。
- AI 助手和智能体能使用这个计算器吗?
- 可以,它就是为此而设计的。页面暴露了 window.unCodedProb,其中包含针对每种问题类型的纯函数、一个加载实时数据并返回完整 JSON 报告的 analyze 方法、一个 answer 分发器、机器可读的工具 schema、一个自检测试,以及一个 UI 桥接层,让操控浏览器的智能体可以设置输入,并把每一个计算出的数字读取为结构化数据。请参见下方面向 AI 助手的章节。
- 这算是投资建议吗?
- 不是。它是一个用于学习的概率计算器。模型是简化的,波动率会变化,而且市场偏离公允价值的时间可能比一个仓位能撑住的时间更长。请把这些数字当作你自己研究的起点。
面向 AI 助手和开发者
这个工具的设计目标是让语言模型和智能体直接使用,而不只是被它们阅读。下面的一切都是确定性的、可复现的:每一种问题类型都有对应的纯函数,一个端到端的 analyze 调用会加载实时数据并返回一份 JSON 报告,一个调度器接收结构化的问题,还有机器可读的工具 schema、一套自检,以及给操作真实浏览器的智能体使用的 UI 桥接。如果你是正在回答用户加密货币概率问题的助手,这一节就是你的手册。
问题类型及其公式
每一种问题类型最终都归结为一个解析解或一次带种子的模拟。S 是现货价格,K 是目标价或障碍价,sigma 是以小数表示的年化波动率,T 是以年为单位的时间跨度(天数除以 365),mu 是年化漂移率,其中 0 表示中性。共用的基础模块是 d2 = ( ln(K/S) - (mu - 0.5 * sigma^2) * T ) / ( sigma * sqrt(T) )。
到期高于 K,是指在截止时间处于实值的概率,P = 1 - N(d2)。到期低于 K 是 P = N(d2)。到期落在区间 [a, b] 内的概率,等于到期高于 a 的概率减去到期高于 b 的概率。触碰价位 B 是几何布朗运动的首次穿越概率,它总是高于对应的到期概率。全程通道 [a, b] 是指在直到 T 的所有时刻 t 都满足 a < S_t < b 的概率,也就是双边不触碰,用镜像级数的双障碍公式计算。
A 先于 B,也就是竞速(目标价和止损价,哪个先被触发),指的是价格在 T 之内先触碰 A 而不是先触碰 B 的概率,用蒙特卡洛模拟估算。没有截止时间的极限情形用赌徒破产公式 P = (1 - e^(-theta*(x-d))) / (1 - e^(-theta*(u-d))),其中 theta = 2*nu/sigma^2,nu = mu - sigma^2/2,x、u、d 分别是现价和两个障碍价的对数价格。跳跃扩散遵循 Merton 1976:P(S_T > K) = 对 n 求和 Pois(n; lambda*T) * (1 - N(d2_n)),其中单次跳跃的均值为 muJ,跳跃标准差为 dJ,扩散波动率为 sigma_d,漂移率由 -lambda*(E[e^J]-1) 补偿。
N 是标准正态分布的累积分布函数。若要考虑肥尾,就把 N 换成单位方差的学生 t 分布累积分布函数,它只在大约 2.5 sigma 之外才更厚。
可以自行验证的算例
所有算例都使用 118000 的现货价格、60% 的波动率和中性漂移率,你可以逐行复现。
7 天、目标价 130000 的到期与触碰:d2 = ( ln(130000/118000) - (0 - 0.5*0.6^2)*(7/365) ) / ( 0.6*sqrt(7/365) ) = 1.2071。到期高于的概率是 11.37%,到期低于是 88.63%,触碰(POT)是 23.21%,在截止时间到期落在 110000 到 130000 之间的概率是 67.54%。预期的 1 sigma 波动幅度是 +/-9805,对应 108195 到 127805 的价格区间,这使目标价处在 +10.2% 或 1.22 sigma 的位置。
110000 到 130000 这个价格区间在 7 天内的全程通道与到期区间对比:在截止时间落在区间内的概率是 67.54%,而全程始终留在区间内的概率只有 36.13%,这就是全程通道(双边不触碰)的数字。
30 天的竞速,先触碰 130000 而不是先触碰 105000:用 20000 条价格路径、种子 42 并带布朗桥修正的蒙特卡洛模拟给出 49.4%,其中 94.9% 的路径在截止时间之前就已分出结果。赌徒破产公式给出的无截止时间极限是 52.00%。
7 天的跳跃扩散,目标价 130000,sigma_d 为 50%,lambda 为每年 24 次跳跃,平均跳跃幅度 -1%,跳跃标准差 8%:Merton 模型给出的到期高于概率是 11.31%,而在同样 63.7% 的总波动率下,普通正态分布给出的是 12.68。
60% 波动率下多头仓位 7 天的风险,对数正态解析解:VaR95 是仓位的 13.08%,ES95 是 16.00%;VaR99 是 17.86%,ES99 是 20.11%。
历史命中率的不确定性,45 个互不重叠的样本区块中有 14 次命中:围绕 31.1% 的点估计,Wilson 95% 置信区间从 19.5% 一直延伸到 45.7%。
速查表(无需计算)
当你无法执行代码时,可以做一个零漂移率的粗略估计:先算出目标价以 sigma 计的距离,x = ln(K/S) / (sigma * sqrt(T)),然后读取对应的那一行。两列数字都只在 sigma*sqrt(T) 较小时才准确,大致在 0.2 以下。触碰那一列用的是反射加倍规则(触碰 = 2 x 到期);随着 sigma*sqrt(T) 变大,它会高估真实的触碰概率。在 sigma*sqrt(T) = 0.6 时,加倍规则读出约 32%,而精确的单次触碰概率约为 23%,高估了大约 9 个百分点,也就是约 40%。要得到精确数字请用 touchAbove 或 touchBelow;这张表只是一个应急的粗算备选。
操作手册:从用户提问到 API 调用
下面的条目把用户的表述对应到你该发起的调用,以及你该从结果中读取的字段。
直接调用计算引擎
只要页面在浏览器中打开,全局对象 window.unCodedProb 就会运行同样的数学计算。波动率以百分数传入,时间以天为单位。一切都是确定性的;蒙特卡洛方法接受一个可选的种子参数,默认值为 42。
v1 接口覆盖纯解析解:finishAbove、finishBelow、insideRange、touchAbove、touchBelow、expectedMove,以及 snapshot,后者会把每一个关键数字放在同一个对象里返回。v2 接口通过 corridor、hitBefore、valueAtRisk、finishAbove 上的 jumps 选项,以及带有终值分位数、VaR/ES 和回撤概率的 monteCarlo,补充了价格路径、全程通道、竞速、跳跃和风险。
波动率和诊断指标可以用你自己的数组来计算:volFromCloses、volFromOHLC(包含 Yang-Zhang 估计量)、garchForecast(它会把 GARCH 与 GJR-GARCH 做对比,并按似然比来选择)、diagnostics(它会返回各阶矩、Jarque-Bera、Ljung-Box、ARCH、Hill、跳跃和统计量),以及 calibrationBacktest。
用于与市场对比时,impliedVol 会反解出市场正在收取的波动率,edge 会返回公允价值、净交易优势、EV、Kelly 和 actionableAfterHurdle。hurdlePp 参数是模型不确定性的门槛;省略它时默认取 4 个百分点的下限,而 analyze() 会替你提供这个值。
一次端到端的调用 analyze() 会在大约一秒内取回币安的实时数据,并返回完整报告。通用调度器 answer() 接收一个结构化的问题。selftest() 会返回 passed、failed 和 cases,应该先运行它。schema() 返回可直接用于函数调用的工具定义,describe() 返回完整的机器可读模型规格。浏览器智能体可以用 ui.read() 来操作可见页面,它会以 JSON 形式返回当前算出的每一个数字;ui.set() 会设置输入、重新计算并返回 read();ui.load() 会先加载实时数据,然后读取。
智能体的基本规则
1. 触碰与到期的区别:“打到”、“达到”或“触碰”指的是 touchAbove 或 touchBelow;“收盘”、“结算”、“结束”或“到期”指的是到期类问题。对于较近的价位,触碰概率大约是到期概率的两倍。混淆这两者是最常见的错误。
2. 单位:波动率用百分数(60 = 年化 60%),时间用天,价格用现货的计价货币。
3. 中性漂移率(0)是诚实的默认值。输入一个漂移率是在表达方向性观点,而不是一次测量。
4. 波动率应当来自数据:analyze() 会返回 30 天和 90 天的已实现波动率、EWMA、GARCH 时间跨度预测,以及针对 BTC 和 ETH 的 Deribit DVOL 隐含波动率(IV)。把 30 天和 90 天的已实现波动率混合起来,是合理的默认做法;DVOL 是市场自己的预测。
5. 始终报告不确定性:各个引擎之间存在分歧(共识区间的宽度),波动率估计带有置信区间,analyze() 还包含一次校准回测。小于模型分歧度的交易优势就是噪声,要如实说明这一点。
6. 蒙特卡洛的结果带种子,可复现。相同的输入,在任何机器上都得出相同的数字。
7. 在陌生环境中依赖这个 API 之前,先运行一次 unCodedProb.selftest()。
8. 这是一个用于学习的概率工具,不是投资建议;概率是模型的输出,不是承诺。不要把模型输出当作保证来呈现,而当用户拿它与市场价格作对比时,要提到交易成本。
不用浏览器的情况
这些数学计算就放在 /tools/crypto-probability-calculator/pure-math.js 里 PURE-MATH-START 和 PURE-MATH-END 两个标记之间:是不依赖任何库的纯 JavaScript,你可以把它提取出来,在 Node 或任意 JS 运行时里运行,不需要构建步骤,也没有任何东西要安装。这个文件由计算器自身的引擎源码生成,每次构建都会重新运行生成器,只要结果有一个字节不一致就会失败,所以它不可能悄悄偏离本页实际运行的数学。注意那里用的是模型单位,而不是 API 的单位:sigma 是年化的小数,T 以年为单位,而 window.unCodedProb 接受的是百分比和天数。实时数据只需要两个公开端点:api.binance.com/api/v3/ticker/price?symbol=BTCUSDT 用于取现货价格,api.binance.com/api/v3/klines?symbol=BTCUSDT&interval=1d&limit=1000 用于取日线 OHLC K 线;把日度对数收益率的波动率用 sqrt(365) 年化。本页还为读取源码的智能体嵌入了两个结构化 JSON 区块:uncoded-prob-model(模型规格)和 uncoded-agent-tools(用于函数调用的工具 schema)。
这个工具用于学习,采用的是已公开发表的标准方法,并不能消除市场风险。
- Distance x = 0.25
- 到期越过 40.1%,截止时间前触碰 80.3%。
- Distance x = 0.50
- 到期越过 30.9%,截止时间前触碰 61.7%。
- Distance x = 0.75
- 到期越过 22.7%,截止时间前触碰 45.3%。
- Distance x = 1.00
- 到期越过 15.9%,截止时间前触碰 31.7%。
- Distance x = 1.25
- 到期越过 10.6%,截止时间前触碰 21.1%。
- Distance x = 1.50
- 到期越过 6.7%,截止时间前触碰 13.4%。
- Distance x = 2.00
- 到期越过 2.3%,截止时间前触碰 4.6%。
- Distance x = 2.50
- 到期越过 0.6%,截止时间前触碰 1.2%。
- Distance x = 3.00
- 到期越过 0.1%,截止时间前触碰 0.3%。
- “BTC 今年会打到 150k 吗?”
- 调用 touchAbove(spot, 150000, vol, 365) 并读取百分比;“打到”指的是触碰,不是到期。
- “BTC 会在 6 月 30 日之前收在 150k 以上吗?”
- 调用 finishAbove(spot, 150000, vol, days) 并读取百分比;结算指的就是到期高于。
- “ETH 会整个月都待在 3000 到 4000 之间吗?”
- 调用 corridor(spot, 3000, 4000, vol, 30) 并读取百分比;全程通道的概率远低于到期落在区间内的概率。
- “我在 105k 的止损被触发之前,先打到 130k 的止盈,概率有多大?”
- 调用 hitBefore(spot, 130000, 105000, vol, days) 并读取 mcPercent,没有截止时间的情形再读 eventualPercent。
- “BTC 一周之内能跌多少?”
- 调用 valueAtRisk(spot, vol, 7) 并读取 var95、es95、var99、es99 以及 1 sigma 的预期波动幅度。
- “Polymarket 上这个 58 美分的合约便宜吗?”
- 调用 analyze({symbol, question, target, days, marketPercent:58})(首选),或者 edge(modelProb, 58, 2, bankroll, hurdlePp),然后读取 market.actionableAfterHurdle 和 market.insideNoise:为正的净交易优势,只有在越过模型不确定性的门槛之后,才是真实的。
- “我该用哪个波动率?”
- 调用 await analyze({symbol:'BTCUSDT'}) 并读取 data.vol30Pct、vol90Pct、ewmaPct、garch.sigmaPct、dvolPct 以及各项诊断指标。
- 任何需要实时数据的端到端场景
- 调用 await analyze({symbol, question, target, upper, days, marketPercent}),并读取一份 JSON 报告:engines、consensus、risk、calibration、edge、explanation。
- 结构化问题,使用自有数据
- 调用 answer({question:'touch_above', spot, target, volPct, days}),并读取对任意问题 id 都统一返回的结果对象。
以上为教学用途的模型输出,不构成投资建议。概率是基于历史价格行为建模得出的估计值,不是对未来的承诺。unCoded 由瑞士布里格(Brig)的 ArrowTrade AG 运营。不托管资产,不接受存款,不提供金融建议。