Example #1
0
class MovingSortino(StatefulValueHolder):
    def __init__(self, window, dependency=('ret', 'riskFree')):
        super(MovingSortino, self).__init__(window, dependency)
        self._mean = MovingAverage(window, dependency='x')
        self._negativeVar = MovingNegativeVariance(window, dependency='x')

    def push(self, data):
        value = super(MovingSortino, self).push(data)
        if value is None:
            return
        ret = value[0]
        benchmark = value[1]
        data = {'x': ret - benchmark}
        self._mean.push(data)
        self._negativeVar.push(data)

    def result(self):
        return self._mean.result() / math.sqrt(self._negativeVar.result())
Example #2
0
class MovingSortino(StatefulValueHolder):
    def __init__(self, window, dependency=('ret', 'riskFree')):
        super(MovingSortino, self).__init__(window, dependency)
        self._mean = MovingAverage(window, dependency='x')
        self._negativeVar = MovingNegativeVariance(window, dependency='x')

    def push(self, data):
        value = super(MovingSortino, self).push(data)
        if value is None:
            return
        ret = value[0]
        benchmark = value[1]
        data = {'x': ret - benchmark}
        self._mean.push(data)
        self._negativeVar.push(data)

    def result(self):
        return self._mean.result() / math.sqrt(self._negativeVar.result())
Example #3
0
 def __init__(self, window, dependency=('ret', 'riskFree')):
     super(MovingSortino, self).__init__(window, dependency)
     self._mean = MovingAverage(window, dependency='x')
     self._negativeVar = MovingNegativeVariance(window, dependency='x')
Example #4
0
 def __init__(self, window, dependency=('ret', 'riskFree')):
     super(MovingSortino, self).__init__(window, dependency)
     self._mean = MovingAverage(window, dependency='x')
     self._negativeVar = MovingNegativeVariance(window, dependency='x')