def buy(self, ticker, amount): price = get_price(ticker) if self.balance < price * amount: raise ValueError("Insufficient Funds") self.balance -= price * amount trade = Trade() trade.account_pk = self.pk trade.ticker = ticker trade.price = price trade.volume = amount trade.time = time.time() position = self.get_position_for(ticker) position.shares += amount self.save() trade.save() position.save()
def sell(self, ticker, amount): price = get_price(ticker) position = self.get_position_for(ticker) if position.shares < amount: raise ValueError("Insufficient Shares to Sell or Position Does not Exist") self.balance += price * amount trade = Trade() trade.account_pk = self.pk trade.ticker = ticker trade.price = price trade.volume = -1 * amount trade.time = time.time() position.shares -= amount self.save() trade.save() position.save()
def buy(self,symbol,amount): price=get_price(symbol) if self.balance<price*amount: raise ValueError("You do not have enough money for this stock") self.balance-=price*amount trade=Trade() trade.account_pk=self.pk trade.ticker=symbol trade.price=price trade.volume=amount trade.time=time.time() position=self.get_position_for(symbol) position.shares+=amount self.save() trade.save() position.save()