Pandas/Python中的矢量化Backtester:将每个股票作为新的数据帧循环,还是将其全部放在一个数据帧中?

2024-06-25 22:53:01 发布

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

我一直在尝试用Pandas/Python构建自己的简单矢量化backtester,以创建一种简单的方法来测试一些交易策略。我一直在使用这个article作为指导,它非常有用

我想对10只股票/ETF进行简单的投资组合回溯测试。对于每只股票,我都会有一个数据框,该数据框将日期作为行索引,列将是该日期的开盘价、高价、低价和收盘价(金融时间序列数据)。所以我将有10个这样的数据帧,每个数据帧有4列。进行回溯测试的最具吸引力和效率的方法是什么:

  1. 分别处理每个数据帧,在每个数据帧上循环并执行我的计算,然后在最后将利润相加

  1. 将所有数据帧连接在一起,只处理一个数据帧

在我使用的示例文章中,他只使用一个数据帧,但他只使用接近价格,因此当他这样做时,他不需要列多索引。我需要一个列多索引(0级是股票名称,1级是收盘、开盘、上盘、下盘等),考虑到我的新手状态,这让我的事情变得复杂。我一直在想,创建一个循环并使用10个独立的数据帧对我来说会更容易,但我想知道这是否只是懒惰,从长远来看会阻碍我的开发


Tags: 数据方法pandasarticle交易策略矢量化股票