Quantopian's community platform is shutting down. Please read this post for more information and download your code.
Back to Community
How to refresh the portfolio right after buy or sell stock?

Hi,

Occasionally I find that after I boght or seld stock the portfolio's status doesn't change. Following is my code:
... log.info("Before buy: \n%s" %context.portfolio.positions)
order_target_percent(context.stock, 1)
log.info("After buy: \n%s" %context.portfolio.positions)
order_target_percent(context.stock, 0)
log.info("After sell: \n%s" %context.portfolio.positions)
...

After I ran this I got followings:
... 2016-01-05 my_rebalance:59 INFO Before buy:
{Equity(24, symbol=u'AAPL', asset_name=u'APPLE INC', exchange=u'NASDAQ GLOBAL SELECT MARKET', start_date=Timestamp('1993-01-04 00:00:00+0000', tz='UTC'), end_date=Timestamp('2016-05-11 00:00:00+0000', tz='UTC'), first_traded=None, auto_close_date=Timestamp('2016-05-16 00:00:00+0000', tz='UTC')): Position({'last_sale_date': Timestamp('2016-01-04 15:31:00+0000', tz='UTC'), 'amount': 48, 'last_sale_price': 104.20400000000001, 'cost_basis': 103.2608359698442, 'sid': Equity(24, symbol=u'AAPL', asset_name=u'APPLE INC', exchange=u'NASDAQ GLOBAL SELECT MARKET', start_date=Timestamp('1993-01-04 00:00:00+0000', tz='UTC'), end_date=Timestamp('2016-05-11 00:00:00+0000', tz='UTC'), first_traded=None, auto_close_date=Timestamp('2016-05-16 00:00:00+0000', tz='UTC'))})}

2016-01-05 my_rebalance:61 INFO After buy:
{Equity(24, symbol=u'AAPL', asset_name=u'APPLE INC', exchange=u'NASDAQ GLOBAL SELECT MARKET', start_date=Timestamp('1993-01-04 00:00:00+0000', tz='UTC'), end_date=Timestamp('2016-05-11 00:00:00+0000', tz='UTC'), first_traded=None, auto_close_date=Timestamp('2016-05-16 00:00:00+0000', tz='UTC')): Position({'last_sale_date': Timestamp('2016-01-04 15:31:00+0000', tz='UTC'), 'amount': 48, 'last_sale_price': 104.20400000000001, 'cost_basis': 103.2608359698442, 'sid': Equity(24, symbol=u'AAPL', asset_name=u'APPLE INC', exchange=u'NASDAQ GLOBAL SELECT MARKET', start_date=Timestamp('1993-01-04 00:00:00+0000', tz='UTC'), end_date=Timestamp('2016-05-11 00:00:00+0000', tz='UTC'), first_traded=None, auto_close_date=Timestamp('2016-05-16 00:00:00+0000', tz='UTC'))})}

2016-01-05 my_rebalance:63 INFO After sell:
{Equity(24, symbol=u'AAPL', asset_name=u'APPLE INC', exchange=u'NASDAQ GLOBAL SELECT MARKET', start_date=Timestamp('1993-01-04 00:00:00+0000', tz='UTC'), end_date=Timestamp('2016-05-11 00:00:00+0000', tz='UTC'), first_traded=None, auto_close_date=Timestamp('2016-05-16 00:00:00+0000', tz='UTC')): Position({'last_sale_date': Timestamp('2016-01-04 15:31:00+0000', tz='UTC'), 'amount': 48, 'last_sale_price': 104.20400000000001, 'cost_basis': 103.2608359698442, 'sid': Equity(24, symbol=u'AAPL', asset_name=u'APPLE INC', exchange=u'NASDAQ GLOBAL SELECT MARKET', start_date=Timestamp('1993-01-04 00:00:00+0000', tz='UTC'), end_date=Timestamp('2016-05-11 00:00:00+0000', tz='UTC'), first_traded=None, auto_close_date=Timestamp('2016-05-16 00:00:00+0000', tz='UTC'))})}

2016-01-06 my_rebalance:59 INFO Before buy:
{} 2016-01-06 my_rebalance:61 INFO After buy:
{} 2016-01-06 my_rebalance:63 INFO After sell:
{} End of logs.

One can see on the action day 2016-01-05 there is no any change in the portfolio. One day later the status of the portfolio is changed (no stock). Why?

See my attached algo.