示例#1
0
def test_broker_close_position_with_commission():
    broker = Broker(initial_cash=100)

    broker.set_commission(percentage=1)  # 1%

    pos = broker.add_position('FOO', price=10, amount=1, bar_index=0)
    broker.close_position(pos, price=12, bar_index=1)

    assert broker.cash() == 100 + 2 - (10 + 12) * 0.01
示例#2
0
def test_broker_percentage_commissions():
    broker = Broker(initial_cash=100)
    broker.set_commission(percentage=0.05)  # 0.05%

    pos = broker.add_position('FOO', price=10, amount=1, bar_index=0)

    should_be_cash = 100 - 10 - 10 * 0.01 * 0.05

    assert (broker.cash() - should_be_cash) < 0.00001