File tree Expand file tree Collapse file tree 2 files changed +6
-6
lines changed Expand file tree Collapse file tree 2 files changed +6
-6
lines changed Original file line number Diff line number Diff line change @@ -37,7 +37,7 @@ def _as_list(value) -> List:
37
37
def _data_period (index ) -> Union [pd .Timedelta , Number ]:
38
38
"""Return data index period as pd.Timedelta"""
39
39
values = pd .Series (index [- 100 :])
40
- return values .diff ().median ()
40
+ return values .diff ().dropna (). median ()
41
41
42
42
43
43
class _Array (np .ndarray ):
Original file line number Diff line number Diff line change @@ -1157,11 +1157,11 @@ def run(self, **kwargs) -> pd.Series:
1157
1157
if start < len (self ._data ):
1158
1158
try_ (broker .next , exception = _OutOfMoneyError )
1159
1159
1160
- # Set data back to full length
1161
- # for future `indicator._opts['data'].index` calls to work
1162
- data ._set_length (len (self ._data ))
1160
+ # Set data back to full length
1161
+ # for future `indicator._opts['data'].index` calls to work
1162
+ data ._set_length (len (self ._data ))
1163
1163
1164
- self ._results = self ._compute_stats (broker , strategy )
1164
+ self ._results = self ._compute_stats (broker , strategy )
1165
1165
return self ._results
1166
1166
1167
1167
def optimize (self ,
@@ -1414,7 +1414,7 @@ def geometric_mean(returns):
1414
1414
# our risk doesn't; they use the simpler approach below.
1415
1415
annualized_return = (1 + gmean_day_return )** annual_trading_days - 1
1416
1416
s .loc ['Return (Ann.) [%]' ] = annualized_return * 100
1417
- s .loc ['Volatility (Ann.) [%]' ] = np .sqrt ((day_returns .var (ddof = 1 ) + (1 + gmean_day_return )** 2 )** annual_trading_days - (1 + gmean_day_return )** (2 * annual_trading_days )) * 100 # noqa: E501
1417
+ s .loc ['Volatility (Ann.) [%]' ] = np .sqrt ((day_returns .var (ddof = int ( bool ( day_returns . shape )) ) + (1 + gmean_day_return )** 2 )** annual_trading_days - (1 + gmean_day_return )** (2 * annual_trading_days )) * 100 # noqa: E501
1418
1418
# s.loc['Return (Ann.) [%]'] = gmean_day_return * annual_trading_days * 100
1419
1419
# s.loc['Risk (Ann.) [%]'] = day_returns.std(ddof=1) * np.sqrt(annual_trading_days) * 100
1420
1420
You can’t perform that action at this time.
0 commit comments