MAINT: added typed errors module

- added exceptions in place of asserts for expected fields for rolling
transforms.
- removed assertions with Messages in favor of typed exceptions.
This commit is contained in:
fawce
2013-03-19 11:39:23 -04:00
committed by Eddie Hebert
parent 9ad33ec941
commit 890762bde7
7 changed files with 130 additions and 61 deletions
+12 -7
View File
@@ -23,6 +23,12 @@ from datetime import datetime
from itertools import groupby
from operator import attrgetter
from zipline.errors import (
UnsupportedSlippageModel,
OverrideSlippagePostInit,
UnsupportedCommissionModel,
OverrideCommissionPostInit
)
from zipline.sources import DataFrameSource, DataPanelSource
from zipline.utils.factory import create_simulation_parameters
from zipline.transforms.utils import StatefulTransform
@@ -40,7 +46,6 @@ from zipline.gens.composites import (
alias_dt
)
from zipline.gens.tradesimulation import TradeSimulationClient as tsc
from zipline import MESSAGES
DEFAULT_CAPITAL_BASE = float("1.0e5")
@@ -319,18 +324,18 @@ class TradingAlgorithm(object):
self.trading_client.ordering_client.transact = transact
def set_slippage(self, slippage):
assert isinstance(slippage, (VolumeShareSlippage, FixedSlippage)), \
MESSAGES.ERRORS.UNSUPPORTED_SLIPPAGE_MODEL
if not isinstance(slippage, (VolumeShareSlippage, FixedSlippage)):
raise UnsupportedSlippageModel()
if self.initialized:
raise Exception(MESSAGES.ERRORS.OVERRIDE_SLIPPAGE_POST_INIT)
raise OverrideSlippagePostInit()
self.slippage = slippage
def set_commission(self, commission):
assert isinstance(commission, (PerShare, PerTrade)), \
MESSAGES.ERRORS.UNSUPPORTED_COMMISSION_MODEL
if not isinstance(commission, (PerShare, PerTrade)):
raise UnsupportedCommissionModel()
if self.initialized:
raise Exception(MESSAGES.ERRORS.OVERRIDE_COMMISSION_POST_INIT)
raise OverrideCommissionPostInit()
self.commission = commission
def set_sources(self, sources):