Python中大数据集的高级权重计算

2024-06-28 16:16:57 发布

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

我要计算一个投资组合的权重——每月重新平衡一次。在粘贴的数据集中,PERMNO是一只股票,我需要计算该投资组合的累积权重,即权重随股票回报率的增加而增加

情况是: 对于每只股票,每天的重量计算如下:w1=w0*(1+r0)/(总和(当天所有w1))。在excel中这没有问题,但我在python中遇到了问题。因为第二天的w0是过去一天的w1。我尽量不使用循环,因为日期集很大,但任何解决方案都值得赞赏。 我正在处理的数据帧如下所示:

enter image description here

这就是我希望的计算方式: enter image description here

如第二张图片所示,第2天的体重是第1天的新体重。这就是问题所在的谎言

谢谢


Tags: 数据粘贴情况解决方案excelw1权重股票
1条回答
网友
1楼 · 发布于 2024-06-28 16:16:57

您将避免数据循环称为主要问题。在本例中,我想让您知道,您可以逐行读取整个文件,然后根据需要使用数据,而无需循环查看数据

逐行浏览文件,并使用带有相应分隔符的.split()方法拆分列。保存行的数据,即通过将行追加到list或将行添加到dictionary来保存行的数据。然后,将修改后的行写入文件

为了提高RAM效率,您可以单独处理所有日期(每当新数据出现时),前提是您的文件按日期排序

相关问题 更多 >