'On each call to handle data by TradingAlgorithm, this method should be
called *exactly once* on each registered AccountControl object.
If the check does not violate this AccountControl\'s restraint given
the information in `portfolio` and `account`, this method should
return None and have no externally-visible side-effects.
If the desired order violates this AccountControl\'s contraint, this
method should call self.fail().'

@abc.abstractmethod
def validate(self, _portfolio, _account, _algo_datetime, _algo_current_data):

    raise NotImplementedError
