def calculateSingalWindowSharp(returns, window, factor): res = [] rscalc = MovingSharp(window=int(window * APPROX_BDAYS_PER_MONTH)) for ret in returns: rscalc.push({'ret': ret, 'riskFree': 0}) try: # in PyFin, sharp is not annualized res.append(rscalc.result() * sqrt(APPROX_BDAYS_PER_YEAR / factor)) except ZeroDivisionError: res.append(np.nan) return res