mirror of
https://github.com/robertmartin8/PyPortfolioOpt.git
synced 2022-11-27 18:02:41 +03:00
updating in advance of deprecations
This commit is contained in:
@@ -239,8 +239,8 @@ def test_bl_cov_default():
|
|||||||
|
|
||||||
def test_market_risk_aversion():
|
def test_market_risk_aversion():
|
||||||
prices = pd.read_csv(
|
prices = pd.read_csv(
|
||||||
resource("spy_prices.csv"), parse_dates=True, index_col=0, squeeze=True
|
resource("spy_prices.csv"), parse_dates=True, index_col=0
|
||||||
)
|
).squeeze("columns")
|
||||||
delta = black_litterman.market_implied_risk_aversion(prices)
|
delta = black_litterman.market_implied_risk_aversion(prices)
|
||||||
assert np.round(delta, 5) == 2.68549
|
assert np.round(delta, 5) == 2.68549
|
||||||
|
|
||||||
@@ -263,8 +263,8 @@ def test_bl_weights():
|
|||||||
bl = BlackLittermanModel(S, absolute_views=viewdict)
|
bl = BlackLittermanModel(S, absolute_views=viewdict)
|
||||||
|
|
||||||
prices = pd.read_csv(
|
prices = pd.read_csv(
|
||||||
resource("spy_prices.csv"), parse_dates=True, index_col=0, squeeze=True
|
resource("spy_prices.csv"), parse_dates=True, index_col=0
|
||||||
)
|
).squeeze("columns")
|
||||||
|
|
||||||
delta = black_litterman.market_implied_risk_aversion(prices)
|
delta = black_litterman.market_implied_risk_aversion(prices)
|
||||||
bl.bl_weights(delta)
|
bl.bl_weights(delta)
|
||||||
@@ -316,8 +316,8 @@ def test_market_implied_prior():
|
|||||||
S = risk_models.sample_cov(df)
|
S = risk_models.sample_cov(df)
|
||||||
|
|
||||||
prices = pd.read_csv(
|
prices = pd.read_csv(
|
||||||
resource("spy_prices.csv"), parse_dates=True, index_col=0, squeeze=True
|
resource("spy_prices.csv"), parse_dates=True, index_col=0
|
||||||
)
|
).squeeze("columns")
|
||||||
delta = black_litterman.market_implied_risk_aversion(prices)
|
delta = black_litterman.market_implied_risk_aversion(prices)
|
||||||
|
|
||||||
mcaps = get_market_caps()
|
mcaps = get_market_caps()
|
||||||
@@ -375,8 +375,8 @@ def test_bl_market_prior():
|
|||||||
S = risk_models.sample_cov(df)
|
S = risk_models.sample_cov(df)
|
||||||
|
|
||||||
prices = pd.read_csv(
|
prices = pd.read_csv(
|
||||||
resource("spy_prices.csv"), parse_dates=True, index_col=0, squeeze=True
|
resource("spy_prices.csv"), parse_dates=True, index_col=0
|
||||||
)
|
).squeeze("columns")
|
||||||
|
|
||||||
delta = black_litterman.market_implied_risk_aversion(prices)
|
delta = black_litterman.market_implied_risk_aversion(prices)
|
||||||
|
|
||||||
@@ -468,8 +468,8 @@ def test_bl_tau():
|
|||||||
S = risk_models.sample_cov(df)
|
S = risk_models.sample_cov(df)
|
||||||
|
|
||||||
prices = pd.read_csv(
|
prices = pd.read_csv(
|
||||||
resource("spy_prices.csv"), parse_dates=True, index_col=0, squeeze=True
|
resource("spy_prices.csv"), parse_dates=True, index_col=0
|
||||||
)
|
).squeeze("columns")
|
||||||
|
|
||||||
delta = black_litterman.market_implied_risk_aversion(prices)
|
delta = black_litterman.market_implied_risk_aversion(prices)
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ def test_data_source():
|
|||||||
assert isinstance(df, pd.DataFrame)
|
assert isinstance(df, pd.DataFrame)
|
||||||
assert df.shape[1] == 20
|
assert df.shape[1] == 20
|
||||||
assert len(df) == 7126
|
assert len(df) == 7126
|
||||||
assert df.index.is_all_dates
|
|
||||||
|
|
||||||
|
|
||||||
def test_returns_dataframe():
|
def test_returns_dataframe():
|
||||||
@@ -33,7 +32,6 @@ def test_returns_dataframe():
|
|||||||
assert isinstance(returns_df, pd.DataFrame)
|
assert isinstance(returns_df, pd.DataFrame)
|
||||||
assert returns_df.shape[1] == 20
|
assert returns_df.shape[1] == 20
|
||||||
assert len(returns_df) == 7125
|
assert len(returns_df) == 7125
|
||||||
assert returns_df.index.is_all_dates
|
|
||||||
assert not ((returns_df > 1) & returns_df.notnull()).any().any()
|
assert not ((returns_df > 1) & returns_df.notnull()).any().any()
|
||||||
|
|
||||||
|
|
||||||
@@ -393,6 +391,9 @@ def test_max_sharpe_error():
|
|||||||
with pytest.raises(TypeError):
|
with pytest.raises(TypeError):
|
||||||
ef.max_sharpe()
|
ef.max_sharpe()
|
||||||
|
|
||||||
|
with pytest.raises(ValueError):
|
||||||
|
ef.max_sharpe(risk_free_rate=max(ef.expected_returns + 0.01))
|
||||||
|
|
||||||
|
|
||||||
def test_max_sharpe_risk_free_warning():
|
def test_max_sharpe_risk_free_warning():
|
||||||
ef = setup_efficient_frontier()
|
ef = setup_efficient_frontier()
|
||||||
@@ -1072,9 +1073,6 @@ def test_efficient_return():
|
|||||||
def test_efficient_return_error():
|
def test_efficient_return_error():
|
||||||
ef = setup_efficient_frontier()
|
ef = setup_efficient_frontier()
|
||||||
max_ret = ef.expected_returns.max()
|
max_ret = ef.expected_returns.max()
|
||||||
|
|
||||||
with pytest.raises(ValueError):
|
|
||||||
ef.efficient_return(-0.1)
|
|
||||||
with pytest.raises(ValueError):
|
with pytest.raises(ValueError):
|
||||||
# This return is too high
|
# This return is too high
|
||||||
ef.efficient_return(max_ret + 0.01)
|
ef.efficient_return(max_ret + 0.01)
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ def test_returns_dataframe():
|
|||||||
assert isinstance(returns_df, pd.DataFrame)
|
assert isinstance(returns_df, pd.DataFrame)
|
||||||
assert returns_df.shape[1] == 20
|
assert returns_df.shape[1] == 20
|
||||||
assert len(returns_df) == 7125
|
assert len(returns_df) == 7125
|
||||||
assert returns_df.index.is_all_dates
|
|
||||||
assert not ((returns_df > 1) & returns_df.notnull()).any().any()
|
assert not ((returns_df > 1) & returns_df.notnull()).any().any()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ def test_hrp_portfolio():
|
|||||||
# uncomment this line if you want generating a new file
|
# uncomment this line if you want generating a new file
|
||||||
# pd.Series(w).to_csv(resource("weights_hrp.csv"))
|
# pd.Series(w).to_csv(resource("weights_hrp.csv"))
|
||||||
|
|
||||||
x = pd.read_csv(resource("weights_hrp.csv"), squeeze=True, index_col=0)
|
x = pd.read_csv(resource("weights_hrp.csv"), index_col=0).squeeze("columns")
|
||||||
pd.testing.assert_series_equal(x, pd.Series(w), check_names=False, rtol=1e-2)
|
pd.testing.assert_series_equal(x, pd.Series(w), check_names=False, rtol=1e-2)
|
||||||
|
|
||||||
assert isinstance(w, dict)
|
assert isinstance(w, dict)
|
||||||
|
|||||||
Reference in New Issue
Block a user