def compressTweets(data_dir): assert(os.path.exists(data_dir)) tick = Tick() for fname in os.listdir(data_dir): isFirst = True lines = [] new_contents = "" for line in open(os.path.join(data_dir, fname)): try: jobj = json.loads(line) if not isFirst: del jobj['user'] lines.append(json.dumps(jobj)) except (KeyError, ValueError): continue isFirst = False new_contents = '\n'.join(lines) fout = open(os.path.join(data_dir, fname), 'w') fout.write(new_contents) fout.close() tick.tick()
def start_tick_retriever(instruments): i = 0 t = Tick(instruments) while True: try: t.retrieve() time.sleep(1) i += 1 print '------', i except Exception as e: print 'error: ', e time.sleep(1)
def __init__(self, sys_clk_freq, cs_period=0.001): # module's interface self.values = Array(Signal(5) for i in range(8)) # input self.cs = Signal(8) # output self.abcdefg = Signal(7) # output # # # # create our seven segment controller seven_segment = _SevenSegment() self.submodules += seven_segment self.comb += self.abcdefg.eq(seven_segment.abcdefg) # create a tick every cs_period self.submodules.tick = Tick(sys_clk_freq, cs_period) # rotate cs 6 bits signals to alternate seven segments # cycle 0 : 0b000001 # cycle 1 : 0b000010 # cycle 2 : 0b000100 # cycle 3 : 0b001000 # cycle 4 : 0b010000 # cycle 5 : 0b100000s # cycle 6 : 0b000001 cs = Signal(8, reset=0b00000001) # synchronous assigment self.sync += [ If( self.tick.ce, # at the next tick: cs[1].eq(cs[0]), # bit1 takes bit0 value cs[2].eq(cs[1]), # bit2 takes bit1 value cs[3].eq(cs[2]), # bit3 takes bit2 value cs[4].eq(cs[3]), # bit4 takes bit3 value cs[5].eq(cs[4]), # bit5 takes bit4 value cs[6].eq(cs[5]), # bit5 takes bit4 value cs[7].eq(cs[6]), # bit5 takes bit4 value cs[0].eq(cs[7]) # bit0 takes bit5 value ) ] # cominatorial assigment self.comb += self.cs.eq(cs) # cs to value selection. # Here we create a table to translate each of the 6 cs possible values # to input value selection. cases = { 0b00000001: seven_segment.value.eq(self.values[0]), 0b00000010: seven_segment.value.eq(self.values[1]), 0b00000100: seven_segment.value.eq(self.values[2]), 0b00001000: seven_segment.value.eq(self.values[3]), 0b00010000: seven_segment.value.eq(self.values[4]), 0b00100000: seven_segment.value.eq(self.values[5]), 0b01000000: seven_segment.value.eq(self.values[6]), 0b10000000: seven_segment.value.eq(self.values[7]) } # cominatorial assigment self.comb += Case(self.cs, cases)
def __init__(self): # Cria uma matriz 6x4x4 preenchida com 0s (ver manipulação na biblioteca numpy) self.__board = [[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]] self.__gpio_manager = GPIO_Manager() self.__snake = Snake() self.__fruit = Fruit() self.__mouse = Mouse(self.on_click) self.__tick = Tick(self.on_tick)
def load(self, symbol): """ Loads the stock quote for symbol from Yahoo or cache """ raw = Stock.get_from_cache(symbol) if raw is None: today = datetime.date.today().strftime('%Y%m%d') raw = self.yahoo(symbol, '20010103', today) Stock.save_to_cache(symbol, raw) # Tick aware of the time series it belongs to self.data.extend([ Tick(self.data, index, *Stock.cast(tick)) for index, tick in enumerate(reversed(raw[1:])) ])
def __init__(self, sys_clk_freq, cs_period=0.001): # module's interface self.values = Array(Signal(5) for i in range(6)) # input self.cs = Signal(6) # output self.abcdefg = Signal(7) # output # # # # create our seven segment controller seven_segment = SevenSegment() self.submodules += seven_segment self.comb += self.abcdefg.eq(seven_segment.abcdefg) # create a tick every cs_period self.submodules.tick = Tick(sys_clk_freq, cs_period) # rotate cs 6 bits signals to alternate seven segments # cycle 0 : 0b000001 # cycle 1 : 0b000010 # cycle 2 : 0b000100 # cycle 3 : 0b001000 # cycle 4 : 0b010000 # cycle 5 : 0b010000 # cycle 6 : 0b100000 # cycle 7 : 0b000001 cs = Signal(6, reset=0b000001) # synchronous assigment self.sync += [ If(self.tick.ce, # -- TO BE COMPLETED -- # [...] rotate cs # -- TO BE COMPLETED -- ) ] # cominatorial assigment self.comb += self.cs.eq(cs) # cs to value selection. # Here we create a table to translate each of the 8 cs possible values # to input value selection. # -- TO BE COMPLETED -- cases = { 0b000001: seven_segment.value.eq(self.values[0]), # [...] } # -- TO BE COMPLETED -- # cominatorial assigment self.comb += Case(self.cs, cases)
def tweets2Texts(input_dir, output_dir): ticker = Tick() for fname in os.listdir(input_dir): user_id = fname # collect texts texts = [] for line in open(os.path.join(input_dir, fname)): try: jobj = json.loads(line) t = jobj["text"] t = re.sub(r"\s+", " ", t) texts.append(t) except (KeyError, ValueError): continue text = "\n".join(texts) # write to a file fout = open(os.path.join(output_dir, fname), "w") fout.write(text.encode("ascii", "ignore")) fout.close() ticker.tick()
def get(self): if self.request.get('ticknum'): ticknum = int(self.request.get('ticknum')) else: ticknum = datetime.datetime.utcnow().minute tick = Tick.gql("WHERE pos = :1", ticknum).get() if not tick: return for acct in account.Account.get(tick.accts): if not acct or not acct.owner.email(): # nothing we can do continue (training, qEnd) = acct.check_queue() if not qEnd: # too late continue qlen = qEnd - datetime.datetime.utcnow() hours = qlen.seconds // (60*60) if qlen.days == 0 and MESSAGES[hours]: mail.send_mail(sender=SENDER, to=acct.owner.email(), subject="Skill Queue for %s" % training.name, body=MESSAGES[hours] % timeDiffToStr(qlen.seconds)) else: logging.info("Hourly check for acct %d (%s is training at least %d days)" % ( acct.ID, training.name, qlen.days))
def stop_price_short(self, position, index): return Tick.up(position.entry_price, 5)
def stop_price_long(self,position,index): return Tick.down(position.entry_price, 5)
def stop_price_short(self, position, index): """仕掛値からn日ATR(前日)のx倍上に行ったところにストップ""" _range = self._range(index) if _range!=_range: return _range return Tick.ceil(position.entry_price + _range)
def stop_price_long(self, position, index): """仕掛値からn日ATR(前日)のx倍下に行ったところにストップ""" _range = self._range(index) if _range!=_range: return _range return Tick.truncate(position.entry_price - _range)
class Game: """ Classe que representa o jogo e seu tabuleiro. O tabuleiro corresponde a uma matriz 6x4x4. """ # Game's key components __board = None __snake = None __fruit = None __tick = None # Animation control components __blink_fruit = True # Game dinamics components __add_tail = False def __init__(self): # Cria uma matriz 6x4x4 preenchida com 0s (ver manipulação na biblioteca numpy) self.__board = [[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]] self.__gpio_manager = GPIO_Manager() self.__snake = Snake() self.__fruit = Fruit() self.__mouse = Mouse(self.on_click) self.__tick = Tick(self.on_tick) def on_click(self, isLeft): self.__snake.update_direction(isLeft) def on_tick(self, tick_count): # Executes block every tick self.__blink_fruit = not self.__blink_fruit # Executes block every 4 ticks if tick_count == 0: # Updates snake position (and maybe, adds tail) self.__snake.update_position(self.__add_tail) if self.__add_tail == True: self.__add_tail = False # Updates fruit position and snake velocity self.update_fruit() elif tick_count == 1: snake_head = self.__snake.get_head_position() print(snake_head) self.__board[snake_head[0]][snake_head[1]][snake_head[2]] = 1 self.__gpio_manager.setFaces(self.__board) elif tick_count == 4: 1 self.__gpio_manager.clear() def update_fruit(self): snake_head = self.__snake.get_head_position() if self.__fruit.has_been_eaten(snake_head[0], snake_head[1], snake_head[2]): # nao sei porque, mas tick nao aparece preenchido aqui self.__tick.increase_velocity() self.__add_tail = True self.__fruit = Fruit()
def stop_price_short(self, position, index): """仕掛値からn日ATR(前日)のx倍上に行ったところにストップ""" _range = self._range(index) if _range != _range: return _range return Tick.ceil(position.entry_price + _range)
def stop_price_long(self, position, index): """仕掛値からn日ATR(前日)のx倍下に行ったところにストップ""" _range = self._range(index) if _range != _range: return _range return Tick.truncate(position.entry_price - _range)