我应该做什么以便scipy可以优化我的2d数组(树形结构)?

2024-05-21 06:22:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据树S(如图所示)

树木结构:

enter image description here

以及套期保值策略树H(与我的另一棵树结构相同)

现在我想计算我的套期保值活动的现金流,并找到最佳的套期保值数组H,该数组返回最大利润

计算现金流量的规则是: 1.第0年,H[0,0]*S[0,0] 2.上一年的一个股价在下一年有3种可能的结果。如图所示,一个母节点有3个子节点((如图所示) 3.第x年(x>;0),每个子节点的现金流为(H[childnode,x]-H[mothernode,x-1])*S[childnode,x] 4.最后,我将总结每条路径的现金流,并将其最大化

总结现金流的理想函数如下所示:

def现金流(H):

这里的现金流计算已经完成

回报(最终现金流)

我的计算已经正确了。但当我尝试在scipy中使用优化时,scipy解算器不接收非1D数组作为输入。如果我必须将当前树数组展平为1D数组,我将丢失时间(列)索引。这将破坏母节点和子节点之间的计算

那么,是否有建议获得最佳阵列H?新的解算器还是新的数据结构

PS:ExcelSolver可以很容易地解决这个问题,但我需要用python创建一个例程


Tags: 数据节点规则scipy数组结构策略算器