'Process how orders get filled.
Parameters
data : BarData
The data for the given bar.
order : Order
The order to simulate.
Returns
execution_price : float
The price to execute the trade at.
execution_volume : int
The number of shares that could be filled. This may not be all
the shares ordered in which case the order will be filled over
multiple bars.'

@abstractmethod
def process_order(self, data, order):

    pass
