Пример #1
0
    def sse_theo_event(self, para):
        """ Returns the Sum Squared Error """

        from Event import Event

        evnt = Event(self.data)
        evnt.e4_mean_rev1 = para[0]
        evnt.e4_resp1 = para[1]
        evnt.e4_mean_rev2 = para[2]
        evnt.e4_resp2 = para[3]
        evnt.e4_mean_rev3 = para[4]
        evnt.e4_resp3 = para[5]
        evnt.e4_mean_rev4 = para[6]
        evnt.e4_resp4 = para[7]
        evnt.e4_spread = False
        evnt.e4_voladj = False

        evnt.event_type = 'e4'
        evnt.decay_type = 'exp'

        error = 0.0
        for i in range(int(len(self.data.events))):
            if self.data.events[i] == 'E':
                est = self.cmpt_theo_event(i, evnt)
                error += (self.data.prices[i] - est)**2
        if self.verbose:
            print(
                str(error) + ' ' + str(para[0]) + ' ' + str(para[1]) + ' ' +
                str(para[2]) + ' ' + str(para[3]) + ' ' + str(para[4]) + ' ' +
                str(para[5]) + ' ' + str(para[6]) + ' ' + str(para[7]))

        return error