def testPriceForBuyTrade(self): prediction_key = Prediction(contract_one=0.00, contract_two=0.00, liquidity=100, statement="Test", end_time=datetime.datetime.now()).put() user_key = Profile().put() trade = Trade(prediction_id=prediction_key, user_id=user_key, direction='BUY', contract='CONTRACT_ONE', quantity=10.00) priceBuy = get_price_for_trade(prediction_key.get(), trade) self.assertEqual(5.124947951362557, priceBuy) prediction_key = Prediction(contract_one=10.00, contract_two=0.00, liquidity=100, statement="Test", end_time=datetime.datetime.now()).put() trade = Trade(prediction_id=prediction_key, user_id=user_key, direction='SELL', contract='CONTRACT_ONE', quantity=10.00) priceSale = get_price_for_trade(prediction_key.get(), trade) self.assertEqual(-5.124947951362557, priceSale)
def testBuyTradeLikelihood(self): prediction_key = Prediction(contract_one=0.00, contract_two=0.00, liquidity=100, statement="Test", end_time=datetime.datetime.now()).put() user_key = Profile(balance=100).put() profile = user_key.get() prediction = prediction_key.get() probability = 90 trade_likeliness = calculate_trade_from_likelihood( probability, prediction, profile) self.assertEqual(29.789603833999628, trade_likeliness.quantity)