Commit Graph

86 Commits

Author SHA1 Message Date
Richard Frank 5bfa433cd1 BLD: bcolz 1.0.0 slowing us down 2016-04-12 19:33:22 -04:00
Richard Frank c9a7b936ed MAINT: Fix pip install -e . 2016-04-05 23:07:00 -04:00
Richard Frank 79f89c4779 MAINT: Moved filtering logic into _filter_requirements 2016-04-05 23:07:00 -04:00
Richard Frank 39fbdd30e3 MAINT: Use environment markers instead of separate requirements
file for py2
2016-04-05 23:07:00 -04:00
Eddie Hebert 16fd6681a6 ENH: Rewrite of Zipline to use lazy access pattern
More documentation to follow in release notes.

Based on lazy-mainline branch, see for more details.

Also-By: Jean Bredeche <jean@quantopian.com>
Also-By: Andrew Liang <aliang@quantopian.com>
Also-By: Abhijeet Kalyan <akalyan@quantopian.com>
2016-04-04 16:12:58 -04:00
Richard Frank 42c1ef86b5 DEV: Move TA-Lib reqs to own file 2016-03-23 15:26:55 -04:00
Richard Frank bb70d16b92 BLD: Fixed detection of windows conda build
and fixed error during string formatting
2016-02-26 12:04:53 -05:00
Joe Jevnik 60d06ddf43 MAINT: remove binstar stuff and cleanup setup.py 2016-02-23 14:02:57 -05:00
Richard Frank 64b4334e5a BLD: Use build_requires with conda build 2016-02-19 15:36:57 -05:00
Joe Jevnik 1c7f40532d BLD: conda format for numpy 2016-02-18 21:10:13 -05:00
Richard Frank 13b909ccc9 ENH: Added build_requires instead of requiring all for conda 2016-02-18 21:10:12 -05:00
Joe Jevnik 9a253d52b2 BLD: use numpy get_include 2016-02-11 18:46:42 -05:00
Scott Sanderson 5a7bad4005 MAINT: Different workaround for old-style class. 2016-02-11 18:46:41 -05:00
Scott Sanderson 5f49fa22cb MAINT: Upgrade numpy and fix warnings.
Mostly fixes ambiguous calls to numpy.full, and uses explicitly-united
NaT values.
2016-02-11 18:46:39 -05:00
Joe Jevnik ab573731d9 BLD: make the travis build closer to a normal install 2016-01-20 18:14:07 -05:00
Richard Frank 6b4287c390 BLD: Cap numpy at 1.9 and don't use exact version with other conda reqs 2016-01-05 21:10:38 -05:00
Richard Frank 6d83b06133 MAINT: De-dupe regex usage 2015-12-31 14:22:25 -05:00
Richard Frank 9896c3cdb6 BLD: Build zipline conda package from source 2015-12-31 12:47:43 -05:00
Eddie Hebert 93c9f01b5a STY: Align all build_ext definitions the same way.
No functional change.
2015-12-18 10:37:27 -05:00
Scott Sanderson 8220d1ee86 ENH: Adds support for different typed adjusted arrays and adds an
EarningsCalendar loader.

- Moves most of AdjustedArray back into Python. The window iterator is
  the only part that's performance-intensive.

- Adds a bootleg templating system for creating specialized versions of
  AdjustedArrayWindow for each concrete type we care about.

- Adds support for differently dtyped terms in pipeline. This allows us
  to use datetime64s which are needed in the EarningsCalendar.

- Adds EarningsCalendar dataset for the next and previous earnings
  announcements in pipeline.

- Adds in memory loader for EarningsCalendar.

- Adds blaze loader for EarningsCalendar.
2015-12-08 20:24:06 -05:00
llllllllll bd0da175ad BLD: Adds versioneer
versioneer let's us track the version using git tags. This prevents
issues like the 0.8.2->0.8.3 push. This also puts the number of commits
from the release and the commit you are on in the version.
2015-11-11 18:47:51 -05:00
Richard Frank 7859664226 BLD: Use strict bounds install for travis
with explicit requirements files

Need to build extension modules explicitly now that we're not
installing zipline

Adds support for upper bounds, since we thought newer bcolz didn't
work.  It just needed newer setuptools.
2015-11-10 17:55:43 -05:00
Richard Frank be8cf93a36 BLD: Use strict bounds with requirements_dev 2015-11-10 17:50:29 -05:00
Richard Frank cf3beb25a7 BLD: Don't pin install requirements to exact versions
Instead, use those versions as lower bounds, so zipline
will work with packages that require other versions.
2015-11-10 17:50:28 -05:00
llllllllll f7f5f538a5 REL 0.8.3
We messed up the sdist a couple times.
2015-11-06 19:41:49 -05:00
llllllllll ebc87d1504 BLD: fix sdist 2015-11-06 18:54:34 -05:00
llllllllll 89d2ce2983 BLD: Adds etc/requirements_*.txt to the sdist 2015-11-06 16:33:27 -05:00
llllllllll 1955146184 REL: 0.8.0 2015-11-06 15:10:34 -05:00
llllllllll 898fbad6ac BLD: Can't use setup.py with git reqs unless you want to do a lot of work 2015-10-19 16:35:02 -04:00
llllllllll e3bf786bd5 BLD: blaze it up 2015-10-19 16:35:02 -04:00
Eddie Hebert e33f6dcdcd MAINT: Move equity data formats out of loader.
Put the logic for reading and writing the equity price and adjustment
data into a module located in data, making it distinct from the pipeline
loader usage of the formats.

This prepares for both incoming changes of how adjustments are written,
(which includes using the bcolz daily reader as an input), as well as
eventually providing the readers to a DataPortal object.
2015-10-09 17:20:19 -04:00
Scott Sanderson f82a01841b MAINT: Rename ALL the things.
zipline.modelling.* -> zipline.pipeline.*
zipline.data.ffc.loaders -> zipline.pipeline.loaders
tests/modelling -> tests/pipeline
2015-10-01 18:03:53 -04:00
Scott Sanderson 26fd6fda8b ENH/BUG: Modeling API enhancements.
- Fixes an error where Modeling API data known as of the close of `day
  N` would be shown to algorithms during `before_trading_start` as of
  the close of the same day.  Algorithms should now only receive data
  during `before_trading_start/handle_data` that was known as of the
  simulation time at which the function would be called.

- All Term instances now have a `mask` attribute that must be a `Filter`
  or an instance of `AssetExists()`.  `mask` can be used to specify that
  a Factor should be computed in a manner that ignores the values that
  were not `True` in the mask.

- Changed the interface for `FFCLoader.load_adjusted_array` and
  `Term._compute` from `(columns, mask)`, with mask as a DataFrame, to
  `(columns, dates, assets, mask)`, where mask is a numpy array.  This
  is primarily to avoid having to reconstruct extra DataFrames when
  using masks produced by non `AssetExists` filters.

- Adds `BoundColumn.latest`, which gives the most-recently-known value
  of a column.
2015-09-16 01:47:11 -04:00
Scott Sanderson 6e8a4b8144 ENH: Improvements to rank().
- Add an `ascending=True` keyword to `rank()`.

- Add `top(N)` and `bottom(N)` methods to Factor.  These return Filters
  that pass the top and bottom N elements each day.

- Add a slightly faster path for rank(method='ordinal').  I had
  originally thought the fast path was 2-3x faster because I had my
  benchmark data axes flipped.  The actual speedup is only 5-10%, which
  means it probably wasn't worth the effort to Cythonize...but we have a
  slightly faster version now so we might as well use it.

- Refactor test_filter and test_factor to make it easier to implement
  and test transformations on factors.  These tests now subclass
  BaseFFCTestCase, which provides facilities for passing a dict of terms
  and an "initial_workspace", the values for which are used by
  SimpleFFCEngine rather than needing to manually manage the inputs and
  outputs of each term.
2015-08-31 00:32:33 -04:00
Jonathan Kamens ee47ec1d3d BLD: Package all zipline.* modules when building eggs.
Rather than specifying only the package "zipline" in setup.py, use
`find_packages` to find all the subpackages as well, so they (or, most
specifically, their `__init__.py` files) are properly packaged in the
egg file.
2015-08-19 10:38:11 -04:00
Jonathan Kamens f2d5f42a6b BLD: Lazy-load Cython and numpy when installing package.
Modify setup.py to defer the use of Cython and numpy until
`setup_requires` has already been processed, so that Cython and numpy
are available when they are needed.
2015-08-19 10:37:25 -04:00
Scott Sanderson a801547122 BLD: Read requirements from setup.py
- Parse our requirements.txt to keep install_requires up to date.
- Create extras builds for talib and dev.
- Use pip install -e .[dev] on Travis to install Zipline before testing.
2015-08-19 03:31:29 -04:00
Scott Sanderson e91b1c56b2 MAINT: Remove unused import. 2015-08-04 01:40:16 -04:00
Scott Sanderson ef4f642e62 ENH: Compute engine architecture for FFC API.
This patch lays the groundwork for a compute engine designed to
facilitate construction of factor-based universe screening and portfolio
allocation.  It contains:

A new module, `zipline.modelling`, containing entities that can be used
to express computations as dependency graphs.  Each node in such a graph
is an instance of the base `Term` class, defined in
`zipline.modelling.term`.  Dependency graphs are executed by instances
of `FFCEngine`, defined in `zipline.modelling.engine`.

A new module, `zipline.data.ffc`, containing loaders and dataset
definitions for inputs to the modelling API.

New `TradingAlgorithm` api methods: `add_factor`, and `add_filter`.
These methods can only be called from `initialize`, and are used to
inform the algorithm that each day it should compute the given terms.
Computed factor results are made available through a new attribute of
the `data` object in `before_trading_start` and `handle_data`.  Computed
filter results control which assets are available in the factor matrix
on each day.
2015-07-29 12:30:46 -04:00
Scott Sanderson 6b72b60cde MAINT: Don't install non-zipline packages.
In particular, don't give anyone who installs zipline a global package
named 'tests'.  (sob)
2015-07-29 12:30:46 -04:00
Jonathan Kamens 3a62db8ca8 BLD: Don't hard-code a Cython version in setup.py 2015-03-19 17:21:25 -04:00
jfkirk 2fd2f02c2a MAINT: Refactors Security to Asset
This commit refactors the Security cython class to Asset, and refactors some fields of the class accordingly. This change is so the terminology is consistent and correct when Asset is extended to asset types that are not securities, such as futures.
2015-03-19 13:23:40 -04:00
jfkirk 0375b350b8 ENH: Adds Security cython class in new package 'zipline.assets'
The class is not yet used. Adding this class is part of the effort to allow Zipline
simulation of more types of assets than stocks.

DEV: Adds build_ext to .travis.yml
2015-03-04 14:19:29 -05:00
Thomas Wiecki 556c5a8207 BLD Fix setup.py and add link to homepage. 2015-02-17 13:50:33 +01:00
Thomas Wiecki 21c23c324d Bump version: 0.8.0 → 0.8.0rc1 2015-02-13 17:53:02 +01:00
Thomas Wiecki 1a51ff1ee9 BLD Remove setup.py rst conversion. Add README.md as pypi description. 2015-02-13 13:36:42 +01:00
fawce 2f7983fa35 adding data files to the egg for pip distribution. 2015-02-05 13:57:40 -05:00
Thomas Wiecki 3f1c3b39ad MAINT: Make talib an optional dependency. Fixes #362. 2014-08-04 13:25:46 +02:00
Thomas Wiecki a7de02176b Bump version: 0.7.0rc1 → 0.7.0 2014-07-25 19:34:49 +02:00
Thomas Wiecki 8d16efc5c4 Bump version: 0.7.0 → 0.7.0rc1 2014-07-18 15:38:30 +02:00