mirror of
https://github.com/wassname/catalyst.git
synced 2026-06-29 14:37:54 +08:00
ef4f642e62
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.
82 lines
2.4 KiB
Python
82 lines
2.4 KiB
Python
#!/usr/bin/env python
|
|
#
|
|
# Copyright 2014 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 setuptools import setup, find_packages, Extension
|
|
from Cython.Build import cythonize
|
|
import numpy as np
|
|
|
|
ext_modules = [
|
|
Extension(
|
|
'zipline.assets._assets',
|
|
['zipline/assets/_assets.pyx'],
|
|
include_dirs=[np.get_include()],
|
|
),
|
|
Extension(
|
|
'zipline.lib.adjusted_array',
|
|
['zipline/lib/adjusted_array.pyx'],
|
|
include_dirs=[np.get_include()],
|
|
),
|
|
Extension(
|
|
'zipline.lib.adjustment',
|
|
['zipline/lib/adjustment.pyx'],
|
|
include_dirs=[np.get_include()],
|
|
),
|
|
Extension(
|
|
'zipline.data.ffc.loaders._us_equity_pricing',
|
|
['zipline/data/ffc/loaders/_us_equity_pricing.pyx'],
|
|
include_dirs=[np.get_include()],
|
|
),
|
|
]
|
|
|
|
setup(
|
|
name='zipline',
|
|
version='0.8.0rc1',
|
|
description='A backtester for financial algorithms.',
|
|
author='Quantopian Inc.',
|
|
author_email='opensource@quantopian.com',
|
|
packages=['zipline'],
|
|
ext_modules=cythonize(ext_modules),
|
|
scripts=['scripts/run_algo.py'],
|
|
include_package_data=True,
|
|
license='Apache 2.0',
|
|
classifiers=[
|
|
'Development Status :: 4 - Beta',
|
|
'License :: OSI Approved :: Apache Software License',
|
|
'Natural Language :: English',
|
|
'Programming Language :: Python',
|
|
'Programming Language :: Python :: 2.7',
|
|
'Programming Language :: Python :: 3.3',
|
|
'Operating System :: OS Independent',
|
|
'Intended Audience :: Science/Research',
|
|
'Topic :: Office/Business :: Financial',
|
|
'Topic :: Scientific/Engineering :: Information Analysis',
|
|
'Topic :: System :: Distributed Computing',
|
|
],
|
|
install_requires=[
|
|
'Logbook',
|
|
'pytz',
|
|
'requests',
|
|
'numpy',
|
|
'pandas',
|
|
'six',
|
|
'Cython',
|
|
],
|
|
extras_require={
|
|
'talib': ["talib"],
|
|
},
|
|
url="http://zipline.io"
|
|
)
|