【发布时间】:2020-09-10 22:20:43
【问题描述】:
我有一个数据框 (df),其中包含多只股票的月度回报(以列形式)。最后一列是基准回报。数据框索引是 YYYYMM 格式的月末日期。我需要为每只股票生成 beta。虽然我可以遍历每一列并生成相应的测试版,但我希望 Python 有一个更优雅的解决方案,不涉及循环。有人可以帮帮我吗。谢谢。
【问题讨论】:
-
编写函数来计算 β,它在列中包含您的回报。使用
df.apply(beta_func) -
好的。谢谢你。我会试试这个。
-
我怀疑您需要 2 个时间序列来计算 β、股票和市场。所以更好的方法是编写一个函数来接收股票收益和市场收益,它仍然会遍历股票 df 的列。如果您正在寻找更好的东西,请展示您的代码并告诉我们您希望在哪里改进它。
-
是的。我有大约 150 个股票回报(T.S. 1)和一个市场回报向量(T.S. 2)。我需要这 150 只股票中的每只股票的贝塔值。虽然我可以编写一个循环并遍历股票和市场回报的每种组合,但我希望 Python 有一个更优雅的解决方案。谢谢。
-
总会有一个循环,要么是你看到的 for 循环,要么是通过
df.apply()隐藏的循环。如果你想重用它,你可以将它隐藏到一个函数中。