You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

非重组二叉树节点索引通用公式及持有期收益计算咨询

非重组二叉树n期持有期收益的节点索引公式

二叉树节点生成逻辑

你提供的非重组二叉树生成代码如下:

def arbolno(t,S0,u,d):
    S=[S0]
    for i in range(1,2**(t+1)-1):
        if i%2==0:
            S.append(np.round(S[int(i/2-1)]*u,3))
        elif i%2!=0:
            S.append(np.round(S[int((i-1)/2)]*d,3)) 
    return S

节点层级与索引的对应关系:

  • 时间0(初始层):仅1个节点,索引0
  • 时间1:2个节点,索引1(d分支)、2(u分支)
  • 时间2:4个节点,索引3(d→d)、4(d→u)、5(u→d)、6(u→u)
  • ...
  • 时间k:共2^k个节点,起始索引为2^k -1,结束索引为2^(k+1)-2

父节点与子节点的索引映射:

  • 父节点p的d分支子节点索引:2p +1
  • 父节点p的u分支子节点索引:2p +2

通用索引公式推导

假设在时间k买入索引为idx_k的节点,持有n期后在时间k+n卖出对应路径的节点,可按以下规则计算目标节点索引:

1. 全路径通用公式

从idx_k出发的任意路径(共2^n种,每步可选d或u),目标节点索引为:

idx_{k+n} = 2^n * idx_k + (2^n -1) + q

其中:

  • q是0到2^n -1的整数,对应路径的二进制编码:将q转为n位二进制数,每一位0代表选d分支,1代表选u分支。

2. 极端路径简化公式

  • 全程选u分支(q=2^n -1):
    idx_{k+n} = 2^n * (idx_k + 2) - 2
    
    对应你给出的示例:idx_k=2,n=2,代入得2^2*(2+2)-2=14,与示例完全匹配。
  • 全程选d分支(q=0):
    idx_{k+n} = 2^n * (idx_k +1) -1
    

收益计算示例

以持有期2、买入节点2(S[2])、卖出节点14(S[14])为例,收益计算代码为:

return = (S[14] - S[2]) / S[2]

内容的提问来源于stack exchange,提问作者Agustin Amador Ehrman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 13:45:47