diff --git a/tests/test_algorithm.py b/tests/test_algorithm.py index 77568abf..0f761fa8 100644 --- a/tests/test_algorithm.py +++ b/tests/test_algorithm.py @@ -20,8 +20,8 @@ import numpy as np from zipline.utils.test_utils import setup_logger import zipline.utils.factory as factory from zipline.test_algorithms import TestRegisterTransformAlgorithm -from zipline.gens.tradegens import SpecificEquityTrades, DataFrameSource -from zipline.gens.mavg import MovingAverage +from zipline.sources import SpecificEquityTrades, DataFrameSource +from zipline.transforms import MovingAverage class TestTransformAlgorithm(TestCase): diff --git a/tests/test_exception_handling.py b/tests/test_exception_handling.py index fefd2bfe..9df9e3ee 100644 --- a/tests/test_exception_handling.py +++ b/tests/test_exception_handling.py @@ -22,7 +22,7 @@ from zipline.test_algorithms import ( DivByZeroAlgorithm, ) from zipline.finance.slippage import FixedSlippage -from zipline.gens.transform import StatefulTransform +from zipline.transforms.utils import StatefulTransform from zipline.utils.test_utils import ( diff --git a/tests/test_sorting.py b/tests/test_sorting.py index 67bf0ff5..3903a7a5 100644 --- a/tests/test_sorting.py +++ b/tests/test_sorting.py @@ -29,7 +29,7 @@ from zipline.gens.sort import ( queue_is_done ) from zipline.gens.utils import alternate, done_message -from zipline.gens.tradegens import SpecificEquityTrades +from zipline.sources import SpecificEquityTrades from zipline.gens.composites import date_sorted_sources @@ -116,7 +116,7 @@ class DateSortTestCase(TestCase): def test_single_source(self): # Just using the built-in defaults. See - # zipline/gens/tradegens.py + # zipline.sources.py source = SpecificEquityTrades() expected = list(source) source.rewind() diff --git a/tests/test_sources.py b/tests/test_sources.py index c121f2e2..52a03a50 100644 --- a/tests/test_sources.py +++ b/tests/test_sources.py @@ -16,7 +16,7 @@ from unittest2 import TestCase import zipline.utils.factory as factory -from zipline.gens.tradegens import DataFrameSource +from zipline.sources import DataFrameSource class TestDataFrameSource(TestCase): diff --git a/tests/test_transforms.py b/tests/test_transforms.py index 85daa29c..e0997865 100644 --- a/tests/test_transforms.py +++ b/tests/test_transforms.py @@ -24,15 +24,14 @@ from zipline import ndict from zipline.utils.test_utils import setup_logger from zipline.utils.date_utils import utcnow -from zipline.gens.tradegens import SpecificEquityTrades -from zipline.gens.transform import StatefulTransform, EventWindow -from zipline.gens.vwap import VWAP -from zipline.gens.mavg import MovingAverage -from zipline.gens.stddev import MovingStandardDev -from zipline.gens.returns import Returns +from zipline.sources import SpecificEquityTrades +from zipline.transforms.utils import StatefulTransform, EventWindow +from zipline.transforms import MovingVWAP +from zipline.transforms import MovingAverage +from zipline.transforms import MovingStandardDev +from zipline.transforms import Returns import zipline.utils.factory as factory - from zipline.test_algorithms import BatchTransformAlgorithm @@ -175,7 +174,7 @@ class FinanceTransformsTestCase(TestCase): def test_vwap(self): - vwap = VWAP( + vwap = MovingVWAP( market_aware=False, delta=timedelta(days=2) ) diff --git a/zipline/algorithm.py b/zipline/algorithm.py index f6efeb0b..dd5cd2ad 100644 --- a/zipline/algorithm.py +++ b/zipline/algorithm.py @@ -16,9 +16,9 @@ import pandas as pd import numpy as np -from zipline.gens.tradegens import DataFrameSource +from zipline.sources import DataFrameSource from zipline.utils.factory import create_trading_environment -from zipline.gens.transform import StatefulTransform +from zipline.transforms.utils import StatefulTransform from zipline.finance.slippage import ( VolumeShareSlippage, FixedSlippage, diff --git a/zipline/optimize/example.py b/zipline/optimize/example.py index c3f8bb6c..d9f9f4cd 100644 --- a/zipline/optimize/example.py +++ b/zipline/optimize/example.py @@ -22,9 +22,9 @@ import pandas as pd import numpy as np import matplotlib.pyplot as plt -from zipline.gens.mavg import MovingAverage +from zipline.transforms import MovingAverage from zipline.algorithm import TradingAlgorithm -from zipline.gens.transform import batch_transform +from zipline.transforms import batch_transform class DMA(TradingAlgorithm): diff --git a/zipline/optimize/factory.py b/zipline/optimize/factory.py index 79a44b90..d7fb5b21 100644 --- a/zipline/optimize/factory.py +++ b/zipline/optimize/factory.py @@ -28,7 +28,7 @@ from zipline.utils.factory import ( get_next_trading_dt, create_trading_environment ) -from zipline.gens.tradegens import SpecificEquityTrades +from zipline.sources import SpecificEquityTrades from zipline.optimize.algorithms import BuySellAlgorithm from zipline.finance.slippage import FixedSlippage diff --git a/zipline/gens/tradegens.py b/zipline/sources.py similarity index 98% rename from zipline/gens/tradegens.py rename to zipline/sources.py index e0df17de..330d8dd9 100644 --- a/zipline/gens/tradegens.py +++ b/zipline/sources.py @@ -14,9 +14,11 @@ # limitations under the License. """ -Tools to generate trade events without a backing store. Useful for testing -and zipline development +Tools to generate data sources. """ + +__all__ = ['DataFrameSource', 'SpecificEquityTrades'] + import random import pytz diff --git a/zipline/test_algorithms.py b/zipline/test_algorithms.py index f855a2c5..fb711ff0 100644 --- a/zipline/test_algorithms.py +++ b/zipline/test_algorithms.py @@ -210,8 +210,8 @@ class TimeoutAlgorithm(TradingAlgorithm): from datetime import timedelta from zipline.algorithm import TradingAlgorithm -from zipline.gens.transform import BatchTransform, batch_transform -from zipline.gens.mavg import MovingAverage +from zipline.transforms import BatchTransform, batch_transform +from zipline.transforms import MovingAverage class TestRegisterTransformAlgorithm(TradingAlgorithm): diff --git a/zipline/transforms/__init__.py b/zipline/transforms/__init__.py new file mode 100644 index 00000000..f34cc5f2 --- /dev/null +++ b/zipline/transforms/__init__.py @@ -0,0 +1,28 @@ +# +# Copyright 2012 Quantopian, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from mavg import MovingAverage +from stddev import MovingStandardDev +from vwap import MovingVWAP +from returns import Returns +from utils import BatchTransform, batch_transform + +__all__ = ['MovingAverage', + 'MovingStandardDev', + 'MovingVWAP', + 'Returns', + 'BatchTransform', + 'batch_transform' +] diff --git a/zipline/gens/mavg.py b/zipline/transforms/mavg.py similarity index 98% rename from zipline/gens/mavg.py rename to zipline/transforms/mavg.py index b1e053ad..ffdf0a49 100644 --- a/zipline/gens/mavg.py +++ b/zipline/transforms/mavg.py @@ -17,7 +17,7 @@ from numbers import Number from collections import defaultdict from zipline import ndict -from zipline.gens.transform import EventWindow, TransformMeta +from zipline.transforms.utils import EventWindow, TransformMeta class MovingAverage(object): diff --git a/zipline/gens/returns.py b/zipline/transforms/returns.py similarity index 98% rename from zipline/gens/returns.py rename to zipline/transforms/returns.py index b1dce3fe..c086e878 100644 --- a/zipline/gens/returns.py +++ b/zipline/transforms/returns.py @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -from zipline.gens.transform import TransformMeta +from zipline.transforms.utils import TransformMeta from collections import defaultdict, deque diff --git a/zipline/gens/stddev.py b/zipline/transforms/stddev.py similarity index 98% rename from zipline/gens/stddev.py rename to zipline/transforms/stddev.py index 2eeb55b1..3b15f865 100644 --- a/zipline/gens/stddev.py +++ b/zipline/transforms/stddev.py @@ -17,7 +17,7 @@ from numbers import Number from collections import defaultdict from math import sqrt -from zipline.gens.transform import EventWindow, TransformMeta +from zipline.transforms.utils import EventWindow, TransformMeta class MovingStandardDev(object): diff --git a/zipline/gens/transform.py b/zipline/transforms/utils.py similarity index 99% rename from zipline/gens/transform.py rename to zipline/transforms/utils.py index b61528b1..9bc29288 100644 --- a/zipline/gens/transform.py +++ b/zipline/transforms/utils.py @@ -186,7 +186,7 @@ class EventWindow(object): based on the number of elapsed trading days between newest and oldest. Otherwise old events are dropped based on a raw timedelta. - See zipline/gens/mavg.py and zipline/gens/vwap.py for example + See zipline/transforms/mavg.py and zipline/transforms/vwap.py for example implementations of moving average and volume-weighted average price. """ diff --git a/zipline/gens/vwap.py b/zipline/transforms/vwap.py similarity index 97% rename from zipline/gens/vwap.py rename to zipline/transforms/vwap.py index bf8bad9e..a14f0811 100644 --- a/zipline/gens/vwap.py +++ b/zipline/transforms/vwap.py @@ -17,10 +17,10 @@ from numbers import Number from collections import defaultdict -from zipline.gens.transform import EventWindow, TransformMeta +from zipline.transforms.utils import EventWindow, TransformMeta -class VWAP(object): +class MovingVWAP(object): """ Class that maintains a dictionary from sids to VWAPEventWindows. """ diff --git a/zipline/utils/factory.py b/zipline/utils/factory.py index 4a17db7f..f2f4ed67 100644 --- a/zipline/utils/factory.py +++ b/zipline/utils/factory.py @@ -30,7 +30,7 @@ from datetime import datetime, timedelta import zipline.finance.risk as risk from zipline.utils.date_utils import tuple_to_date from zipline.utils.protocol_utils import ndict -from zipline.gens.tradegens import SpecificEquityTrades, DataFrameSource +from zipline.sources import SpecificEquityTrades, DataFrameSource from zipline.gens.utils import create_trade from zipline.finance.trading import TradingEnvironment