예제 #1
0
파일: zn_OU.py 프로젝트: volpato30/CNN
    def on_daystart(self, date, info_x, info_y):
        # recreate rolling at each day start
        self.long_autoreg = AutoregOU(size=self.param['rolling'])
        self.short_autoreg = AutoregOU(size=self.param['rolling'])

        self.spreadx_roll = SimpleMoving(size=self.param['rolling'])
        self.spready_roll = SimpleMoving(size=self.param['rolling'])
예제 #2
0
    def param_updated(self):
        # make sure parent updates its param
        super(StopWinSpreadGuardAlgo, self).param_updated()

        # algo settings

        self.min_ticksize = self.pair.x.symbol.min_ticksize
        # create rolling
        self.long_roll = SimpleMoving(size=self.param['rolling'])
        self.short_roll = SimpleMoving(size=self.param['rolling'])

        self.spreadx_roll = SimpleMoving(size = self.param['rolling'])
        self.spready_roll = SimpleMoving(size = self.param['rolling'])

        self.bollinger = self.param['bollinger']
        self.block = self.param['block']
        self.stop_win = self.param['stop_win']

        #other params
        self.last_long_res = -999
        self.last_short_res = -999

        #records
        self.records = {'timestamp': [], 'longs': [], 'shorts': [],
                        'long_mean': [], 'short_mean': [],
                        'long_sd': [], 'short_sd':[]}

        #tracker
        self.tracker = self.param['tracker']
예제 #3
0
파일: zn_OU.py 프로젝트: volpato30/CNN
    def param_updated(self):
        # make sure parent updates its param
        super(OUAlgo, self).param_updated()

        # create autoregressive
        self.long_autoreg = AutoregOU(size=self.param['rolling'])
        self.short_autoreg = AutoregOU(size=self.param['rolling'])

        # create rolling
        self.spreadx_roll = SimpleMoving(size=self.param['rolling'])
        self.spready_roll = SimpleMoving(size=self.param['rolling'])

        #params
        self.bollinger = self.param['bollinger']
        self.block = self.param['block']

        #other params
        self.last_long_res = -999
        self.last_short_res = -999

        #records
        self.records = {
            'timestamp': [],
            'longs': [],
            'shorts': [],
            'long_mean': [],
            'short_mean': [],
            'long_sd': [],
            'short_sd': []
        }

        #tracker
        self.tracker = self.param['tracker']
예제 #4
0
    def param_updated(self):
        # make sure parent updates its param
        super(StopWinAlgo, self).param_updated()

        # algo settings
        self.if_ema = self.param['if_ema'] # if false, use sma
        self.if_stop_win = self.param['if_stop_win'] #if false, don't stop win
        self.if_consider_spread = self.param['if_consider_spread'] #if false, don't consider spread and fee

        # create rolling
        self.long_roll = SimpleMoving(size=self.param['rolling'])
        self.short_roll = SimpleMoving(size=self.param['rolling'])
        self.long_autoreg = Autoregressive(alpha = self.param['alpha'])
        self.short_autoreg = Autoregressive(alpha = self.param['alpha'])
        self.spreadx_roll = SimpleMoving(size = self.param['rolling'])
        self.spready_roll = SimpleMoving(size = self.param['rolling'])

        self.bollinger = self.param['bollinger']
        self.block = self.param['block']
        self.stop_win = self.param['stop_win']

        #other params
        self.last_long_res = -999
        self.last_short_res = -999

        #records
        self.records = {'timestamp': [], 'longs': [], 'shorts': [],
                        'long_mean': [], 'short_mean': [],
                        'long_sd': [], 'short_sd':[]}

        #tracker
        self.tracker = TradeAnalysis(self.pair.x)
예제 #5
0
    def param_updated(self):
        # make sure parent updates its param
        super(SMAAlgo, self).param_updated()

        # create rolling
        self.long_roll = SimpleMoving(size=self.param['rolling'])
        self.short_roll = SimpleMoving(size=self.param['rolling'])
        self.spreadx_roll = SimpleMoving(size = self.param['rolling'])
        self.spready_roll = SimpleMoving(size = self.param['rolling'])

        #params
        self.bollinger = self.param['bollinger']
        self.block = self.param['block']
        self.stop_win = self.param['stop_win']

        #other params
        self.last_long_res = -999
        self.last_short_res = -999

        #records
        self.records = {'timestamp': [], 'longs': [], 'shorts': [],
                        'long_mean': [], 'short_mean': [],
                        'long_sd': [], 'short_sd':[]}

        self.max_profit = 0

        #tracker
        self.tracker = TradeAnalysis(self.pair.x)
예제 #6
0
    def param_updated(self):
        # make sure parent updates its param
        super(SMAAlgo, self).param_updated()

        # create rolling
        self.long_roll = SimpleMoving(size=self.param['rolling'])
        self.short_roll = SimpleMoving(size=self.param['rolling'])
        self.bollinger = self.param['bollinger']
        self.block = self.param['block']
        self.stop_win = self.param['stop_win']

        #other params
        self.last_long_res = -999
        self.last_short_res = -999
예제 #7
0
 def on_daystart(self, date, info_x, info_y):
     # recreate rolling at each day start
     self.long_roll = SimpleMoving(size=self.param['rolling'])
     self.short_roll = SimpleMoving(size=self.param['rolling'])
예제 #8
0
 def on_daystart(self, date, info_x, info_y):
     #create new stuff on day start
     self.long_autoreg = Autoregressive(alpha = self.param['alpha'])
     self.short_autoreg = Autoregressive(alpha = self.param['alpha'])
     self.long_roll = SimpleMoving(size = self.param['rolling'])
     self.short_roll = SimpleMoving(size = self.param['rolling'])