def test_cov_ndarray():
    df = get_data()
    prior_df = df.pct_change().mean()
    S = risk_models.sample_cov(df)
    views = pd.Series(0.1, index=S.columns)
    bl = BlackLittermanModel(S, pi=prior_df, Q=views)
    bl_nd = BlackLittermanModel(S.to_numpy(), pi=prior_df.to_numpy(), Q=views)
    #  Compare without missing ticker index values.
    np.testing.assert_equal(bl_nd.bl_returns().to_numpy(),
                            bl.bl_returns().to_numpy())
    np.testing.assert_equal(bl_nd.bl_cov().to_numpy(), bl.bl_cov().to_numpy())
    assert list(bl_nd.bl_weights().values()) == list(bl.bl_weights().values())
Esempio n. 2
0
def test_bl_cov_default():
    df = get_data()
    cov_matrix = risk_models.CovarianceShrinkage(df).ledoit_wolf()
    viewdict = {"AAPL": 0.20, "BBY": -0.30, "BAC": 0, "SBUX": -0.2, "T": 0.131321}
    bl = BlackLittermanModel(cov_matrix, absolute_views=viewdict)
    S = bl.bl_cov()
    assert S.shape == (20, 20)
    assert S.index.equals(df.columns)
    assert S.index.equals(S.columns)
    assert S.notnull().all().all()