Pandas 中的托宾年化标准差
Tobin's Annualized Standard Deviation in Pandas
我想确认我已经正确计算了托宾公式,该公式用于根据一系列月度 returns.
确定年化标准差
计算年化标准差的最广泛(也是最简单)的方法是将每月标准差乘以 12 的平方根。
然而,Morningstar 遵循 James Tobin 的年化标准差公式,as linked here。
这是我在 pandas 中对该公式的表示,其中观察是一个包含每月 returns.
的数据框
observations.apply(lambda x: np.sqrt((((observations.std() ** 2) + ((1+observations.mean())**2))**12) - (1+observations.mean())**24) ).ix[:,0]
矢量化您的公式非常容易。我觉得 pandas 的初学者永远不应该使用 apply
或 ix
。这些应该是您最后的选择。
# variance is just square of std so you can use var
var = observations.var()
mean_one = observations.mean() + 1
np.sqrt(((var + (mean_one**2))**12) - mean_one**24)
我想确认我已经正确计算了托宾公式,该公式用于根据一系列月度 returns.
确定年化标准差计算年化标准差的最广泛(也是最简单)的方法是将每月标准差乘以 12 的平方根。
然而,Morningstar 遵循 James Tobin 的年化标准差公式,as linked here。
这是我在 pandas 中对该公式的表示,其中观察是一个包含每月 returns.
的数据框observations.apply(lambda x: np.sqrt((((observations.std() ** 2) + ((1+observations.mean())**2))**12) - (1+observations.mean())**24) ).ix[:,0]
矢量化您的公式非常容易。我觉得 pandas 的初学者永远不应该使用 apply
或 ix
。这些应该是您最后的选择。
# variance is just square of std so you can use var
var = observations.var()
mean_one = observations.mean() + 1
np.sqrt(((var + (mean_one**2))**12) - mean_one**24)