From 8ed6426e2d2ab0a32297a1c44b141816ef3d3005 Mon Sep 17 00:00:00 2001 From: Yasser Hassan Date: Tue, 4 Feb 2020 07:12:04 +0200 Subject: [PATCH 1/2] Check value validity of algorithm_str. --- tensortrade/rewards/risk_adjusted_returns.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tensortrade/rewards/risk_adjusted_returns.py b/tensortrade/rewards/risk_adjusted_returns.py index 97141cfed..5f95c3b52 100644 --- a/tensortrade/rewards/risk_adjusted_returns.py +++ b/tensortrade/rewards/risk_adjusted_returns.py @@ -36,6 +36,8 @@ def __init__(self, return_algorithm: str = 'sharpe', risk_free_rate: float = 0., self._target_returns = target_returns def _return_algorithm_from_str(self, algorithm_str: str) -> Callable[[pd.DataFrame], float]: + assert algorithm_str in ['sharpe', 'sortino'] + if algorithm_str == 'sharpe': return self._sharpe_ratio elif algorithm_str == 'sortino': From 9051ff8d74b603af261405286d640c7579f1c0c1 Mon Sep 17 00:00:00 2001 From: Yasser Hassan Date: Tue, 4 Feb 2020 07:16:56 +0200 Subject: [PATCH 2/2] Match net worth calculation to tested method Patch for issue #173. --- tests/tensortrade/unit/rewards/test_risk_adjusted_returns.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/tensortrade/unit/rewards/test_risk_adjusted_returns.py b/tests/tensortrade/unit/rewards/test_risk_adjusted_returns.py index 33bb6e198..4bff9ed73 100644 --- a/tests/tensortrade/unit/rewards/test_risk_adjusted_returns.py +++ b/tests/tensortrade/unit/rewards/test_risk_adjusted_returns.py @@ -15,7 +15,7 @@ class TestRiskAdjustedReturns: def test_sharpe_ratio(self, net_worths): scheme = RiskAdjustedReturns(return_algorithm='sharpe', risk_free_rate=0) - returns = net_worths.diff() + returns = net_worths.pct_change() sharpe_ratio = scheme._sharpe_ratio(returns) @@ -31,7 +31,7 @@ def test_sortino_ratio(self, net_worths): target_returns=0 ) - returns = net_worths.diff() + returns = net_worths.pct_change() sortino_ratio = scheme._sortino_ratio(returns)