mirror of
https://github.com/wassname/catalyst.git
synced 2026-07-25 13:10:33 +08:00
MAINT: Create SecurityListRestrictions that takes a SecurityList
The SecurityList implements a non-exposed method `current_securities(dt)` which SecurityListRestrictions calls to determine if an asset is restricted. Deprecate the `__iter__` and `__contains__` methods of security lists in favor of `current_securities(dt)`
This commit is contained in:
@@ -84,7 +84,8 @@ from zipline.finance.slippage import (
|
||||
from zipline.finance.cancel_policy import NeverCancel, CancelPolicy
|
||||
from zipline.finance.restrictions import (
|
||||
NoopRestrictions,
|
||||
StaticRestrictions
|
||||
StaticRestrictions,
|
||||
SecurityListRestrictions,
|
||||
)
|
||||
from zipline.assets import Asset, Future
|
||||
from zipline.gens.tradesimulation import AlgorithmSimulator
|
||||
@@ -2175,6 +2176,8 @@ class TradingAlgorithm(object):
|
||||
|
||||
if isinstance(restricted_list, (list, tuple, set)):
|
||||
restricted_list = StaticRestrictions(restricted_list)
|
||||
elif isinstance(restricted_list, SecurityList):
|
||||
restricted_list = SecurityListRestrictions(restricted_list)
|
||||
|
||||
control = RestrictedListOrder(on_error, restricted_list)
|
||||
self.register_trading_control(control)
|
||||
|
||||
Reference in New Issue
Block a user