zipline/docs/source/appendix.rst

511 lines
12 KiB
ReStructuredText
Raw Normal View History

API Reference
-------------
2015-11-04 23:32:34 +00:00
Running a Backtest
~~~~~~~~~~~~~~~~~~
.. autofunction:: zipline.run_algorithm(...)
Algorithm API
~~~~~~~~~~~~~
The following methods are available for use in the ``initialize``,
2015-11-19 05:46:41 +00:00
``handle_data``, and ``before_trading_start`` API functions.
In all listed functions, the ``self`` argument is implicitly the
currently-executing :class:`~zipline.algorithm.TradingAlgorithm` instance.
2015-11-04 23:32:34 +00:00
Data Object
```````````
.. autoclass:: zipline.protocol.BarData
:members:
2016-05-05 18:16:30 +00:00
Scheduling Functions
````````````````````
.. autofunction:: zipline.api.schedule_function
.. autoclass:: zipline.api.date_rules
2015-11-04 23:32:34 +00:00
:members:
2016-05-05 18:16:30 +00:00
:undoc-members:
.. autoclass:: zipline.api.time_rules
:members:
Orders
``````
.. autofunction:: zipline.api.order
.. autofunction:: zipline.api.order_value
.. autofunction:: zipline.api.order_percent
.. autofunction:: zipline.api.order_target
.. autofunction:: zipline.api.order_target_value
.. autofunction:: zipline.api.order_target_percent
.. autoclass:: zipline.finance.execution.ExecutionStyle
:members:
.. autoclass:: zipline.finance.execution.MarketOrder
.. autoclass:: zipline.finance.execution.LimitOrder
.. autoclass:: zipline.finance.execution.StopOrder
.. autoclass:: zipline.finance.execution.StopLimitOrder
.. autofunction:: zipline.api.get_order
.. autofunction:: zipline.api.get_open_orders
.. autofunction:: zipline.api.cancel_order
Order Cancellation Policies
'''''''''''''''''''''''''''
.. autofunction:: zipline.api.set_cancel_policy
.. autoclass:: zipline.finance.cancel_policy.CancelPolicy
:members:
.. autofunction:: zipline.api.EODCancel
.. autofunction:: zipline.api.NeverCancel
Assets
``````
.. autofunction:: zipline.api.symbol
.. autofunction:: zipline.api.symbols
.. autofunction:: zipline.api.future_symbol
.. autofunction:: zipline.api.set_symbol_lookup_date
.. autofunction:: zipline.api.sid
Trading Controls
````````````````
Zipline provides trading controls to help ensure that the algorithm is
performing as expected. The functions help protect the algorithm from certian
bugs that could cause undesirable behavior when trading with real money.
.. autofunction:: zipline.api.set_do_not_order_list
.. autofunction:: zipline.api.set_long_only
.. autofunction:: zipline.api.set_max_leverage
.. autofunction:: zipline.api.set_max_order_count
.. autofunction:: zipline.api.set_max_order_size
.. autofunction:: zipline.api.set_max_position_size
Simulation Parameters
`````````````````````
.. autofunction:: zipline.api.set_benchmark
Commission Models
'''''''''''''''''
2016-05-05 18:16:30 +00:00
.. autofunction:: zipline.api.set_commission
.. autoclass:: zipline.finance.commission.CommissionModel
:members:
2016-05-05 18:16:30 +00:00
.. autoclass:: zipline.finance.commission.PerShare
.. autoclass:: zipline.finance.commission.PerTrade
.. autoclass:: zipline.finance.commission.PerDollar
Slippage Models
'''''''''''''''
2016-05-05 18:16:30 +00:00
.. autofunction:: zipline.api.set_slippage
.. autoclass:: zipline.finance.slippage.SlippageModel
:members:
.. autoclass:: zipline.finance.slippage.FixedSlippage
.. autoclass:: zipline.finance.slippage.VolumeShareSlippage
Pipeline
````````
For more information, see :ref:`pipeline-api`
.. autofunction:: zipline.api.attach_pipeline
.. autofunction:: zipline.api.pipeline_output
Miscellaneous
`````````````
.. autofunction:: zipline.api.record
.. autofunction:: zipline.api.get_environment
.. autofunction:: zipline.api.fetch_csv
2018-07-16 02:01:57 +00:00
Blotters
~~~~~~~~
2018-07-16 03:36:24 +00:00
.. autoclass:: zipline.finance.blotter.blotter.Blotter
2018-07-16 02:01:57 +00:00
:members:
.. autoclass:: zipline.finance.blotter.SimulationBlotter
:members:
2016-05-05 18:16:30 +00:00
.. _pipeline-api:
Pipeline API
~~~~~~~~~~~~
.. autoclass:: zipline.pipeline.Pipeline
:members:
:member-order: groupwise
.. autoclass:: zipline.pipeline.CustomFactor
:members:
:member-order: groupwise
2019-07-15 00:55:19 +00:00
.. autoclass:: zipline.pipeline.Filter
2020-07-22 21:27:13 +00:00
:members: __and__, __or__, if_else
:exclude-members: dtype
2019-07-15 00:55:19 +00:00
.. autoclass:: zipline.pipeline.Factor
:members: bottom, deciles, demean, linear_regression, pearsonr,
percentile_between, quantiles, quartiles, quintiles, rank,
spearmanr, top, winsorize, zscore, isnan, notnan, isfinite, eq,
__add__, __sub__, __mul__, __div__, __mod__, __pow__, __lt__,
2020-07-22 21:27:13 +00:00
__le__, __ne__, __ge__, __gt__, clip, fillna, mean, stddev, max,
min, median, sum, clip
:exclude-members: dtype
:member-order: bysource
2019-07-15 00:55:19 +00:00
.. autoclass:: zipline.pipeline.Term
:members:
:exclude-members: compute_extra_rows, dependencies, inputs, mask, windowed
.. autoclass:: zipline.pipeline.data.DataSet
:members:
2020-07-22 21:27:13 +00:00
.. autoclass:: zipline.pipeline.data.Column
:members:
.. autoclass:: zipline.pipeline.data.BoundColumn
:members:
.. autoclass:: zipline.pipeline.data.DataSetFamily
:members:
2019-07-15 00:55:19 +00:00
.. autoclass:: zipline.pipeline.data.EquityPricing
:members: open, high, low, close, volume
:undoc-members:
Built-in Factors
````````````````
.. autoclass:: zipline.pipeline.factors.AverageDollarVolume
:members:
.. autoclass:: zipline.pipeline.factors.BollingerBands
2015-12-11 18:46:21 +00:00
:members:
.. autoclass:: zipline.pipeline.factors.BusinessDaysSincePreviousEvent
2015-12-11 18:46:21 +00:00
:members:
.. autoclass:: zipline.pipeline.factors.BusinessDaysUntilNextEvent
:members:
2018-07-16 02:01:57 +00:00
.. autoclass:: zipline.pipeline.factors.DailyReturns
:members:
.. autoclass:: zipline.pipeline.factors.ExponentialWeightedMovingAverage
:members:
.. autoclass:: zipline.pipeline.factors.ExponentialWeightedMovingStdDev
:members:
.. autoclass:: zipline.pipeline.factors.Latest
2015-12-12 03:28:42 +00:00
:members:
.. autoclass:: zipline.pipeline.factors.MACDSignal
:members:
.. autoclass:: zipline.pipeline.factors.MaxDrawdown
2015-12-12 03:28:42 +00:00
:members:
.. autoclass:: zipline.pipeline.factors.Returns
:members:
2015-12-12 03:28:42 +00:00
2020-07-22 21:27:13 +00:00
.. autoclass:: zipline.pipeline.factors.RollingPearson
:members:
.. autoclass:: zipline.pipeline.factors.RollingSpearman
:members:
.. autoclass:: zipline.pipeline.factors.RollingLinearRegressionOfReturns
2016-05-12 01:37:46 +00:00
:members:
.. autoclass:: zipline.pipeline.factors.RollingPearsonOfReturns
:members:
.. autoclass:: zipline.pipeline.factors.RollingSpearmanOfReturns
:members:
2018-07-16 02:01:57 +00:00
.. autoclass:: zipline.pipeline.factors.SimpleBeta
:members:
.. autoclass:: zipline.pipeline.factors.RSI
:members:
.. autoclass:: zipline.pipeline.factors.SimpleMovingAverage
:members:
.. autoclass:: zipline.pipeline.factors.VWAP
:members:
2015-12-11 18:46:21 +00:00
.. autoclass:: zipline.pipeline.factors.WeightedAverageValue
:members:
2015-12-11 18:46:21 +00:00
2020-07-22 21:27:13 +00:00
.. autoclass:: zipline.pipeline.factors.PercentChange
:members:
.. autoclass:: zipline.pipeline.factors.PeerCount
:members:
Built-in Filters
````````````````
.. autoclass:: zipline.pipeline.filters.All
:members:
.. autoclass:: zipline.pipeline.filters.AllPresent
:members:
.. autoclass:: zipline.pipeline.filters.Any
:members:
.. autoclass:: zipline.pipeline.filters.AtLeastN
:members:
.. autoclass:: zipline.pipeline.filters.SingleAsset
:members:
.. autoclass:: zipline.pipeline.filters.StaticAssets
:members:
.. autoclass:: zipline.pipeline.filters.StaticSids
:members:
Pipeline Engine
```````````````
.. autoclass:: zipline.pipeline.engine.PipelineEngine
:members: run_pipeline, run_chunked_pipeline
:member-order: bysource
.. autoclass:: zipline.pipeline.engine.SimplePipelineEngine
:members: __init__, run_pipeline, run_chunked_pipeline
:member-order: bysource
.. autofunction:: zipline.pipeline.engine.default_populate_initial_workspace
Data Loaders
````````````
.. autoclass:: zipline.pipeline.loaders.equity_pricing_loader.USEquityPricingLoader
:members: __init__, from_files, load_adjusted_array
:member-order: bysource
2015-12-11 18:46:21 +00:00
Asset Metadata
~~~~~~~~~~~~~~
.. autoclass:: zipline.assets.Asset
:members:
.. autoclass:: zipline.assets.Equity
:members:
.. autoclass:: zipline.assets.Future
:members:
.. autoclass:: zipline.assets.AssetConvertible
:members:
Trading Calendar API
~~~~~~~~~~~~~~~~~~~~
.. autofunction:: zipline.utils.calendars.get_calendar
.. autoclass:: zipline.utils.calendars.TradingCalendar
:members:
.. autofunction:: zipline.utils.calendars.register_calendar
.. autofunction:: zipline.utils.calendars.register_calendar_type
.. autofunction:: zipline.utils.calendars.deregister_calendar
.. autofunction:: zipline.utils.calendars.clear_calendars
Data API
~~~~~~~~
Writers
```````
.. autoclass:: zipline.data.minute_bars.BcolzMinuteBarWriter
:members:
.. autoclass:: zipline.data.bcolz_daily_bars.BcolzDailyBarWriter
:members:
.. autoclass:: zipline.data.adjustments.SQLiteAdjustmentWriter
:members:
.. autoclass:: zipline.assets.AssetDBWriter
:members:
Readers
```````
.. autoclass:: zipline.data.minute_bars.BcolzMinuteBarReader
:members:
.. autoclass:: zipline.data.bcolz_daily_bars.BcolzDailyBarReader
:members:
.. autoclass:: zipline.data.adjustments.SQLiteAdjustmentReader
:members:
.. autoclass:: zipline.assets.AssetFinder
:members:
.. autoclass:: zipline.data.data_portal.DataPortal
:members:
2018-01-06 01:24:50 +00:00
.. autoclass:: zipline.sources.benchmark_source.BenchmarkSource
:members:
Bundles
```````
.. autofunction:: zipline.data.bundles.register
.. autofunction:: zipline.data.bundles.ingest(name, environ=os.environ, date=None, show_progress=True)
.. autofunction:: zipline.data.bundles.load(name, environ=os.environ, date=None)
.. autofunction:: zipline.data.bundles.unregister
.. data:: zipline.data.bundles.bundles
The bundles that have been registered as a mapping from bundle name to bundle
2018-01-06 01:24:50 +00:00
data. This mapping is immutable and may only be updated through
:func:`~zipline.data.bundles.register` or
:func:`~zipline.data.bundles.unregister`.
2018-01-06 01:24:50 +00:00
Risk Metrics
~~~~~~~~~~~~
Algorithm State
```````````````
.. autoclass:: zipline.finance.ledger.Ledger
:members:
.. autoclass:: zipline.protocol.Portfolio
:members:
.. autoclass:: zipline.protocol.Account
:members:
.. autoclass:: zipline.finance.ledger.PositionTracker
:members:
.. autoclass:: zipline.finance._finance_ext.PositionStats
Built-in Metrics
````````````````
.. autoclass:: zipline.finance.metrics.metric.SimpleLedgerField
.. autoclass:: zipline.finance.metrics.metric.DailyLedgerField
.. autoclass:: zipline.finance.metrics.metric.StartOfPeriodLedgerField
.. autoclass:: zipline.finance.metrics.metric.StartOfPeriodLedgerField
.. autoclass:: zipline.finance.metrics.metric.Returns
.. autoclass:: zipline.finance.metrics.metric.BenchmarkReturnsAndVolatility
.. autoclass:: zipline.finance.metrics.metric.CashFlow
.. autoclass:: zipline.finance.metrics.metric.Orders
.. autoclass:: zipline.finance.metrics.metric.Transactions
.. autoclass:: zipline.finance.metrics.metric.Positions
.. autoclass:: zipline.finance.metrics.metric.ReturnsStatistic
.. autoclass:: zipline.finance.metrics.metric.AlphaBeta
.. autoclass:: zipline.finance.metrics.metric.MaxLeverage
Metrics Sets
````````````
.. autofunction:: zipline.finance.metrics.register
.. autofunction:: zipline.finance.metrics.load
.. autofunction:: zipline.finance.metrics.unregister
.. data:: zipline.data.finance.metrics.metrics_sets
The metrics sets that have been registered as a mapping from metrics set name
to load function. This mapping is immutable and may only be updated through
:func:`~zipline.finance.metrics.register` or
:func:`~zipline.finance.metrics.unregister`.
Utilities
~~~~~~~~~
Caching
```````
.. autoclass:: zipline.utils.cache.CachedObject
.. autoclass:: zipline.utils.cache.ExpiringCache
.. autoclass:: zipline.utils.cache.dataframe_cache
.. autoclass:: zipline.utils.cache.working_file
.. autoclass:: zipline.utils.cache.working_dir
Command Line
````````````
.. autofunction:: zipline.utils.cli.maybe_show_progress