Merge pull request #3 from quantopian/upgrade-flake8

Updates flake8 to latest.
This commit is contained in:
Eddie Hebert
2012-10-22 09:05:07 -07:00
21 changed files with 310 additions and 101 deletions
+1 -1
View File
@@ -7,6 +7,6 @@ install:
- cat etc/requirements_dev.txt | grep -v "^#" | grep -v "^$" | grep -v ipython | grep -v nose | xargs pip install
- etc/ordered_pip.sh etc/requirements.txt
before_script:
- "flake8 zipline tests"
- "flake8 --ignore=E124,E125,E126 zipline tests"
script:
- nosetests
+1 -1
View File
@@ -58,7 +58,7 @@ To ensure that changes and patches are focused on behavior changes, the zipline
The maintainers check the code using the flake8 script, <https://github.com/jcrocholl/pep8/>, which is included in the requirements_dev.txt.
Before submitting patches or pull requests, please ensure that your changes pass ```flake8 zipline tests```
Before submitting patches or pull requests, please ensure that your changes pass ```flake8 --ignore=E124,E125,E126 zipline tests```
Discussion and Help
===================
+1 -1
View File
@@ -9,4 +9,4 @@ requests==0.14.1
# Linting
flake8==1.4
flake8==1.5
+2 -3
View File
@@ -55,8 +55,7 @@ class SlippageTestCase(TestCase):
{'dt': datetime.datetime(2006, 1, 5, 14, 30, tzinfo=pytz.utc),
'amount': 100,
'filled': 0, 'sid': 133})
]
}
]}
txn = slippage_model.simulate(
event,
@@ -69,7 +68,7 @@ class SlippageTestCase(TestCase):
2006, 1, 5, 14, 31, tzinfo=pytz.utc),
'amount': int(50),
'sid': int(133)
}
}
self.assertIsNotNone(txn)
+7 -7
View File
@@ -83,10 +83,10 @@ class ExceptionTestCase(TestCase):
# Simulation
# ----------
self.zipline_test_config['algorithm'] = \
ExceptionAlgorithm(
'handle_data',
self.zipline_test_config['sid']
)
ExceptionAlgorithm(
'handle_data',
self.zipline_test_config['sid']
)
zipline = simfactory.create_test_zipline(
**self.zipline_test_config
@@ -103,9 +103,9 @@ class ExceptionTestCase(TestCase):
# Simulation
# ----------
self.zipline_test_config['algorithm'] = \
DivByZeroAlgorithm(
self.zipline_test_config['sid']
)
DivByZeroAlgorithm(
self.zipline_test_config['sid']
)
zipline = simfactory.create_test_zipline(
**self.zipline_test_config
+2 -3
View File
@@ -72,7 +72,7 @@ class FinanceTestCase(TestCase):
@timed(DEFAULT_TIMEOUT)
def test_trading_environment(self):
benchmark_returns, treasury_curves = \
factory.load_market_data()
factory.load_market_data()
env = TradingEnvironment(
benchmark_returns,
@@ -270,8 +270,7 @@ class FinanceTestCase(TestCase):
order_date = start_date
for i in xrange(order_count):
order = ndict(
{
order = ndict({
'sid': sid,
'amount': order_amount * alternator ** i,
'dt': order_date
+3 -5
View File
@@ -30,7 +30,7 @@ class PerformanceTestCase(unittest.TestCase):
def setUp(self):
self.benchmark_returns, self.treasury_curves = \
factory.load_market_data()
factory.load_market_data()
for n in range(100):
@@ -127,8 +127,7 @@ check treasury and benchmark data in findb, and re-run the test."""
"last sale should be same as last trade. \
expected {exp} actual {act}".format(
exp=trades[-1]['price'],
act=pp.positions[1].last_sale_price
)
act=pp.positions[1].last_sale_price)
)
self.assertEqual(
@@ -446,8 +445,7 @@ shares in position"
pp.positions[1].last_sale_price,
trades[-1].price,
"should have a last sale of 12, got {val}".format(
val=pp.positions[1].last_sale_price
)
val=pp.positions[1].last_sale_price)
)
self.assertEqual(
+254 -40
View File
@@ -38,7 +38,7 @@ class Risk(unittest.TestCase):
year=2006, month=12, day=31, tzinfo=pytz.utc)
self.benchmark_returns, self.treasury_curves = \
factory.load_market_data()
factory.load_market_data()
self.trading_env = TradingEnvironment(
self.benchmark_returns,
@@ -768,46 +768,260 @@ class Risk(unittest.TestCase):
period_length=period_length,
start_date=start_date,
end=col[-1].end_date,
actual=len(col)
))
actual=len(col))
)
self.assert_month(start_date.month, col[-1].end_date.month)
self.assert_last_day(col[-1].end_date)
RETURNS = [
0.0093, -0.0193, 0.0351, 0.0396, 0.0338, -0.0211, 0.0389,
0.0326, -0.0137, -0.0411, -0.0032, 0.0149, 0.0133, 0.0348,
0.042, -0.0455, 0.0262, -0.0461, 0.0021, -0.0273, -0.0429,
0.0427, -0.0104, 0.0346, -0.0311, 0.0003, 0.0211, 0.0248,
-0.0215, 0.004, 0.0267, 0.0029, -0.0369, 0.0057, 0.0298,
-0.0179, -0.0361, -0.0401, -0.0123, -0.005, 0.0203, -0.041,
0.0011, 0.0118, 0.0103, -0.0184, -0.0437, 0.0411, -0.0242,
-0.0054, -0.0039, -0.0273, -0.0075, 0.0064, -0.0376, 0.0424,
0.0399, 0.019, 0.0236, -0.0284, -0.0341, 0.0266, 0.05,
0.0069, -0.0442, -0.016, 0.0173, 0.0348, -0.0404, -0.0068,
-0.0376, 0.0356, 0.0043, -0.0481, -0.0134, 0.0257, 0.0442,
0.0234, 0.0394, 0.0376, -0.0147, -0.0098, 0.0474, -0.0102,
0.0138, 0.0286, 0.0347, 0.0279, -0.0067, 0.0462, -0.0432,
0.0247, 0.0174, -0.0305, -0.0317, -0.0068, 0.0264, -0.0257,
-0.0328, 0.0092, 0.0288, -0.002, 0.0288, 0.028, -0.0093,
0.0178, -0.0365, -0.0086, -0.0133, -0.0309, 0.0473, -0.0149,
0.0378, -0.0316, -0.0292, -0.0453, -0.0451, 0.0093, 0.0397,
-0.0361, -0.0168, -0.0494, -0.0143, -0.0405, -0.0349, 0.0069,
0.0378, -0.0233, -0.0492, 0.018, -0.0386, 0.0339, 0.0119,
0.0454, 0.0118, -0.011, -0.0254, 0.0266, -0.0366, -0.0211,
0.0399, 0.0307, 0.035, -0.0402, 0.0304, -0.0031, 0.0256,
0.0134, -0.0019, -0.0235, -0.0058, -0.0117, 0.0051, -0.0451,
-0.0466, -0.0124, 0.0283, -0.0499, 0.0318, -0.0028, 0.0203,
0.005, 0.0085, 0.0048, 0.0277, 0.0159, -0.0149, 0.035,
0.0404, -0.01, 0.0377, 0.0302, 0.0046, -0.0328, -0.0469,
0.0071, -0.0382, -0.0214, 0.0429, 0.0145, -0.0279, -0.0172,
0.0423, 0.041, -0.0183, 0.0137, -0.0412, -0.0348, 0.0302,
0.0248, 0.0051, -0.0298, -0.0103, -0.0333, -0.0399, 0.0485,
-0.0166, 0.0384, 0.0259, -0.0163, 0.0357, 0.0308, -0.0386,
0.0481, -0.0446, -0.0282, -0.0037, 0.0202, 0.0216, 0.0113,
0.0194, 0.0392, 0.0016, 0.0268, -0.0155, -0.027, 0.02,
0.0216, -0.0009, 0.022, 0., 0.041, 0.0133, -0.0382,
0.0495, -0.0221, -0.0329, -0.0033, -0.0089, -0.0129, -0.0252,
0.048, -0.0307, -0.0357, 0.0033, -0.0412, -0.0407, 0.0455,
0.0159, -0.0051, -0.0274, -0.0213, 0.0361, 0.0051, -0.0378,
0.0084, 0.0066, -0.0103, -0.0037, 0.0478, -0.0278
]
0.0093,
-0.0193,
0.0351,
0.0396,
0.0338,
-0.0211,
0.0389,
0.0326,
-0.0137,
-0.0411,
-0.0032,
0.0149,
0.0133,
0.0348,
0.042,
-0.0455,
0.0262,
-0.0461,
0.0021,
-0.0273,
-0.0429,
0.0427,
-0.0104,
0.0346,
-0.0311,
0.0003,
0.0211,
0.0248,
-0.0215,
0.004,
0.0267,
0.0029,
-0.0369,
0.0057,
0.0298,
-0.0179,
-0.0361,
-0.0401,
-0.0123,
-0.005,
0.0203,
-0.041,
0.0011,
0.0118,
0.0103,
-0.0184,
-0.0437,
0.0411,
-0.0242,
-0.0054,
-0.0039,
-0.0273,
-0.0075,
0.0064,
-0.0376,
0.0424,
0.0399,
0.019,
0.0236,
-0.0284,
-0.0341,
0.0266,
0.05,
0.0069,
-0.0442,
-0.016,
0.0173,
0.0348,
-0.0404,
-0.0068,
-0.0376,
0.0356,
0.0043,
-0.0481,
-0.0134,
0.0257,
0.0442,
0.0234,
0.0394,
0.0376,
-0.0147,
-0.0098,
0.0474,
-0.0102,
0.0138,
0.0286,
0.0347,
0.0279,
-0.0067,
0.0462,
-0.0432,
0.0247,
0.0174,
-0.0305,
-0.0317,
-0.0068,
0.0264,
-0.0257,
-0.0328,
0.0092,
0.0288,
-0.002,
0.0288,
0.028,
-0.0093,
0.0178,
-0.0365,
-0.0086,
-0.0133,
-0.0309,
0.0473,
-0.0149,
0.0378,
-0.0316,
-0.0292,
-0.0453,
-0.0451,
0.0093,
0.0397,
-0.0361,
-0.0168,
-0.0494,
-0.0143,
-0.0405,
-0.0349,
0.0069,
0.0378,
-0.0233,
-0.0492,
0.018,
-0.0386,
0.0339,
0.0119,
0.0454,
0.0118,
-0.011,
-0.0254,
0.0266,
-0.0366,
-0.0211,
0.0399,
0.0307,
0.035,
-0.0402,
0.0304,
-0.0031,
0.0256,
0.0134,
-0.0019,
-0.0235,
-0.0058,
-0.0117,
0.0051,
-0.0451,
-0.0466,
-0.0124,
0.0283,
-0.0499,
0.0318,
-0.0028,
0.0203,
0.005,
0.0085,
0.0048,
0.0277,
0.0159,
-0.0149,
0.035,
0.0404,
-0.01,
0.0377,
0.0302,
0.0046,
-0.0328,
-0.0469,
0.0071,
-0.0382,
-0.0214,
0.0429,
0.0145,
-0.0279,
-0.0172,
0.0423,
0.041,
-0.0183,
0.0137,
-0.0412,
-0.0348,
0.0302,
0.0248,
0.0051,
-0.0298,
-0.0103,
-0.0333,
-0.0399,
0.0485,
-0.0166,
0.0384,
0.0259,
-0.0163,
0.0357,
0.0308,
-0.0386,
0.0481,
-0.0446,
-0.0282,
-0.0037,
0.0202,
0.0216,
0.0113,
0.0194,
0.0392,
0.0016,
0.0268,
-0.0155,
-0.027,
0.02,
0.0216,
-0.0009,
0.022,
0.0,
0.041,
0.0133,
-0.0382,
0.0495,
-0.0221,
-0.0329,
-0.0033,
-0.0089,
-0.0129,
-0.0252,
0.048,
-0.0307,
-0.0357,
0.0033,
-0.0412,
-0.0407,
0.0455,
0.0159,
-0.0051,
-0.0274,
-0.0213,
0.0361,
0.0051,
-0.0378,
0.0084,
0.0066,
-0.0103,
-0.0037,
0.0478,
-0.0278]
+3 -3
View File
@@ -44,7 +44,7 @@ class RiskCompareIterativeToBatch(unittest.TestCase):
self.end_date = datetime.datetime(
year=2006, month=12, day=31, tzinfo=pytz.utc)
self.benchmark_returns, self.treasury_curves = \
factory.load_market_data()
factory.load_market_data()
self.trading_env = TradingEnvironment(
self.benchmark_returns,
@@ -115,8 +115,8 @@ class RiskCompareIterativeToBatch(unittest.TestCase):
self.assertEqual(set(risk_original_dict.keys()),
set(risk_refactor_dict.keys()))
err_msg_format = \
"In update step {iter}: {measure} should be {truth} but is {returned}!"
err_msg_format = """\
"In update step {iter}: {measure} should be {truth} but is {returned}!"""
for measure in risk_original_dict.iterkeys():
if measure == 'max_drawdown':
+1 -1
View File
@@ -35,4 +35,4 @@ class TestDataFrameSource(TestCase):
_, df = factory.create_test_df_source()
source = DataFrameSource(df, sids=[0])
assert 1 not in [event.sid for event in source], \
"DataFrameSource should only stream selected sid 0, not sid 1."
"DataFrameSource should only stream selected sid 0, not sid 1."
+1 -1
View File
@@ -294,7 +294,7 @@ class FinanceTransformsTestCase(TestCase):
np.std([10.0, 15.0], ddof=1),
np.std([10.0, 15.0, 13.0], ddof=1),
np.std([15.0, 13.0, 12.0], ddof=1),
]
]
# np has odd rounding behavior, cf.
# http://docs.scipy.org/doc/np/reference/generated/np.std.html
+10 -11
View File
@@ -10,29 +10,28 @@ ERRORS = ndict({
# with a slipage object that isn't a VolumeShareSlippage or
# FixedSlipapge
'UNSUPPORTED_SLIPPAGE_MODEL':
"You attempted to override slippage with an unsupported class. \
Please use VolumeShareSlippage or FixedSlippage.",
"You attempted to override slippage with an unsupported class. \
Please use VolumeShareSlippage or FixedSlippage.",
# Raised if a users script calls override_slippage magic
# after the initialize method has returned.
'OVERRIDE_SLIPPAGE_POST_INIT':
"You attempted to override slippage after the simulation has \
started. You may only call override_slippage in your initialize \
method.",
"You attempted to override slippage after the simulation has \
started. You may only call override_slippage in your initialize \
method.",
# Raised if a user script calls the override_commission magic
# with a commission object that isn't a PerShare or
# PerTrade commission
'UNSUPPORTED_COMMISSION_MODEL':
"You attempted to override commission with an unsupported class. \
Please use PerShare or PerTrade.",
"You attempted to override commission with an unsupported class. \
Please use PerShare or PerTrade.",
# Raised if a users script calls override_commission magic
# after the initialize method has returned.
'OVERRIDE_COMMISSION_POST_INIT':
"You attempted to override commission after the simulation has \
started. You may only call override_commission in your initialize \
method.",
"You attempted to override commission after the simulation has \
started. You may only call override_commission in your initialize \
method.",
})
+4 -4
View File
@@ -134,8 +134,8 @@ class TradingAlgorithm(object):
"""
if isinstance(source, (list, tuple)):
assert start is not None and end is not None, \
"""When providing a list of sources, \
start and end date have to be specified."""
"""When providing a list of sources, \
start and end date have to be specified."""
elif isinstance(source, pd.DataFrame):
assert isinstance(source.index, pd.tseries.index.DatetimeIndex)
# if DataFrame provided, wrap in DataFrameSource
@@ -234,14 +234,14 @@ start and end date have to be specified."""
def set_slippage(self, slippage):
assert isinstance(slippage, (VolumeShareSlippage, FixedSlippage)), \
MESSAGES.ERRORS.UNSUPPORTED_SLIPPAGE_MODEL
MESSAGES.ERRORS.UNSUPPORTED_SLIPPAGE_MODEL
if self.initialized:
raise Exception(MESSAGES.ERRORS.OVERRIDE_SLIPPAGE_POST_INIT)
self.slippage = slippage
def set_commission(self, commission):
assert isinstance(commission, (PerShare, PerTrade)), \
MESSAGES.ERRORS.UNSUPPORTED_COMMISSION_MODEL
MESSAGES.ERRORS.UNSUPPORTED_COMMISSION_MODEL
if self.initialized:
raise Exception(MESSAGES.ERRORS.OVERRIDE_COMMISSION_POST_INIT)
+1 -1
View File
@@ -101,7 +101,7 @@ def get_benchmark_returns():
for data_point in get_benchmark_data():
returns = (data_point['close'] - data_point['open']) / \
data_point['open']
data_point['open']
daily_return = DailyReturn(date=data_point['date'], returns=returns)
benchmark_returns.append(daily_return)
+3 -3
View File
@@ -38,7 +38,7 @@ def dump_treasury_curves():
for curve in get_treasury_data():
print curve
date_as_tuple = curve['date'].timetuple()[0:6] + \
(curve['date'].microsecond,)
(curve['date'].microsecond,)
# Not ideal but massaging data into expected format
del curve['date']
tr = (date_as_tuple, curve)
@@ -57,13 +57,13 @@ def dump_benchmarks():
Puts source treasury and data into zipline.
"""
benchmark_path = os.path.join(os.path.dirname(__file__),
"benchmark.msgpack")
"benchmark.msgpack")
benchmark_fp = open(benchmark_path, "wb")
benchmark_data = []
for daily_return in get_benchmark_returns():
print daily_return
date_as_tuple = daily_return.date.timetuple()[0:6] + \
(daily_return.date.microsecond,)
(daily_return.date.microsecond,)
# Not ideal but massaging data into expected format
benchmark = (date_as_tuple, daily_return.returns)
benchmark_data.append(benchmark)
+1 -1
View File
@@ -127,7 +127,7 @@ def _row_cb(mapping, row):
target: apply_mapping(mapping, row)
for target, mapping
in mapping.iteritems()
}
}
def make_row_cb(mapping):
+6 -6
View File
@@ -132,10 +132,10 @@ class RiskMetricsBase(object):
self.treasury_period_return = self.choose_treasury()
self.sharpe = self.calculate_sharpe()
self.beta, self.algorithm_covariance, self.benchmark_variance, \
self.condition_number, self.eigen_values = self.calculate_beta()
self.condition_number, self.eigen_values = self.calculate_beta()
self.alpha = self.calculate_alpha()
self.excess_return = self.algorithm_period_returns - \
self.treasury_period_return
self.treasury_period_return
self.max_drawdown = self.calculate_max_drawdown()
def to_dict(self):
@@ -203,8 +203,8 @@ class RiskMetricsBase(object):
returns = [
x.returns for x in daily_returns
if x.date >= self.start_date and
x.date <= self.end_date and
self.trading_environment.is_trading_day(x.date)
x.date <= self.end_date and
self.trading_environment.is_trading_day(x.date)
]
period_returns = 1.0
@@ -226,7 +226,7 @@ class RiskMetricsBase(object):
return 0.0
return ((self.algorithm_period_returns - self.treasury_period_return) /
self.algorithm_volatility)
self.algorithm_volatility)
def calculate_beta(self):
"""
@@ -564,7 +564,7 @@ class RiskReport(object):
self,
algorithm_returns,
trading_environment,
):
):
"""
algorithm_returns needs to be a list of daily_return objects
sorted in date ascending order
+1 -1
View File
@@ -101,7 +101,7 @@ class VolumeShareSlippage(object):
self.volume_limit)
simulated_amount = int(volume_share * event.volume * direction)
simulated_impact = (volume_share) ** 2 \
* self.price_impact * direction * event.price
* self.price_impact * direction * event.price
order.filled += (simulated_amount - total_order)
total_order = simulated_amount
+5 -5
View File
@@ -168,11 +168,11 @@ class SpecificEquityTrades(object):
# in this context the count is the number of
# trades per sid, not the total.
dates = date_gen(
count=self.count,
start=self.start,
delta=self.delta,
repeats=len(self.sids),
)
count=self.count,
start=self.start,
delta=self.delta,
repeats=len(self.sids),
)
else:
dates = date_gen(
count=self.count,
+1 -1
View File
@@ -110,6 +110,6 @@ class MovingStandardDevWindow(EventWindow):
else:
average = self.sum / len(self)
s_squared = (self.sum_sqr - self.sum * average) \
/ (len(self) - 1)
/ (len(self) - 1)
stddev = sqrt(s_squared)
return stddev
+2 -2
View File
@@ -72,9 +72,9 @@ class StatefulTransform(object):
"""
def __init__(self, tnfm_class, *args, **kwargs):
assert isinstance(tnfm_class, (types.ObjectType, types.ClassType)), \
"Stateful transform requires a class."
"Stateful transform requires a class."
assert hasattr(tnfm_class, 'update'), \
"Stateful transform requires the class to have an update method"
"Stateful transform requires the class to have an update method"
# Flag set inside the Passthrough transform class to signify special
# behavior if we are being fed to merged_transforms.