Commit graph

113 commits

Author SHA1 Message Date
Richard Frank
70a92ac961 MAINT: Don't need contextlib2 in our py3 envs 2020-08-17 17:14:14 -04:00
Richard Frank
54698f9c7a DOC: Updated http links to https 2020-08-17 10:17:46 -04:00
Joe Jevnik
84ea0772bd REL: add the readme back as the project long_description 2020-07-22 21:44:23 -04:00
Richard Frank
0dc7d39f57 DEV: Added pre-commit to dev reqs
Required setup.py handling a requirements without a spec
2020-02-11 11:05:22 -05:00
Richard Frank
bc4272d369 DEV: Use a pip-compiled lockfile for install constraints
Removed cyordereddict recipe that we no longer depend on

Removed strict bounds rewriting in setup.py. Now setup.py
reads from requirements.in, which is not strict in its bounds

Need to update case for pip-compile's output

Filter out comments from lockfile, now that we have "via"
2020-02-11 11:05:22 -05:00
Miguel Sánchez de León Peque
f39a943b2c BLD: Add Python 3.6 to CI/CD 2020-02-04 10:55:36 -05:00
Frederick Wagner
9fbbc29870 MAINT: Use raw strings for regexes 2019-01-14 14:02:27 -05:00
Miguel Sánchez de León Peque
755f519f9f BLD: Add Pandas 0.19.2 to build matrix 2018-07-10 09:26:05 -04:00
vikram-narayan
d4ba48709d MAINT: use trading_calendars in zipline
- remove zipline.utils.calendars
- update imports
- add trading-calendars to requirements
2018-07-02 11:10:49 -04:00
Joe Jevnik
1f50b1b0d3 ENH: new risk metrics API 2018-02-26 17:48:14 -05:00
Richard Frank
f111954693 MAINT: Latest pandas-datareader requires a newer pandas version
than zipline supports.
2018-02-09 10:13:39 -05:00
Freddie Vargus
ec151a0325 DOC: Docs & tutorial updates for ingesting, beginners, and csvdir 2018-01-08 14:54:40 -05:00
Richard Frank
93e1aae638 MAINT: networkx 2 changes the behavior of out_degree 2017-10-26 10:01:45 -04:00
Joe Jevnik
2fcce4a9a0 ENH: new blaze core loader algorithm 2017-07-20 20:29:58 -04:00
Miguel Sánchez de León Peque
a219e9910e Add missing Python 3.5 references (now supported)
Add this version to the Conda build matrix and to the setup.py file.
2017-05-23 09:39:21 +02:00
Eddie Hebert
ca07dfb8fb Swap name instead.
Package is named pytables on conda.
2017-01-04 12:09:10 -05:00
Scott Sanderson
35a72f63a4 MAINT: Auto-rebuild templated cython files. 2016-10-26 16:44:07 -04:00
Eddie Hebert
a4205a0500 PERF: Speedup minute to session sampling.
The minute to session sampling reading was creating two DataFrame
objects, the first to hold the minute data, and then a second returned
by the `DataFrame.groupby` to sample down to sessions.

Instead use the arrays returned by the minute readers `load_raw_arrays`
and implement sampling logic which takes advantage that the minutes
being passed start with the first minute of the first session and end
with the last minute of the last session.

On my machine this takes the tests in `test/test_continuous_futures`
from ~4.0 to about ~0.1 seconds.
2016-10-24 09:59:22 -04:00
Eddie Hebert
ec6f298972 ENH: Add continuous future current contract.
Add the ability for an algorithm to request the current contract for a
future chain via `data.current`.

e.g.:
```
data.current(ContinuousFuture('CL', offset=0, roll='calendar'),
'contract')
```
2016-10-07 18:26:23 -04:00
Scott Sanderson
c998d619b1 MAINT: Bump numpy and pandas. 2016-09-20 16:24:54 -04:00
Jean Bredeche
6fb4923cc7 Re-implemented the Calendar API.
Instead of having separate ExchangeCalendar and TradingSchedule objects, we
now just have TradingCalendar.  The TradingCalendar keeps track of each
session (defined as a contiguous set of minutes between an open and a close).
It's also responsible for handling the grouping logic of any given minute
to its containing session, or the next/previous session if it's not a market
minute for the given calendar.
2016-07-12 13:13:50 -04:00
Richard Frank
b9b4dc09a4 DEV: Adds type hinting stub for zipline.api
as well as tooling and docs to generate this for each release

Also moved Cython files to package_data, so that we install them,
instead of just packaging them.
2016-05-19 11:51:12 -04:00
Richard Frank
da77e88786 BLD: Cap the version of pandas until we fix compatibility issues (#1210) 2016-05-18 14:27:07 -04:00
Joe Jevnik
0562179060 Merge pull request #1178 from quantopian/quantopian-quandl
ENH: Adds quantopian-quandl bundle as new default.
2016-05-06 12:53:07 -04:00
Joe Jevnik
0b3a35891e ENH: fix the quality of life issues in the CLI
Fixes the issues presented in #1181 by @ssanderson around the new
command line interface.
2016-05-05 18:22:13 -04:00
Scott Sanderson
5f190395ad ENH: Add support for strings in Pipeline.
- Adds a new class, ``LabelArray``, which is a subclass of np.ndarray.
  LabelArray is conceptually similar to pandas.Categorical, in that it
  stores data with many duplicate values as indices into an array of
  unique values.  For string data with many duplicates (e.g. time-series
  of tickers or or industry classifications), this provides multiple
  orders of magnitude of improvement when doing string operations,
  especially string comparison/matching operations.

- Adds a new generic object "specialization" for `AdjustedArrayWindow`,
  and a corresponding ObjectOverwrite adjustment.

- Adds a new ``postprocess`` method to ``zipline.pipeline.term.Term``.
  This method is called on the final result of any pipeline expression
  after screen filtering has occurred. The default implementation of
  ``postprocess`` is identity, but Classifier overrides it to coerce
  string columns into pandas.Categoricals before presenting them to the
  user.
2016-05-04 15:50:52 -04:00
Joe Jevnik
59c8e371a2 ENH: Updates the cli, data bundles and extensions.
Adds the data bundle concept which makes it easy for users to register
loading functions to build out minute and daily data along with an
assets db and adjustments db. By default we have provided a `quandl`
bundle which pulls from the public domain WIKI dataset. Users may
register new bundles by decorating an ingest function with
`zipline.data.bundles.register(<name>)`. This also provides a
`yahoo_equities` function for creating an ingestion function that will
load a static set of assets from yahoo.

The cli is now structured as a couple of subcommands and has been
changed to `python -m zipline`. The old behavior of `run_algo.py` has
been moved to the `run` subcommand. This is almost entirely the same
except that it now takes the name of the data bundle to use, defaulting
to `quandl`.

The next subcommand is `ingest` which takes the name of
a data bundle to ingest. This will run the loading machinery and write
the data to a specified location that `run` can find.

There is also a `clean` subcommand which deletes the data that was
written with `ingest`.

Extensions have also been added to zipline. This is an experimental
feature where users can provide an extra set of python files to run at
the start of the process. These can be used to configure aspects of
zipline. Right now the only thing that is supported in an extension file
is the registration of a new data bundle.
2016-05-03 18:38:24 -04:00
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