def test_evaluate_profitable():
    market = Market("test", 0, "", "SingleMarket")
    c1 = Contract("test", "test1", "")
    c2 = Contract("test", "test2", "")
    c3 = Contract("test", "test3", "")

    c1.long_offers = [Offer(c1, "YES", 0.1, 10)]
    c2.long_offers = [Offer(c2, "YES", 0.2, 10)]
    c3.long_offers = [Offer(c3, "YES", 0.3, 10)]

    market.contracts = [c1, c2, c3]

    r = buy_yes.evaluate(market)

    assert r is not None

    ret = r[0]
    gain = r[1]
    cost = r[2]
    shares = r[3]

    assert cost == 6
    assert shares == 10
    assert round(ret, 2) == 0.6
    assert round(gain, 2) == 4
def test_evaluate_notprofitable():
    market = Market("test", 0, "", "SingleMarket")
    c1 = Contract("test", "test1", "")
    c2 = Contract("test", "test2", "")
    c3 = Contract("test", "test3", "")

    c1.long_offers = [Offer(c1, "YES", 0.4, 10)]
    c2.long_offers = [Offer(c2, "YES", 0.5, 10)]
    c3.long_offers = [Offer(c3, "YES", 0.6, 10)]

    market.contracts = [c1, c2, c3]

    r = buy_yes.evaluate(market)

    assert r is None
def test_evaluate_empty_market():
    market = Market("test", 0, "", "SingleMarket")
    market.contracts = []

    r = buy_yes.evaluate(market)
    assert r is None
Exemplo n.º 4
0
def evaluate_all(markets):
    for m in markets:
        if(m.market_id not in blacklist):
            out(m, 'BUY YES', buy_yes.evaluate(m))
            out(m, 'BUY NO', buy_no.evaluate(m))
            out(m, 'BUY YES/NO', buy_yes_no.evaluate(m))