diff --git a/zipline/algorithm.py b/zipline/algorithm.py index d8e20fbd..1e18bba2 100644 --- a/zipline/algorithm.py +++ b/zipline/algorithm.py @@ -881,3 +881,11 @@ class TradingAlgorithm(object): Set a rule specifying that this algorithm cannot take short positions. """ self.register_trading_control(LongOnly()) + + @classmethod + def all_api_methods(cls): + """ + Return a list of all the TradingAlgorithm API methods. + """ + return [fn for fn in cls.__dict__.itervalues() + if getattr(fn, 'is_api_method', False)] diff --git a/zipline/utils/api_support.py b/zipline/utils/api_support.py index 6c45c10d..37e7208e 100644 --- a/zipline/utils/api_support.py +++ b/zipline/utils/api_support.py @@ -61,5 +61,5 @@ def api_method(f): # Add functor to zipline.api setattr(zipline.api, f.__name__, wrapped) zipline.api.__all__.append(f.__name__) - + f.is_api_method = True return f