Hello Adam,
'context.portfolio.cash' represents cash at hand plus cash credited from short positions.
Profit would be something like positions value + cash - starting cash.
Have a play with this code:
def initialize(context):
context.first = True
def handle_data(context, data):
if context.first:
order(sid(24), 1)
context.first = False
if context.portfolio.positions[sid(24)].amount != 0:
print context.portfolio.starting_cash
print context.portfolio.cash
print context.portfolio.positions_value
print context.portfolio.pnl
print context.portfolio.positions[sid(24)].cost_basis
print context.portfolio.starting_cash - \
(context.portfolio.positions[sid(24)].cost_basis * context.portfolio.positions[sid(24)].amount)
print context.portfolio.positions_value - \
(context.portfolio.positions[sid(24)].cost_basis * context.portfolio.positions[sid(24)].amount)
print context.portfolio.positions_value + context.portfolio.cash - context.portfolio.starting_cash
and try to work out some relationships.
P.