risk_metrics.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:financial-engineering 作者: StratiFi 项目源码 文件源码
def build_batch_lstsq_estimates(self, asset_returns, benchmark_returns):
        if not len(asset_returns) == len(benchmark_returns):
            raise '*WTF*'

        # Run Kalman filter on returns data
        beta = np.zeros(len(asset_returns))
        alpha = np.zeros(len(asset_returns))
        for enum_i, elem in enumerate(asset_returns):
            lookback = min(self.lookback, enum_i)
            # print '==> ', enum_i, len(asset_returns), len(beta)
            beta[enum_i], alpha[enum_i] = np.polyfit(benchmark_returns[enum_i - lookback:enum_i + 1],
                                                     asset_returns[enum_i - lookback:enum_i + 1], 1)

        # don't wanna do a line fit for less than 3 points, really
        beta[0], alpha[0] = 0, 0
        beta[1], alpha[1] = 0, 0

        self.alpha_betas_lstsq = np.array(zip(alpha, beta))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号