def create_order(self, seller, text): # action id = random.randint(0,1000000) buyer = self._transport._myself.get_pubkey() new_order = order(id, buyer, seller, 'new', text, self._escrows) self._orders[id] = new_order # announce the new reputation self._transport.send(new_order, seller)
def create_order(self, seller, text): # action id = random.randint(0, 1000000) buyer = self._transport._myself.get_pubkey() new_order = order(id, buyer, seller, 'new', text, self._escrows) self._orders[id] = new_order # Announce the new order self._transport.send(new_order, seller)
def trading(universe): # main trading algorithm of the day given data up to the that day today=universe.now record={} for sym in universe.symbols: # data of the day: close (float), indicator (DataFrame) data=universe.data[sym][:today][today:] indicator=universe.indicator[sym][:today][today:] if len(data)==0: continue close=data.Close[0] trade_time=today.replace(hour=15,minute=59) # buy at 3:59pm at close price trade_type='NONE' amt=0 position=universe.account.positions[sym].amount # buy if SMA200 < close < SMA10 and RSI2 < 10 if close < indicator.SMA10[0] and \ close > indicator.SMA200[0] and \ indicator.RSI2[0] < 10 and \ universe.account.cash/close > 10: trade_type='Buy' amt=int(universe.account.portfolio_value/len(universe.symbols)/close-position) # sell if lose 30% or RSI2 >99 avg_price=universe.account.positions[sym].avg_price if (indicator.RSI2[0]>99 or (avg_price-close)/avg_price > 0.3 )\ and universe.account.positions[sym].amount>0: trade_type='Sell' # record data returns=(close-avg_price)*position winning=returns>0 #record={'Date':[today], # 'Symbol':[sym], # 'Buy_price':[avg_price], # 'Sell_price':[close], # 'Amount':[position], # 'Returns':[returns], # 'Winning':[winning]} amt=position order(trade_type=trade_type,symbol=sym,amount=amt, price=close,time=trade_time) record={'Date':[today], 'Portfolio_value':[universe.account.portfolio_value]} universe.account.refresh_portfolio(today,{sym:close}) return record
def create_order(self, seller, text): id = random.randint(0,1000000) buyer = self._transport._myself.get_pubkey() new_order = order(id, buyer, seller, 'new', text, self._escrows) self._transport.send(new_order, seller) self._orders.insert(new_order)
def create_order(self, seller, text): self._log.info('CREATING ORDER') id = random.randint(0, 1000000) buyer = self._transport._myself.get_pubkey() new_order = order(id, buyer, seller, 'new', text, self._escrows) # Add a timestamp new_order['created'] = time.time() self._transport.send(new_order, seller) self._db.orders.insert(new_order)
def create_order(self, seller, text): self._log.info('CREATING ORDER') order_id = random.randint(0, 1000000) buyer = self._transport._myself.get_pubkey() new_order = order(order_id, buyer, seller, 'new', text, self._escrows) # Add a timestamp new_order['created'] = time.time() self._transport.send(new_order, seller) self._db.insertEntry("orders", new_order)
def create_order(self, seller, text): self._log.info("CREATING ORDER") order_id = random.randint(0, 1000000) buyer = self._transport._myself.get_pubkey() new_order = order(order_id, buyer, seller, "new", text, self._escrows) # Add a timestamp new_order["created"] = time.time() self._transport.send(new_order, seller) self._db.insertEntry("orders", new_order)
def create_order(self, seller, text): # action id = random.randint(0,1000000) buyer = self._transport._myself.get_pubkey() new_order = order(id, buyer, seller, 'new', text, self._escrows) # Store the order self._orders[id] = new_order print "Orders: ", self._orders # Announce the new order self._transport.send(new_order, seller)
else: self._transport.log("Order not for us") if msg.get('id'): if msg['id'] in self._orders: self._orders[msg['id']]['state'] = msg['state'] else: self._orders[msg['id']] = msg # Test Code if run directly if __name__ == '__main__': seller = ECC(curve='secp256k1') class FakeTransport(): _myself = ECC(curve='secp256k1') def add_callback(self, section, cb): pass def send(self, msg, to=None): print 'sending', msg def log(self, msg): print msg transport = FakeTransport() rep = Orders(transport) rep.on_order( order(None, transport._myself.get_pubkey(), seller.get_pubkey(), 'new', 'One!', ["dsasd", "deadbeef"]))
self._transport.log("Order not for us") elif state == 'received': if myself == seller: pass # ok elif myself == buyer: self.receive_order(msg) else: self._transport.log("Order not for us") if msg.get('id'): if msg['id'] in self._orders: self._orders[msg['id']]['state'] = msg['state'] else: self._orders[msg['id']] = msg if __name__ == '__main__': seller = ECC(curve='secp256k1') class FakeTransport(): _myself = ECC(curve='secp256k1') def add_callback(self, section, cb): pass def send(self, msg, to=None): print 'sending', msg def log(self, msg): print msg transport = FakeTransport() rep = Orders(transport) rep.on_order(order(None, transport._myself.get_pubkey(), seller.get_pubkey(), 'new', 'One!', ["dsasd", "deadbeef"]))