ranaroussi / quantstats

Portfolio analytics for quants, written in Python
Apache License 2.0
4.76k stars 835 forks source link

Error generating full report: ValueError: attempt to get argmin of an empty sequence #246

Closed Karlheinzniebuhr closed 1 year ago

Karlheinzniebuhr commented 1 year ago
qs.extend_pandas()

net_worth = pd.Series(my_test_env.history['total_profit'], index=gymdf.index[test_frame_bound[0]+1:test_frame_bound[1]])
returns = net_worth.pct_change().dropna()
qs.reports.full(returns)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_7656/883826399.py in <module>
      3 net_worth = pd.Series(my_test_env.history['total_profit'], index=gymdf.index[test_frame_bound[0]+1:test_frame_bound[1]])
      4 returns = net_worth.pct_change().dropna()
----> 5 qs.reports.full(returns)

c:\ProgramData\mambaforge\lib\site-packages\quantstats\reports.py in full(returns, benchmark, rf, grayscale, figsize, display, compounded, periods_per_year, match_dates)
    276 
    277     if isinstance(returns, _pd.DataFrame) and len(returns.columns) > 1:
--> 278         raise ValueError("`returns` must be a pandas Series, "
    279                          "but a multi-column DataFrame was passed")
    280 

c:\ProgramData\mambaforge\lib\site-packages\quantstats\stats.py in drawdown_details(drawdown)

c:\ProgramData\mambaforge\lib\site-packages\quantstats\stats.py in _drawdown_details(drawdown)

c:\ProgramData\mambaforge\lib\site-packages\pandas\core\series.py in idxmin(self, axis, skipna, *args, **kwargs)
   2493         nan
   2494         """
-> 2495         i = self.argmin(axis, skipna, *args, **kwargs)
   2496         if i == -1:
   2497             return np.nan

c:\ProgramData\mambaforge\lib\site-packages\pandas\core\base.py in argmin(self, axis, skipna, *args, **kwargs)
    715             # error: Incompatible return value type (got "Union[int, ndarray]", expected
    716             # "int")
--> 717             return nanops.nanargmin(  # type: ignore[return-value]
    718                 delegate, skipna=skipna
    719             )

c:\ProgramData\mambaforge\lib\site-packages\pandas\core\nanops.py in _f(*args, **kwargs)
     91             try:
     92                 with np.errstate(invalid="ignore"):
---> 93                     return f(*args, **kwargs)
     94             except ValueError as e:
     95                 # we want to transform an object array

c:\ProgramData\mambaforge\lib\site-packages\pandas\core\nanops.py in nanargmin(values, axis, skipna, mask)
   1148     values, mask, _, _, _ = _get_values(values, True, fill_value_typ="+inf", mask=mask)
   1149     # error: Need type annotation for 'result'
-> 1150     result = values.argmin(axis)  # type: ignore[var-annotated]
   1151     result = _maybe_arg_null_out(result, axis, mask, skipna)
   1152     return result

ValueError: attempt to get argmin of an empty sequence

quantstats 0.0.59 pyhd8ed1ab_0

file name : quantstats-0.0.59-pyhd8ed1ab_0.tar.bz2 name : quantstats version : 0.0.59 build : pyhd8ed1ab_0 build number: 0 size : 38 KB license : Apache-2.0 subdir : noarch url : https://conda.anaconda.org/conda-forge/noarch/quantstats-0.0.59-pyhd8ed1ab_0.tar.bz2 md5 : 3e53220d01d8834956b1ec7cbc8bfff9 timestamp : 2022-07-05 14:25:02 UTC dependencies: