Пример #1
0
def find_loss():
    history = ProfitHistory()
    negative_profits = history.find_negatives()

    if len(negative_profits):
        traders = TraderProfiles()

        for profit in negative_profits:
            trader_pair = traders.find_trader_instance_for_transaction(profit)
            # trader = traders.find_trader_instance_for_transaction(profit)
            if trader_pair:
                # print profit
                # print trader_pair
                previous_trader = Trader_AA.init_from_json(trader_pair[0])
                trader = Trader_AA.init_from_json(trader_pair[1])
                # trader = Trader_AA.init_from_json(trader)

                # print "\n" + str(trader_pair[0]) + "\n" + str(trader_pair[1]) + "\n"
                # print profit
                # print str(trader) + "\n"
                test_trader.test_instance(trader)
Пример #2
0
def test_r_extramarginal():
    traders = []

    bid_trader = Trader_AA("AA", "B01", 0.00)
    bid_trader.equilibrium = 3
    bid_trader.job = "Bid"
    bid_trader.limit = 2
    bid_trader.p_max = 6
    bid_trader.marginality = Trader_AA.Marginality.Extra
    bid_trader.transactions = [6, 4]
    bid_trader.alphas = [0.02, 0.15]
    traders.append(bid_trader)

    ask_trader = Trader_AA("AA", "A01", 0.00)
    ask_trader.equilibrium = 3
    ask_trader.job = "Ask"
    ask_trader.limit = 4
    ask_trader.p_max = 6
    ask_trader.marginality = Trader_AA.Marginality.Extra
    ask_trader.transactions = [6, 4]
    ask_trader.alphas = [0.02, 0.15]
    traders.append(ask_trader)

    N = 40

    for theta in THETAS:
        targets = zeros((N, 2))
        support = linspace(-1, 1, N)
        rs = zeros(N)
        for i in range(N):
            r = support[i]
            for j in range(2):
                traders[j].theta = theta + 0.00001
                targets[i, j] = traders[j].calculate_target_price(r)
            rs[i] = r

        plot(rs, targets[:, 0], "r-")
        plot(rs, targets[:, 1], "b--")

    ylabel("Target Price")
    xlabel("Aggressiveness")
    title("Extramarginal")
    show()