Ejemplo n.º 1
0
portfolio.remove_position('AAA')
assert(len(portfolio.open_positions) == 0)

# Remove nonexistant position
try:
    portfolio.remove_position('BBB')
except KeyError:
    pass

'''Add multiple positions'''
portfolio.add_position(time[0], 'AAA', 100.00, 10)
portfolio.add_position(time[0], 'BBB', 20.00, 5)

assert(len(portfolio.open_positions) == 2)

'''Calculate investment total'''
assert(portfolio.calulate_investment_total(time[0]) == 1100)

''' Transactions '''

# Cash transaction
portfolio.add_transaction(time[0], cash=1000)
transaction = portfolio.transaction_log[time[0]][0]
assert(transaction.cash == 1000)
assert(transaction.time == time[0])

# Adding multiple cash transactions at same time
portfolio.add_transaction(time[0], cash=1000)
assert(len(portfolio.transaction_log[time[0]]) == 2)

Ejemplo n.º 2
0
from transaction import Transaction, Currency, Money, Direction
from portfolio import Portfolio

if __name__ == '__main__':
    print(Currency.EUR.name)

    tr = Transaction(1588113697, 'FB', 14, Money(220.5, Currency.USD),
                     Direction.BUY)
    print(tr)

    p = Portfolio()
    p.add_transaction(tr)
    print(p)
Ejemplo n.º 3
0
assert (position.purchase_time == time[0])
assert (position.shares == 10)

# Remove position
portfolio.remove_position('AAA')
assert (len(portfolio.open_positions) == 0)

# Remove nonexistant position
try:
    portfolio.remove_position('BBB')
except KeyError:
    pass
'''Add multiple positions'''
portfolio.add_position(time[0], 'AAA', 100.00, 10)
portfolio.add_position(time[0], 'BBB', 20.00, 5)

assert (len(portfolio.open_positions) == 2)
'''Calculate investment total'''
assert (portfolio.calulate_investment_total(time[0]) == 1100)
''' Transactions '''

# Cash transaction
portfolio.add_transaction(time[0], cash=1000)
transaction = portfolio.transaction_log[time[0]][0]
assert (transaction.cash == 1000)
assert (transaction.time == time[0])

# Adding multiple cash transactions at same time
portfolio.add_transaction(time[0], cash=1000)
assert (len(portfolio.transaction_log[time[0]]) == 2)