2 回答
TA贡献1853条经验 获得超18个赞
您du
对两个不同的概念(所有有效值的容器du
以及每次du
迭代的每个单独值)使用相同的变量名称。
将您的代码更改为du_values = []
和du_values.append(N[j + 1])
,它应该可以工作。
顺便说一句,您的代码中似乎有一个错字 - 您将原始数组定义为NP
,但后来将其称为N
。
TA贡献1880条经验 获得超4个赞
请注意,因为你没有提供任何代码,我要告诉你的代码是不是FOR你,但代码我已经使用和天籁一样,你可以很容易地采取以您的需求。
# this will simulate 1000 different combinations of my portfolio
for x in range(1000):
weights = np.random.random(len(tickers))
weights /= np.sum(weights)
portfolio_returns.append(np.sum(weights * log_returns.mean()) * 250)
portfolio_volatilities.append(np.sqrt(np.dot(weights.T, np.dot(log_returns.cov() * 250, weights))))
这段代码所做的很短是 1000 倍,它为我的数据点创建随机数和权重,然后附加结果。代码不会统一,因为它是随机的,但如果你真的想要统一,你可以简单地单步执行增量。但是,我认为您不需要统一,而是需要足够大的样本量,以免被异常值抛弃。
比较结果的一种方法是这样的。
simple_return = (mydata / mydata.shift(1)) - 1
比较随机样本应该非常简单,因此如果您确实需要帮助,请跟进。使用 numpy 数组,您还可以根据条件过滤/删除项目。
抱歉,如果这些不能完全回答您想要的,但它应该让您朝着正确的方向前进。
添加回答
举报