From d43d5821efdd7e9af03eac00c50373bcd3b8348c Mon Sep 17 00:00:00 2001 From: Victor Grau Serrat Date: Fri, 20 Oct 2017 14:51:35 -0600 Subject: [PATCH] DOC: jupyter notebook in beginner tutorial --- _sources/beginner-tutorial.txt | 250 +++++++++++++++++++++++++++-- beginner-tutorial.html | 280 +++++++++++++++++++++++++++++---- searchindex.js | 2 +- 3 files changed, 485 insertions(+), 47 deletions(-) diff --git a/_sources/beginner-tutorial.txt b/_sources/beginner-tutorial.txt index b3b1b133..a19374ee 100644 --- a/_sources/beginner-tutorial.txt +++ b/_sources/beginner-tutorial.txt @@ -52,7 +52,7 @@ My first algorithm ~~~~~~~~~~~~~~~~~~ Lets take a look at a very simple algorithm from the ``examples`` -directory, ``buy_btc.py``: +directory: `buy_btc_simple.py `_: .. code-block:: python @@ -225,16 +225,16 @@ Thus, to execute our algorithm from above and save the results to .. code-block:: python - catalyst run -f buy_btc_simple.py -x bitfinex --start 2016-1-1 --end 2016-9-29 -o buy_simple_btc_out.pickle + catalyst run -f buy_btc_simple.py -x bitfinex --start 2016-1-1 --end 2017-9-30 -o buy_btc_simple_out.pickle -.. -.. parsed-literal +.. parsed-literal:: -.. AAPL -.. [2015-11-04 22:45:32.820166] INFO: Performance: Simulated 3521 trading days out of 3521. -.. [2015-11-04 22:45:32.820314] INFO: Performance: first open: 2000-01-03 14:31:00+00:00 -.. [2015-11-04 22:45:32.820401] INFO: Performance: last close: 2013-12-31 21:00:00+00:00 + INFO: run_algo: running algo in backtest mode + INFO: exchange_algorithm: initialized trading algorithm in backtest mode + INFO: Performance: Simulated 639 trading days out of 639. + INFO: Performance: first open: 2016-01-01 00:00:00+00:00 + INFO: Performance: last close: 2017-09-30 23:59:00+00:00 ``run`` first calls the ``initialize()`` function, and then @@ -255,7 +255,7 @@ slippage model that ``catalyst`` uses). Let's take a quick look at the performance ``DataFrame``. For this, we use ``pandas`` from inside the IPython Notebook and print the first ten -rows. Note that ``catalyst`` makes heavy usage of +rows. and print the first ten rows. Note that ``catalyst`` makes heavy usage of `pandas `_, especially for data input and outputting so it's worth spending some time to learn it. @@ -265,17 +265,196 @@ outputting so it's worth spending some time to learn it. perf = pd.read_pickle('buy_btc_simple_out.pickle') # read in perf DataFrame perf.head() +.. raw:: html + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
algo_volatilityalgorithm_period_returnalphabenchmark_period_returnbenchmark_volatilitybetabtccapital_usedending_cashending_exposure...short_exposureshort_valueshorts_countsortinostarting_cashstarting_exposurestarting_valuetrading_daystransactionstreasury_period_return
2016-01-01 23:59:00+00:00NaN0.000000e+00NaN-0.010937NaNNaN433.9799990.0000001.000000e+070.00...000NaN1.000000e+070.000.001[]0.0227
2016-01-02 23:59:00+00:000.000011-9.536708e-07-0.000170-0.0064800.173338-0.000062432.700000-442.2367089.999558e+06432.70...000-11.2249721.000000e+070.000.002[{u'order_id': u'7869f7828fa140328eb40477bb7de...0.0227
2016-01-03 23:59:00+00:000.000011-2.328842e-06-0.000176-0.0265120.1978570.000009428.390000-437.8317169.999120e+06856.78...000-12.7542629.999558e+06432.70432.703[{u'order_id': u'be62ff77760c4599abaac43be9cc9...0.0227
2016-01-04 23:59:00+00:000.000011-2.380954e-06-0.000139-0.0086400.2697900.000020432.900000-442.4411169.998677e+061298.70...000-11.2872059.999120e+06856.78856.784[{u'order_id': u'd6dca79513214346a646079213526...0.0224
2016-01-05 23:59:00+00:000.000011-3.650729e-06-0.000158-0.0214260.2459890.000024431.840000-441.3577549.998236e+061727.36...000-12.3338479.998677e+061298.701298.705[{u'order_id': u'505275d6646a41f3856b22b16678d...0.0225
+
+ +| There is a row for each trading day, starting on the first day of our simulation Jan 1st, 2016. In the columns you can find various -information about the state of your algorithm. The very first column +information about the state of your algorithm. The column ``btc`` was placed there by the ``record()`` function mentioned earlier and allows us to plot the price of bitcoin. For example, we could easily examine now how our portfolio value changed over time compared to the bitcoin price. -Our algorithm performance as assessed by the -``portfolio_value`` closely matches that of the bitcoin price. This -is not surprising as our algorithm only bought bitcoin every chance it got. +.. code-block:: python + + %pylab inline + figsize(12, 12) + import matplotlib.pyplot as plt + + ax1 = plt.subplot(211) + perf.portfolio_value.plot(ax=ax1) + ax1.set_ylabel('portfolio value') + ax2 = plt.subplot(212, sharex=ax1) + perf.btc.plot(ax=ax2) + ax2.set_ylabel('bitcoin price') + +.. parsed-literal:: + + Populating the interactive namespace from numpy and matplotlib + +.. parsed-literal:: + + + +.. image:: https://s3.amazonaws.com/enigmaco-docs/github.io/buy_btc_simple_graph.png + +Our algorithm performance as assessed by the ``portfolio_value`` closely +matches that of the bitcoin price. This is not surprising as our algorithm +only bought bitcoin every chance it got. Access to previous prices using ``history`` @@ -305,13 +484,14 @@ a function we use in the ``handle_data()`` section: .. code-block:: python - from catalyst.api import order, record, symbol + %%catalyst --start 2016-1-1 --end 2017-9-30 -x bitfinex -o dma.pickle + from catalyst.api import order, record, symbol, order_target def initialize(context): context.i = 0 context.asset = symbol('btc_usd') - def handle_data(context, data): + def handle_data(context, data): # Skip first 300 days to get full windows context.i += 1 if context.i < 300: @@ -336,6 +516,46 @@ a function we use in the ``handle_data()`` section: short_mavg=short_mavg, long_mavg=long_mavg) + def analyze(context, perf): + import matplotlib.pyplot as plt + fig = plt.figure() + ax1 = fig.add_subplot(211) + perf.portfolio_value.plot(ax=ax1) + ax1.set_ylabel('portfolio value in $') + + ax2 = fig.add_subplot(212) + perf['btc'].plot(ax=ax2) + perf[['short_mavg', 'long_mavg']].plot(ax=ax2) + + perf_trans = perf.ix[[t != [] for t in perf.transactions]] + buys = perf_trans.ix[[t[0]['amount'] > 0 for t in perf_trans.transactions]] + sells = perf_trans.ix[ + [t[0]['amount'] < 0 for t in perf_trans.transactions]] + ax2.plot(buys.index, perf.short_mavg.ix[buys.index], + '^', markersize=10, color='m') + ax2.plot(sells.index, perf.short_mavg.ix[sells.index], + 'v', markersize=10, color='k') + ax2.set_ylabel('price in $') + plt.legend(loc=0) + plt.show() + +Here we are explicitly defining an ``analyze()`` function that gets +automatically called once the backtest is done. + +Although it might not be directly apparent, the power of ``history()`` +(pun intended) can not be under-estimated as most algorithms make use of +prior market developments in one form or another. You could easily +devise a strategy that trains a classifier with +`scikit-learn `__ which tries to +predict future market movements based on past prices (note, that most of +the ``scikit-learn`` functions require ``numpy.ndarray``\ s rather than +``pandas.DataFrame``\ s, so you can simply pass the underlying +``ndarray`` of a ``DataFrame`` via ``.values``). + +We also used the ``order_target()`` function above. This and other +functions like it can make order management and portfolio rebalancing +much easier. + Conclusions ~~~~~~~~~~~ diff --git a/beginner-tutorial.html b/beginner-tutorial.html index 035458f6..5df82ee1 100644 --- a/beginner-tutorial.html +++ b/beginner-tutorial.html @@ -188,7 +188,7 @@ containing the current trading bar with open, high, low, and close

My first algorithmΒΆ

Lets take a look at a very simple algorithm from the examples -directory, buy_btc.py:

+directory: buy_btc_simple.py:

from catalyst.api import order, record, symbol
 
 
@@ -332,7 +332,14 @@ to the -c option
 all the time (see the .conf files in the examples directory).

Thus, to execute our algorithm from above and save the results to buy_btc_simple_out.pickle we would call catalyst run as follows:

-
catalyst run -f buy_btc_simple.py -x bitfinex --start 2016-1-1 --end 2016-9-29 -o buy_simple_btc_out.pickle
+
catalyst run -f buy_btc_simple.py -x bitfinex --start 2016-1-1 --end 2017-9-30 -o buy_btc_simple_out.pickle
+
+
+
INFO: run_algo: running algo in backtest mode
+INFO: exchange_algorithm: initialized trading algorithm in backtest mode
+INFO: Performance: Simulated 639 trading days out of 639.
+INFO: Performance: first open: 2016-01-01 00:00:00+00:00
+INFO: Performance: last close: 2017-09-30 23:59:00+00:00
 

run first calls the initialize() function, and then @@ -349,7 +356,7 @@ asset price. (Note, that you can also change the commission and slippage model that catalyst uses).

Let’s take a quick look at the performance DataFrame. For this, we use pandas from inside the IPython Notebook and print the first ten -rows. Note that catalyst makes heavy usage of +rows. and print the first ten rows. Note that catalyst makes heavy usage of pandas, especially for data input and outputting so it’s worth spending some time to learn it.

import pandas as pd
@@ -357,16 +364,189 @@ outputting so it’s worth spending some time to learn it.

perf.head()
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
algo_volatilityalgorithm_period_returnalphabenchmark_period_returnbenchmark_volatilitybetabtccapital_usedending_cashending_exposure...short_exposureshort_valueshorts_countsortinostarting_cashstarting_exposurestarting_valuetrading_daystransactionstreasury_period_return
2016-01-01 23:59:00+00:00NaN0.000000e+00NaN-0.010937NaNNaN433.9799990.0000001.000000e+070.00...000NaN1.000000e+070.000.001[]0.0227
2016-01-02 23:59:00+00:000.000011-9.536708e-07-0.000170-0.0064800.173338-0.000062432.700000-442.2367089.999558e+06432.70...000-11.2249721.000000e+070.000.002[{u'order_id': u'7869f7828fa140328eb40477bb7de...0.0227
2016-01-03 23:59:00+00:000.000011-2.328842e-06-0.000176-0.0265120.1978570.000009428.390000-437.8317169.999120e+06856.78...000-12.7542629.999558e+06432.70432.703[{u'order_id': u'be62ff77760c4599abaac43be9cc9...0.0227
2016-01-04 23:59:00+00:000.000011-2.380954e-06-0.000139-0.0086400.2697900.000020432.900000-442.4411169.998677e+061298.70...000-11.2872059.999120e+06856.78856.784[{u'order_id': u'd6dca79513214346a646079213526...0.0224
2016-01-05 23:59:00+00:000.000011-3.650729e-06-0.000158-0.0214260.2459890.000024431.840000-441.3577549.998236e+061727.36...000-12.3338479.998677e+061298.701298.705[{u'order_id': u'505275d6646a41f3856b22b16678d...0.0225
+
+

+

There is a row for each trading day, starting on the first day of our simulation Jan 1st, 2016. In the columns you can find various -information about the state of your algorithm. The very first column +information about the state of your algorithm. The column btc was placed there by the record() function mentioned earlier and allows us to plot the price of bitcoin. For example, we could easily examine now how our portfolio value changed over time compared to the bitcoin price.

-

Our algorithm performance as assessed by the -portfolio_value closely matches that of the bitcoin price. This -is not surprising as our algorithm only bought bitcoin every chance it got.

+
%pylab inline
+figsize(12, 12)
+import matplotlib.pyplot as plt
+
+ax1 = plt.subplot(211)
+perf.portfolio_value.plot(ax=ax1)
+ax1.set_ylabel('portfolio value')
+ax2 = plt.subplot(212, sharex=ax1)
+perf.btc.plot(ax=ax2)
+ax2.set_ylabel('bitcoin price')
+
+
+
Populating the interactive namespace from numpy and matplotlib
+
+
+
<matplotlib.text.Text at 0x10eaeadd0>
+
+
+https://s3.amazonaws.com/enigmaco-docs/github.io/buy_btc_simple_graph.png +

Our algorithm performance as assessed by the portfolio_value closely +matches that of the bitcoin price. This is not surprising as our algorithm +only bought bitcoin every chance it got.

@@ -389,38 +569,76 @@ data for you. The first argument is the number of bars you want to collect, the second argument is the unit (either '1d' for '1m' but note that you need to have minute-level data for using 1m). This is a function we use in the handle_data() section:

-
 from catalyst.api import order, record, symbol
+
%%catalyst --start 2016-1-1 --end 2017-9-30 -x bitfinex -o dma.pickle
+from catalyst.api import order, record, symbol, order_target
 
- def initialize(context):
-    context.i = 0
-    context.asset = symbol('btc_usd')
+def initialize(context):
+   context.i = 0
+   context.asset = symbol('btc_usd')
 
 def handle_data(context, data):
-    # Skip first 300 days to get full windows
-    context.i += 1
-    if context.i < 300:
-        return
+   # Skip first 300 days to get full windows
+   context.i += 1
+   if context.i < 300:
+       return
 
-    # Compute averages
-    # data.history() has to be called with the same params
-    # from above and returns a pandas dataframe.
-    short_mavg = data.history(context.asset, 'price', bar_count=100, frequency="1d").mean()
-    long_mavg = data.history(context.asset, 'price', bar_count=300, frequency="1d").mean()
+   # Compute averages
+   # data.history() has to be called with the same params
+   # from above and returns a pandas dataframe.
+   short_mavg = data.history(context.asset, 'price', bar_count=100, frequency="1d").mean()
+   long_mavg = data.history(context.asset, 'price', bar_count=300, frequency="1d").mean()
 
-    # Trading logic
-    if short_mavg > long_mavg:
-        # order_target orders as many shares as needed to
-        # achieve the desired number of shares.
-        order_target(context.asset, 100)
-    elif short_mavg < long_mavg:
-        order_target(context.asset, 0)
+   # Trading logic
+   if short_mavg > long_mavg:
+       # order_target orders as many shares as needed to
+       # achieve the desired number of shares.
+       order_target(context.asset, 100)
+   elif short_mavg < long_mavg:
+       order_target(context.asset, 0)
 
-    # Save values for later inspection
-    record(btc=data.current(context.asset, 'price'),
-           short_mavg=short_mavg,
-           long_mavg=long_mavg)
+   # Save values for later inspection
+   record(btc=data.current(context.asset, 'price'),
+          short_mavg=short_mavg,
+          long_mavg=long_mavg)
+
+def analyze(context, perf):
+   import matplotlib.pyplot as plt
+   fig = plt.figure()
+   ax1 = fig.add_subplot(211)
+   perf.portfolio_value.plot(ax=ax1)
+   ax1.set_ylabel('portfolio value in $')
+
+   ax2 = fig.add_subplot(212)
+   perf['btc'].plot(ax=ax2)
+   perf[['short_mavg', 'long_mavg']].plot(ax=ax2)
+
+   perf_trans = perf.ix[[t != [] for t in perf.transactions]]
+   buys = perf_trans.ix[[t[0]['amount'] > 0 for t in perf_trans.transactions]]
+   sells = perf_trans.ix[
+       [t[0]['amount'] < 0 for t in perf_trans.transactions]]
+   ax2.plot(buys.index, perf.short_mavg.ix[buys.index],
+            '^', markersize=10, color='m')
+   ax2.plot(sells.index, perf.short_mavg.ix[sells.index],
+            'v', markersize=10, color='k')
+   ax2.set_ylabel('price in $')
+   plt.legend(loc=0)
+   plt.show()
 
+

Here we are explicitly defining an analyze() function that gets +automatically called once the backtest is done.

+

Although it might not be directly apparent, the power of history() +(pun intended) can not be under-estimated as most algorithms make use of +prior market developments in one form or another. You could easily +devise a strategy that trains a classifier with +scikit-learn which tries to +predict future market movements based on past prices (note, that most of +the scikit-learn functions require numpy.ndarrays rather than +pandas.DataFrames, so you can simply pass the underlying +ndarray of a DataFrame via .values).

+

We also used the order_target() function above. This and other +functions like it can make order management and portfolio rebalancing +much easier.

diff --git a/searchindex.js b/searchindex.js index 5caee9a4..096048a6 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({envversion:46,filenames:["appendix","beginner-tutorial","bundles","development-guidelines","index","install","naming-convention","release-process","releases","welcome"],objects:{"zipline.data.bundles":{bundles:[0,0,1,""]}},objnames:{"0":["py","data","Python data"]},objtypes:{"0":"py:data"},terms:{"00pm":8,"01pm":8,"11465d9":8,"1st":1,"2ee40db":8,"533233fae43c7ff74abfb0044f046978817cb4e4":8,"5f49fa2":8,"__getitem__":8,"__main__":8,"__name__":8,"__repr__":8,"__wrapped__":7,"_position_amount":8,"abstract":8,"boolean":[2,8],"case":[1,2,3,5,8],"catch":8,"class":[3,7,8],"default":1,"export":7,"final":[1,2,3],"float":[1,8],"import":[1,2,7,8],"int":[2,8],"long":[1,2,8],"new":1,"null":8,"return":[1,7,8],"short":[1,3,8],"static":[7,8],"switch":8,"throw":8,"true":8,"try":[3,5,8],"var":1,"while":[7,8],aapl:[2,8],abil:[2,8],abl:[1,2,5,8],about:[1,2,3,5,8],abov:[1,3,5,6,7,8],absolut:8,accept:[2,7,8],accident:8,accord:[7,8],accordingli:8,account:[2,4,8,9],achiev:1,acquir:[2,5],across:[6,8],act:8,action:8,activ:[5,7,8],actual:8,add:[2,3,7,8],add_histori:8,addit:[3,5,8],address:7,adjust:[2,8],advanc:8,advantag:5,affect:8,after:[1,2,3,5,7,8],again:8,against:[1,8],ahead:1,alexand:8,algebra:5,algo:[1,2,8],algofil:[1,2],algorithm_period_return:8,algotext:1,alia:8,alias_dt:8,align:8,all:[0,1,2,3,4,5,6,7,8,9],all_api_method:8,alloc:8,allow:[1,2,5,8],along:[2,8],alpha:[5,8],alreadi:[2,3,5],also:[1,2,3,5,7,8],altern:[5,6,8],alwai:[2,6,7,8],amor:8,amount:[1,8],amp_btc:6,anaconda:[5,7,8],anaconda_token:8,analogu:8,analysi:[4,7,9],analyt:5,analyz:[1,8],andrea:8,ani:[1,2,5,6,7,8],announc:8,annual:8,annualizedvolatil:8,anonym:2,anoth:[2,5,8],anymor:1,anyth:[1,5,7],app:1,appear:[2,7],append:[7,8],appendix:3,appli:[1,8],applic:1,appropri:3,approxim:8,appveyor:[3,7,8],april:8,apt:5,arch:5,architectur:1,ardr_btc:6,arena:8,arg:[1,7,8],argument:[0,1,2,7,8],aroon:8,around:[7,8],arrai:[5,8],art:[4,9],ask:[1,3],asof_d:8,assess:1,asset_find:8,assetdbwrit:2,assetfind:8,assetfindercachedequ:8,assign:[1,8],assist:5,assum:[1,3,5],atla:5,atleastn:8,attach_pipelin:8,attempt:[2,8],attribut:[7,8],author:8,auto:8,auto_close_d:8,automag:1,avail:1,averagedollarvolum:8,avoid:[1,2,8],awar:[7,8],back:[3,6,8],backend:5,backfil:8,backward:8,bad:8,band:8,bar:[1,8],bar_count:[1,8],bardata:8,barread:8,base:[1,2,4,5,8,9],base_curr:6,basi:8,batch:8,batch_transform:8,batchtransform:8,batteri:1,bch_btc:6,bch_eth:6,bch_usdt:6,bcn_btc:6,bcn_xmr:6,bcolz:[2,8],bcolzdailybarread:[2,8],bcolzdailybarwrit:[2,8],bcolzminutebarread:[2,8],bcolzminutebarwrit:[2,8],bcy_btc:6,becaus:[5,7,8],becom:8,been:[0,1,2,5,7,8],befor:[1,2,3,5,8],before_trading_start:[0,8],begin:[5,8],behavior:[0,8],bela_btc:6,believ:1,below:[1,5],benchmark:8,benefit:1,best:[3,5],beta:8,better:8,between:[3,4,6,8,9],bia:1,big:5,bin:5,binari:[5,7,8],bit:[3,8],bitcoin:[1,6],bitfinex:[1,4,9],bittrex:[1,4,9],blaze:8,blazeearningscalendarload:8,blazeload:8,bld:3,blk_btc:6,blk_xmr:6,bloat:8,blockchain:6,blotter:8,bmf:8,board:8,bodi:3,bolling:8,bollinger_band:8,bollingerband:8,book:1,book_target_perc:8,bool:8,both:[3,4,6,7,8,9],bottom:8,bought:1,bound:1,boundari:8,boundcolumn:8,bovespa:8,branch:[3,7],brew:[3,5],brother:5,brows:5,browser:[3,7],btc:1,btc_usd:[1,6],btc_usdt:6,btcd_btc:6,btcd_xmr:6,btm_btc:6,bts_btc:6,bucket:8,bug:[2,3],bui:8,build:[1,3,5,7],build_ext:3,bump:8,burst_btc:6,businessdayssincecashbuybackauth:8,businessdayssincedividendannounc:8,businessdayssincepreviousearn:8,businessdayssincepreviousexd:8,businessdayssincesharebuybackauth:8,businessdaysuntilnextearn:8,businessdaysuntilnextexd:8,button:[5,7],buy_and_hodl:1,buy_btc:1,buy_btc_simpl:1,buy_btc_simple_out:1,buy_simple_btc_out:1,buyback:8,buyback_auth:8,cachedobject:8,calc:8,calc_dividend_ratio:8,calcul:[1,3,8],calculate_max_drawdown:8,call:[1,2,3,8],can:[1,2,3,4,5,6,7,8,9],can_trad:8,candl:6,cannot:5,canon:3,cap:8,capabl:8,capit:[1,8],capital_bas:8,captur:[1,8],cash:[2,3,8],cashbuybackauthor:8,catalyst_dev:[1,5],categor:8,caus:[0,1,2,3,8],ceiling:8,cell:8,certain:8,certian:0,chain:8,chanc:1,chang:[1,3,7],channel:[1,5],charact:3,charg:[1,8],chart:5,check:[1,2,3,6,8],checker:7,checkout:[3,7],checkpoint:8,choic:7,choos:[5,6,7],chunk:[1,8],clam_btc:6,classic:1,classifi:8,classmethod:8,clean:[2,5,7,8],cleaner:8,clear:2,cli:8,click:[5,7],clock:8,clone:3,close:[1,8],cloud:8,cmd:1,code:[7,8],codebas:3,coerc:8,colin:8,collect:[1,2],column:[1,2,8],com:[1,2,3,8],combin:8,come:[2,5,8],comingl:8,commis:8,commissionmodel:8,common:[1,8],commonli:1,commun:5,compar:[1,8],comparison:8,compat:8,compil:[5,7,8],complex:[5,8],complic:8,compounded_log_return:8,comput:[1,5,8],concept:[1,8],conceptu:8,concurr:8,conda:3,conda_build_matrix:7,condit:8,conf:1,config:5,configur:[1,3,5,8],conflict:8,congratul:5,connect:8,consid:8,consist:[1,6,8],constraint:2,construct:8,constructor:8,consum:[7,8],contain:[1,2,3,5,8],context:[1,8],contigu:8,continu:1,continuum:5,contract:8,conveni:1,convent:[],convers:2,convert:[2,8],copi:[2,3,7,8],core:[5,8],correct:[2,5,7,8],correctli:[1,7,8],correl:8,cost:[1,8],could:[0,1,2,5,8],count:[2,8],coupl:1,cover:8,coverag:[4,6,9],coveral:8,cpu:8,cpython:5,crash:[2,8],creat:2,create_event_context:8,crypto:[1,4,9],cryptoasset:1,cryptocurr:6,csv:8,cumul:8,cumulative_capital_us:3,curat:[1,4,9],currenc:1,current:[0,1,2,3,7,8],current_chain:8,custom:[2,8],customfactor:8,cut:8,cutoff:8,cvc_btc:6,cvc_eth:6,cython:[7,8],dai:[1,2,7,8],daili:[1,2,4,6,8,9],dailysimulationclock:8,dale:8,dash_btc:6,dash_usdt:6,dash_xmr:6,data_frequ:8,data_query_tim:8,data_query_tz:8,databas:[2,8],datafram:[1,2,4,8,9],dataframe_cach:2,dataport:8,dataset:[1,2,8],date:[1,2,5,7,8],dateoffset:8,datetim:8,datetime64:8,david:8,dcr_btc:6,ddof:8,deactiv:3,debian:5,debug:[7,8],debugg:8,decid:7,decil:8,declar:8,decor:[7,8],def:[1,8],defer:8,defin:[1,8],delai:1,delanei:8,delet:2,delta:8,demean:8,denomin:8,dep:3,depend:[3,5,7,8],deploi:7,deprec:[3,8],deriv:5,describ:8,descript:[3,5],design:8,desir:1,desktop:6,detail:[1,8],determin:8,dev1:5,dev2:5,dev3:5,dev4:5,dev5:5,dev6:5,dev8:5,dev9:5,dev:[3,5,6,8],devel:5,develop:1,deviat:8,dgb_btc:6,dharmasena:8,dictionari:8,did:8,diff:8,differ:[1,2,4,6,7,8,9],difficult:8,dip:8,dir:5,direct:8,directli:[2,5,8],directori:[1,2,3,5,7],disallow:8,disc:8,discard:8,discord:[1,5],dispatch:8,displai:[1,5,7],dist:7,distribut:[5,7,8],distutil:7,divid:3,dividend:[2,8],dividendsbyannouncementd:8,dividendsbyexd:8,dividendsbypayd:8,dma:[1,8],dname:1,dnf:5,doc:2,dockerfil:[3,8],document:[3,5],doe:[2,6,8],doesn:[1,2],doge_btc:6,dollar:[6,8],don:[1,3],done:[1,7,8],down:[1,8],downgrad:8,download:[1,2,5,8],downsampl:8,downsid:8,downside_risk:8,draft:7,drawback:2,drawdown:8,drive:[1,8],driven:[1,4,9],drop:8,dropna:8,dtype:8,dual_moving_avg:8,dual_moving_avg_analyz:8,due:8,durat:8,dure:[5,8],dynam:8,dynamically_generated_str:8,each:[1,2,3,4,6,8,9],earli:8,earlier:[1,2,3,8],earn:8,earningscalendar:8,eas:[4,9],easi:2,easier:[2,6,8],easiest:5,easili:1,eastern:8,echo:5,eco:[4,9],eddi:8,edit:[3,7],educt:1,edward:8,effici:8,either:[1,5,8],elabor:1,element_of:8,elif:1,els:5,emc2_btc:6,emiss:8,emit:8,empow:[1,4,9],empti:[2,3,7,8],empyr:8,enabl:8,encount:1,end:[1,8],endswith:8,enh:[3,8],enhanc:3,enigma:[1,5,6],enigmampc:1,enough:1,ensur:[0,3,5,7,8],ensure_timezon:8,enter:[1,5],entir:[3,8],entri:1,entrypoint:8,env:5,enviorn:2,enviro:5,equal:[2,8],equiti:[2,8],error:[3,5,6,8],especi:1,est:8,estim:8,etc:[3,7,8],etc_btc:6,etc_eth:6,etc_usdt:6,etf:8,eth:1,eth_btc:6,eth_usdt:6,evalu:1,even:[2,5,8],event:[1,8],eventu:8,everi:[1,5,8],everyth:2,exact:8,examin:1,excel:5,except:8,exchang:[1,2,4,6,8,9],exclud:8,execut:[0,1,8],exercis:8,exist:[2,3,4,8,9],exit:[1,7],exit_success:7,exp_btc:6,expand:8,expect:[0,2,6,7,8],experi:5,experienc:5,expir:8,expiringcach:8,explain:5,explicit:8,explicitli:[7,8],exponentialweightedmovingaverag:8,exponentialweightedmovingstddev:8,expos:8,exposur:8,express:[1,8],extend:8,extens:[2,3,5,8],extern:8,extra:[7,8],extra_d:8,extract:8,fail:[2,5,8],failur:2,fall:8,far:2,fast:[2,8],faster:8,fatal:5,favor:8,fawc:8,fct_btc:6,featur:1,februari:8,fed:8,fedora:5,feedback:2,feel:1,fetch:[2,6,8],fetcher:8,few:[2,7],fewer:5,field:[2,7,8],file:[1,2,3,5],filenam:1,fill:[1,8],filter:8,financ:8,financi:1,find:[1,2,5,7,8],fine:7,finish:[1,3],first_trading_dai:8,fix:3,fixtur:8,flag:[1,5,7],flake8:3,fldc_btc:6,flexibl:8,flo_btc:6,floor:8,focu:[4,9],follow:[0,1,2,3,5,6,7,8],foo:8,footprint:5,forgiv:8,form:6,format:[1,2],formerli:8,fortran:5,forward:[2,8],found:[1,3,5,6,8],frame:1,frank:8,free:[1,3,8],freetyp:5,frequenc:[1,8],fresh:[3,7],from:[0,1,2,3,5,6,7,8],full:[1,8],fulli:8,further:1,furthermor:8,futur:[1,2,8],future_chain:8,game_btc:6,garg:8,gas_btc:6,gas_eth:6,gave:1,gcc:5,gen_type_stub:7,gener:[2,3,5,7,8],get:[1,2,3],get_calendar:8,get_environ:8,get_index:8,get_loc:8,get_market_valu:8,gfortran:5,git:[3,7,8],github:[1,3,5,7],give:8,given:[1,2,6,8],gno_btc:6,gno_eth:6,gnt_btc:6,gnt_eth:6,good:7,goog:2,googl:8,got:1,grab:8,grain:7,granizo:8,grc_btc:6,gross:8,group:[1,8],groupbi:8,grow:[2,8],guarante:8,guard:8,gzip:7,had:8,half:8,hand:3,handl:[3,8],handle_d:8,handle_data:[0,1,8],hang:5,happen:[1,2,8],happi:7,hard:1,has_substr:8,have:[0,1,2,3,4,5,7,8,9],haven:1,hdf5:8,head:[1,5],header:[5,7],heapq:8,heavi:1,hebert:8,held:[6,8],help:[1,2],helper:8,here:[1,2,5],hidden:7,high:[1,8],highest:7,hint:[5,7,8],histor:[1,4,9],historycontain:8,hit:1,hitchhik:5,hold:8,homebrew:5,hook:8,hope:1,hopefulli:8,hour:8,how:[1,2,3,5,8],howev:[7,8],html:[3,7],http:[1,3,7,8],huc_btc:6,ichimoku:8,ichimokukinkohyo:8,idea:[1,2,3],imag:8,immedi:8,immut:0,imper:3,implement:[1,2,8],implicitli:0,improv:[3,8],includ:[1,2,3,5,7,8],incomplet:2,incorrect:8,incorrectli:8,increas:[2,8],increment:[1,7],incur:8,independ:5,index:[3,7,8],indic:[2,8],individu:1,ineffici:8,infer:2,influenc:1,inform:[0,1,2,5,7,8],ing:8,inherit:8,initi:[0,1,8],inplac:3,input:[1,4,6,8,9],insid:[1,5,8],insight:1,inspect:1,instal:[1,3],instanc:[0,2,8],instanti:8,instead:[2,3,6,8],instruct:[1,3,5],int64:8,integ:[2,8],intend:[3,7,8],interest:8,intern:[2,8],intra:8,introduc:[6,8],invalid:8,invest:[1,4,8,9],invoc:8,invok:2,involv:[2,5],ipython:[1,8],is_stal:8,isfinit:8,isn:8,isnan:8,issu:[1,3,5,6,7,8],iter:[1,2,8],itself:[1,8],jami:8,jan:1,jeremiah:8,join:5,jonathan:8,json:8,juggl:8,juli:8,jung:8,just:[1,2,3,6,7,8],kamen:8,keep:[1,2],kei:[2,4,8,9],kept:1,keyerror:8,keyword:8,kirkpatrick:8,kwarg:[7,8],label:[1,7,8],labelarrai:8,lack:[6,8],lambda:8,lambiri:8,lapack:5,larg:[2,8],last:[2,8],last_avail:8,last_pric:8,later:[1,2,3,8],latest:[7,8],layer:6,lazi:2,lbc_btc:6,lead:8,leak:2,learn:[1,3,4,5,9],least:[1,3],len:8,length:8,less:[2,8],let:[1,8],level:[1,2,8],lever:8,leverag:8,lib:[3,8],libatla:5,libfreetype6:5,libgfortran:5,librari:[3,4,5,8,9],lifetim:2,like:[1,2,3,4,5,6,7,8,9],limit:[6,8],linear:[5,8],link:8,linter:7,linux:3,liquid:8,list:[0,2,3,5,6,7,8],littl:[1,3],live:[1,4,8,9],load:[2,8],load_from_yahoo:8,loc:8,local:[1,2,3,7,8],locat:[1,2,8],logbook:8,logger:8,logic:1,long_mavg:1,longer:[1,3,7,8],longest:8,look:[1,2,7,8],lookup:[1,8],lookup_symbol:8,loop:[2,8],lot:[2,8],low:1,lower:8,lowercas:6,lowin:8,lsk_btc:6,lsk_eth:6,ltc_btc:6,ltc_usdt:6,ltc_xmr:6,macdsign:8,machin:[2,4,7,9],mackenzi:8,macosx:5,made:[2,3,8],magic:[1,8],magnitud:8,mai:[1,2,3,5,7,8],maid_btc:6,maid_xmr:6,mail:3,main:[1,5,7,8],mainli:8,maint:3,maintain:[6,7],mainten:3,major:[7,8],make:[1,2,3,5,6,7,8],manag:[1,5,7,8],mani:[1,2,5,7,8],manifest:7,manual:[1,5,7],map:[0,2,6,8],mar:8,march:8,mark:8,markdown:8,market:[4,6,8,9],market_clos:8,market_curr:6,marketplac:1,mask:8,master:[7,8],match:[1,5,7,8],matplotlib:[],matplotlibrc:5,matrix:7,mavg:[1,8],max:8,max_capital_us:3,max_count:8,max_leverag:3,max_not:8,max_shar:8,maybe_show_progress:2,mean:[1,2,5,7,8],meant:8,member:8,memori:[2,8],mention:[1,7,8],merg:[1,8],merger:2,messag:1,method:[0,2,7,8],metric:[1,8],michael:8,micro:[7,8],microsoft:5,midnight:8,might:8,miniconda:5,minimum:8,minor:[7,8],minut:[1,2,4,5,8,9],minute_to_session_label:8,minutesimulationclock:8,misalign:8,mislabel:8,miss:[1,5,8],missing_valu:8,mkvirtualenv:3,mock:8,mode:[1,4,8,9],modif:3,modul:8,mois:8,moment:[5,7],momentum:1,momentum_pipelin:8,monei:0,month:7,more:[0,1,2,5,8],morn:8,most:[1,2,5,8],mostli:8,motiv:8,movingaverageconvergencedivergencesign:8,mpc:1,msft:[2,8],much:[2,8],multipl:[2,7,8],multiplex:8,must:[2,7,8],my_new_bundle_ingest:8,name2:8,name3:8,name4:8,name:[1,2,3,5],nameerror:8,namespac:[1,7,8],nan:8,nano:7,nativ:5,natur:1,naut_btc:6,nav_btc:6,navig:3,necessari:5,need:[1,2,3,5,6,7,8],neg:[1,8],neos_btc:6,net:[3,8],never:[2,8],newer:[2,8],next:[1,2,5],nice:[4,9],nmc_btc:6,nodataond:8,nois:8,non:[5,8],none:8,nonexist:8,noop:8,normal:8,nose:8,nose_parameter:8,nosetest:3,notabl:8,note:[1,3,5],note_btc:6,notebook:[1,8],notic:8,notnan:8,notnullfilt:8,novel:8,novemb:[7,8],now:[1,2,3,5,7,8],number:[1,2,4,5,7,8,9],numer:[5,8],numpi:[3,5,7,8],nxc_btc:6,nxt_btc:6,nxt_usdt:6,nxt_xmr:6,nyse:8,occur:8,odditi:8,off:8,ohlc:[1,8],older:[2,8],omg_btc:6,omg_eth:6,omni:6,omni_btc:6,onc:[1,2,5,7,8],onli:[0,1,2,3,4,5,7,8,9],open:[1,3,5,8],openssl:5,oper:[5,8],opt:8,optim:8,option:[1,2,8],order_batch:8,order_perc:8,order_target:1,order_target_perc:8,ordered_pip:3,orderedcontract:8,org:[7,8],organ:[1,8],origin:[7,8],oscil:8,osx:[1,3],other:[1,2,5,6,7,8],otherwis:8,our:[1,3,5,7],out:[1,2,3,4,5,7,8,9],outdat:5,outlin:5,output:[1,2,4,8,9],outsid:8,overcom:6,overhead:8,overrid:[5,7],overridden:8,override_:8,overridecommissionpostinit:8,overrideslippagepostinit:8,overview:[4,6,9],own:2,packag:1,pacman:5,page:[3,5,7],pai:8,pair:6,panda:[1,2,4,8,9],pandas_dataread:8,pankaj:8,paper:[3,8],param:[1,8],parameter:8,parent:8,pariti:8,pars:2,part:[2,5],partial:8,particular:5,partit:8,pasc_btc:6,pass:[1,2,3,7,8],password:7,past:8,patch:[3,8],path:[2,8],patsi:8,pend:7,peopl:[3,8],pep8:[3,8],per:[2,8],percent:8,percent_of:8,percent_of_fn:8,percentag:8,perf:[1,3,8],perform:[1,3,5],performanceperiod:8,period:[3,8],pershar:8,persist:1,pertrad:8,pickl:[1,8],piec:2,pin:8,pink_btc:6,pip:3,pkg:5,place:[1,8],platform:[4,5,8,9],pleas:[3,5],plot:[1,8],point:[1,7],poloniex:[1,4,6,9],popul:[7,8],porit:8,port:8,portal:8,portfolio:[1,8],portfolio_valu:[1,8],posit:[1,8],possibl:[2,3,8],post:7,postiv:8,pot_btc:6,potenti:8,power:1,ppc_btc:6,practic:3,prdownload:3,pre:[2,5,8],precis:8,prefer:8,prefix:3,preform:8,preload:[2,8],preper:8,preprocess:7,preprocessor:8,present:[1,8],prevent:[2,7,8],previous:[1,8],primari:5,primarili:8,print:[1,5,7,8],prior:8,probabl:1,problem:[1,2,5,7],proceed:5,process:[1,2,3],produc:[2,5,8],profit:[1,4,9],progress:2,project:[5,8],proper:[5,8],properli:8,properti:8,protect:[0,8],protocol:[1,6],provid:[0,1,2,4,5,8,9],publish:[7,8],pull:[3,7,8],purpos:1,push:7,put:8,pycharm:[7,8],pydata:[4,8,9],pyflak:8,pyfolio:8,pyi:8,pylab:8,pypars:8,pypirc:7,pypitest:7,python2:5,python:[1,3,5],pytz:8,quandl_api_kei:2,quandl_download_attempt:2,quantil:8,quantopianusfuturescalendar:8,quarter:8,quartil:8,queri:[2,8],question:[1,3],quick:1,quirk:5,quit:2,rads_btc:6,rais:[3,8],ran:2,random:8,rang:[1,2,8],rank:8,rate:8,rather:[5,8],ratio:8,raw:[2,5],reach:8,read:[1,2,3,8],read_pickl:1,readi:7,real:0,realist:1,reason:[2,5],rebal:8,recarrayfield:8,receiv:[2,8],recent:[1,2,5],recommend:[2,5,8],reconstruct:1,record:[1,8],redhat:5,redownload:[2,8],refactor:3,refcount:8,referenc:8,regist:[0,2,8],regress:8,regular:5,rel:3,relat:[3,8],relationship:2,releas:[3,5],remain:8,remot:[2,8],remov:[3,7,8],renam:[7,8],render:8,rep:5,rep_btc:6,rep_eth:6,rep_usdt:6,repeat:8,replac:8,report:[1,3,5,8],repositori:[5,7],repr:8,repres:[2,8],reproduc:2,request:[1,2,3,8],requir:[3,5,7,8],requirements_blaz:3,requirements_dev:3,requirements_doc:3,requirements_talib:3,reserv:6,reset:8,resolut:[1,4,9],resolv:8,resourc:[2,8],respect:[3,7,8],respons:[2,8],rest:2,restrict:8,restructuredtext:3,result:[1,2,5,8],retir:8,retri:2,retriev:8,rev:3,revert:3,rewritten:8,rhel:5,ric_btc:6,richard:8,right:5,risk:[1,8],riskmetricscumul:8,roll:[1,8],rollinglinearregressionofreturn:8,rollingpanel:8,rollingpearsonofreturn:8,rollingspearmanofreturn:8,rollup:2,root:[3,7,8],round:8,routin:5,row:1,rst:[3,7],rule:8,run_algo:8,run_algorithm:[1,8],runawai:8,runtim:[1,8],safeguard:8,said:8,sale:8,same:[1,2,5,7,8],sampl:8,sanderson:8,satisfi:5,save:[1,2,3,5,8],sbd_btc:6,sc_btc:6,scale:8,schatzow:8,schedule_funct:8,scipi:[4,5,8,9],scott:8,script:[1,7,8],seamless:[4,9],search:8,second:[1,5,8],section:[1,3,5,7,8],secur:[4,8,9],see:[0,1,2,4,5,8,9],seek:5,seen:8,select:5,self:[0,8],sell:1,sentinel:8,separ:[1,3,5,6],septemb:8,seri:[1,8],serial:8,seriou:1,server:[1,2,7],servic:[2,8],session:[5,8],set:[1,2,3,5,8],set_:8,set_commiss:8,set_do_not_order_list:8,set_long_onli:8,set_max_leverag:8,set_max_order_count:8,set_max_order_s:8,set_max_position_s:8,set_slippag:8,setcommissionpostinit:8,setslippagepostinit:8,settl:8,settled_cash:8,setup:[3,7,8],setuptool:[5,8],sever:[1,4,5,8,9],shape:8,share:[1,4,8,9],sharebuybackauthor:8,sharp:[1,8],sharpli:8,ship:[2,5,7],short_mavg:1,shorter:1,should:[0,1,2,3,5,7,8],shouldn:8,shourc:2,show:[1,2,8],show_graph:8,shown:2,sid:[2,8],siddata:8,signal:[2,8],signatur:2,signifi:8,silent:8,sim_param:8,similar:[5,8],simpl:[1,8],simpli:[3,5,8],simplifi:1,sinc:[5,7,8],singl:[2,5,8],situat:8,six:8,size:[5,8],sjcx_btc:6,skeleton:7,skip:[1,5,8],sklearn:[4,9],slice:8,slightli:5,slippagemodel:8,small:8,smaller:[5,8],solidifi:8,solut:5,solv:[2,5],some:[1,2,3,5,8],someon:5,someth:3,sortino:8,sourc:[1,2,3,5,7,8],sourceforg:3,space:8,span:8,spars:8,specif:[1,8],specifi:[1,2,7,8],specificasset:8,speed:8,speedup:8,spend:1,spent:6,sphinx:[3,7,8],split:[1,2,8],spuriou:8,sqliteadjustmentwrit:2,squar:8,src:3,stabl:5,stai:7,standard:[2,3,6,8],start:[1,2,3,5,8],startswith:8,stat:8,state:[1,2,4,8,9],statist:[1,4,9],statsmodel:[4,8,9],std:8,stddev:8,stdout:[1,8],steem_btc:6,steem_eth:6,step:[1,2,5],still:[1,2,5,8],stochast:8,stock:[1,2,8],storag:1,store:[1,2,6,8],str:8,str_btc:6,str_usdt:6,strat_btc:6,strategi:[1,4,9],stream:[1,8],strength:8,strictli:2,string:[2,7],string_typ:8,strong:8,strongli:5,structur:8,sty:3,subclass:8,subdirectori:2,subject:[3,8],submit:3,subtest:8,succe:7,success:2,sudo:[3,5],suffici:[5,8],suggest:3,suminda:8,summar:[1,5],superior:8,suppli:[1,8],support:[1,5,7],suppos:1,sure:[3,5],surpris:1,suspect:3,symbol:[1,2,6,8],symbolnotfoundonexchang:6,symptom:8,sync:[7,8],syntax:[7,8],sys_btc:6,system:[3,4,5,8,9],tag:7,take:[1,2,5,8],taken:7,tar:[3,7],tarbal:7,target:[1,8],tbd:8,tech_filt:8,tech_stock:8,technic:8,tell:8,templat:7,temporari:7,ten:[1,8],tens:3,term:[1,8],termin:[1,5],test:1,testpypi:7,tether:6,text:1,than:[1,2,3,5,8],thei:[1,2,7,8],them:[1,3,5,7,8],themselv:8,therefor:7,therein:5,thi:[0,1,2,3,5,6,7,8],thing:8,think:8,third:1,thoma:8,those:[1,3,7,8],though:[2,5,8],three:[1,2,8],through:[0,1,2,5,8],thse:8,thu:[1,5],tick:8,ticker:[2,8],time:[1,2,5,7,8],timedelta:8,timer:8,timestamp:[1,2,8],tini:8,titl:7,tkagg:5,to_dict:8,todai:[7,8],togeth:1,toni:8,too:[1,8],tool:[2,3,5,7,8],top:[1,4,7,8,9],tornado:8,total:[2,8],total_positions_valu:8,toward:8,traceback:6,track:[1,3,8],tracker:[1,8],trader:1,tradesimul:8,tradingalgorithm:[0,7,8],tradingcalendar:[2,8],trail:8,transact:1,transaction:2,transfer:6,transform:[1,8],transit:[4,9],travers:8,travi:[3,7,8],treasuri:8,treat:8,trend:1,tresaury_period_return:8,tri:[1,4,9],trigger:8,trovo:8,truerang:8,truncat:8,tst:3,tupl:[2,8],turn:7,twice:[7,8],two:[1,4,5,8,9],txn:8,txt:[3,5,7],type:[7,8],typo:3,tzinfo:8,ubuntu:5,unaffect:8,unalign:8,unbalanc:8,uncondition:8,under:[1,2,7,8],underlin:7,underscor:6,understand:[1,5,8],undesir:[0,8],undocu:8,unicod:8,unifi:8,uniqu:8,unit:[1,6,8],univers:[1,8],unlik:[2,8],unnecessari:8,unneed:8,unpack:5,unregist:0,untar:2,untest:8,unus:3,unverifi:8,updat:1,upgrad:[5,7,8],upon:8,upward:1,url:7,usag:[1,8],usd:[1,6],usdt:6,user:[1,2,4,5,6,7,8,9],usernam:[3,7],usr:3,utc:8,vagrantfil:8,valid:8,valu:[1,8],value1:8,value2:8,value3:8,value4:8,vari:[5,8],variabl:[1,2,8],variou:[1,2,8],varnam:1,vector:8,venv:5,veri:[1,2,5,7],verifi:7,version:[1,5,7,8],via:[1,5,6,8],via_btc:6,viabl:6,victori:6,view:[3,7],violatil:8,virtual:5,virtualenv:3,virtualenvwrapp:3,visual:[4,5,9],volatil:8,volum:[1,4,6,8,9],vrc_btc:6,vtc_btc:6,vwap:8,wai:[2,4,5,8,9],wait:8,want:[1,2,3,6,8],warm:8,warn:[7,8],web:7,websit:8,weight:8,welcom:3,well:[1,2,5,8],were:[3,7,8],wget:3,what:[3,7],whatev:2,whatsnew:7,wheel:[5,7],when:[0,1,2,3,7,8],where:[1,2,3,5,6,8],wherea:8,which:[1,2,3,5,7,8],whitespac:3,who:[3,8],whole:1,why:3,width:7,wiecki:8,wikipedia:8,win:7,window:[1,3],window_length:8,window_saf:8,winsor:8,wise:8,wish:5,withassetfind:8,within:[5,8],without:[2,5,8],workon:3,workspac:8,worth:[1,8],would:[1,2,5,7,8],wrap:[7,8],write:1,written:[1,2,6,8],wrong:[6,8],wrongdatafortransform:8,xbc_btc:6,xcp_btc:6,xem_btc:6,xlrd:8,xmr_btc:6,xmr_usdt:6,xpm_btc:6,xrp_btc:6,xrp_usdt:6,xvc_btc:6,xvzf:3,yahoo_equ:2,year:7,yet:1,yml:[5,8],you:[1,2,3,4,5,6,7,8,9],your:[1,2,3,4,5,7,8,9],yum:5,zec_btc:6,zec_eth:6,zec_usdt:6,zec_xmr:6,zero:[3,8],ziplin:[2,3,7],zipline_root:[2,7],ziplinetestcas:8,zrx_btc:6,zrx_eth:6,zscore:8},titles:["API Reference","Catalyst Beginner Tutorial","Data Bundles","Development Guidelines","Features","Install","Naming Convention","Release Process","Release Notes","Features"],titleterms:{"__version__":7,"default":2,"function":0,"new":[2,8],access:1,adjustment_writ:2,algorithm:[0,1],amazon:5,ami:5,api:0,asset:0,asset_db_writ:2,avail:2,averag:1,backtest:[0,2],basic:1,bdist:7,beginn:1,bug:8,build:8,built:0,bundl:[0,2,8],cach:[0,2],calendar:[0,2],cancel:0,catalyst:1,chang:8,command:[0,1],commiss:0,commit:[3,7],conclus:1,conda:[5,7],content:4,continu:3,contribut:3,contributor:8,control:0,convent:6,creat:3,cross:1,daily_bar_writ:2,data:[0,1,2,8],develop:[3,8],discov:2,doc:3,docker:3,docstr:3,document:[7,8],dual:1,end_sess:2,engin:0,enhanc:8,entri:8,environ:[2,3],exampl:1,experiment:8,factor:0,factori:2,featur:[4,8,9],file:7,first:1,fix:8,format:[3,8],get:5,gnu:5,guid:3,guidelin:3,help:5,highlight:8,histori:1,ingest:[1,2],instal:5,integr:3,interfac:1,line:[0,1],linux:5,loader:0,mainten:8,matplotlib:5,messag:3,metadata:0,minute_bar_writ:2,mirror:2,miscellan:[0,8],model:0,move:1,name:6,next:7,note:[7,8],object:0,old:2,order:0,osx:5,output_dir:2,over:1,packag:[3,7],paramet:0,perform:8,pip:5,pipelin:[0,8],point:8,polici:0,previou:1,price:1,process:7,pypi:7,python:7,quandl:2,quantopian:2,reader:0,refactor:8,refer:0,releas:[7,8],rewrit:8,run:[0,1,2,3],schedul:0,sdist:7,show_progress:2,simul:0,slippag:0,start_sess:2,string:8,stub:7,style:3,support:8,tabl:4,test:[3,8],trade:0,troubleshoot:5,tutori:1,updat:7,upload:7,util:0,virtualenv:5,wiki:2,window:5,work:1,write:2,writer:0,yahoo:2,ziplin:8}}) \ No newline at end of file +Search.setIndex({envversion:46,filenames:["appendix","beginner-tutorial","bundles","development-guidelines","index","install","naming-convention","release-process","releases","welcome"],objects:{"zipline.data.bundles":{bundles:[0,0,1,""]}},objnames:{"0":["py","data","Python data"]},objtypes:{"0":"py:data"},terms:{"000000e":1,"00pm":8,"01pm":8,"0x10eaeadd0":1,"11465d9":8,"1st":1,"2ee40db":8,"328842e":1,"380954e":1,"505275d6646a41f3856b22b16678d":1,"533233fae43c7ff74abfb0044f046978817cb4e4":8,"536708e":1,"5f49fa2":8,"650729e":1,"7869f7828fa140328eb40477bb7d":1,"998236e":1,"998677e":1,"999120e":1,"999558e":1,"__getitem__":8,"__main__":8,"__name__":8,"__repr__":8,"__wrapped__":7,"_position_amount":8,"abstract":8,"boolean":[2,8],"case":[1,2,3,5,8],"catch":8,"class":[3,7,8],"default":[],"export":7,"final":[1,2,3],"float":[1,8],"import":[1,2,7,8],"int":[2,8],"long":[1,2,8],"new":[],"null":8,"return":[1,7,8],"short":[1,3,8],"static":[7,8],"switch":8,"throw":8,"true":8,"try":[3,5,8],"var":1,"while":[7,8],aapl:[2,8],abil:[2,8],abl:[1,2,5,8],about:[1,2,3,5,8],abov:[1,3,5,6,7,8],absolut:8,accept:[2,7,8],accident:8,accord:[7,8],accordingli:8,account:[2,4,8,9],achiev:1,acquir:[2,5],across:[6,8],act:8,action:8,activ:[5,7,8],actual:8,add:[2,3,7,8],add_histori:8,add_subplot:1,addit:[3,5,8],address:7,adjust:[2,8],advanc:8,advantag:5,affect:8,after:[1,2,3,5,7,8],again:8,against:[1,8],ahead:1,alexand:8,algebra:5,algo:[1,2,8],algo_volatil:1,algofil:[1,2],algorithm_period_return:[1,8],algotext:1,alia:8,alias_dt:8,align:8,all:[0,1,2,3,4,5,6,7,8,9],all_api_method:8,alloc:8,allow:[1,2,5,8],along:[2,8],alpha:[1,5,8],alreadi:[2,3,5],also:[1,2,3,5,7,8],altern:[5,6,8],although:1,alwai:[2,6,7,8],amor:8,amount:[1,8],amp_btc:6,anaconda:[5,7,8],anaconda_token:8,analogu:8,analysi:[4,7,9],analyt:5,analyz:[1,8],andrea:8,ani:[1,2,5,6,7,8],announc:8,annual:8,annualizedvolatil:8,anonym:2,anoth:[1,2,5,8],anymor:1,anyth:[1,5,7],app:1,appar:1,appear:[2,7],append:[7,8],appendix:3,appli:[1,8],applic:1,appropri:3,approxim:8,appveyor:[3,7,8],april:8,apt:5,arch:5,architectur:1,ardr_btc:6,arena:8,arg:[1,7,8],argument:[0,1,2,7,8],aroon:8,around:[7,8],arrai:[5,8],art:[4,9],ask:[1,3],asof_d:8,assess:1,asset_find:8,assetdbwrit:2,assetfind:8,assetfindercachedequ:8,assign:[1,8],assist:5,assum:[1,3,5],atla:5,atleastn:8,attach_pipelin:8,attempt:[2,8],attribut:[7,8],author:8,auto:8,auto_close_d:8,automag:1,automat:1,avail:[],averagedollarvolum:8,avoid:[1,2,8],awar:[7,8],ax1:1,ax2:1,back:[3,6,8],backend:5,backfil:8,backward:8,bad:8,band:8,bar:[1,8],bar_count:[1,8],bardata:8,barread:8,base:[1,2,4,5,8,9],base_curr:6,basi:8,batch:8,batch_transform:8,batchtransform:8,batteri:1,bch_btc:6,bch_eth:6,bch_usdt:6,bcn_btc:6,bcn_xmr:6,bcolz:[2,8],bcolzdailybarread:[2,8],bcolzdailybarwrit:[2,8],bcolzminutebarread:[2,8],bcolzminutebarwrit:[2,8],bcy_btc:6,be62ff77760c4599abaac43be9cc9:1,becaus:[5,7,8],becom:8,been:[0,1,2,5,7,8],befor:[1,2,3,5,8],before_trading_start:[0,8],begin:[5,8],behavior:[0,8],bela_btc:6,believ:1,below:[1,5],benchmark:8,benchmark_period_return:1,benchmark_volatil:1,benefit:1,best:[3,5],beta:[1,8],better:8,between:[3,4,6,8,9],bia:1,big:5,bin:5,binari:[5,7,8],bit:[3,8],bitcoin:[1,6],bitfinex:[1,4,9],bittrex:[1,4,9],blaze:8,blazeearningscalendarload:8,blazeload:8,bld:3,blk_btc:6,blk_xmr:6,bloat:8,blockchain:6,blotter:8,bmf:8,board:8,bodi:3,bolling:8,bollinger_band:8,bollingerband:8,book:1,book_target_perc:8,bool:8,both:[3,4,6,7,8,9],bottom:8,bought:1,bound:1,boundari:8,boundcolumn:8,bovespa:8,branch:[3,7],brew:[3,5],brother:5,brows:5,browser:[3,7],btc:1,btc_usd:[1,6],btc_usdt:6,btcd_btc:6,btcd_xmr:6,btm_btc:6,bts_btc:6,bucket:8,bug:[2,3],bui:[1,8],build:[3,5,7],build_ext:3,bump:8,burst_btc:6,businessdayssincecashbuybackauth:8,businessdayssincedividendannounc:8,businessdayssincepreviousearn:8,businessdayssincepreviousexd:8,businessdayssincesharebuybackauth:8,businessdaysuntilnextearn:8,businessdaysuntilnextexd:8,button:[5,7],buy_and_hodl:1,buy_btc:[],buy_btc_simpl:1,buy_btc_simple_out:1,buy_simple_btc_out:[],buyback:8,buyback_auth:8,cachedobject:8,calc:8,calc_dividend_ratio:8,calcul:[1,3,8],calculate_max_drawdown:8,call:[1,2,3,8],can:[1,2,3,4,5,6,7,8,9],can_trad:8,candl:6,cannot:5,canon:3,cap:8,capabl:8,capit:[1,8],capital_bas:8,capital_us:1,captur:[1,8],cash:[2,3,8],cashbuybackauthor:8,catalyst_dev:[1,5],categor:8,caus:[0,1,2,3,8],ceiling:8,cell:8,certain:8,certian:0,chain:8,chanc:1,chang:[3,7],channel:[1,5],charact:3,charg:[1,8],chart:5,check:[1,2,3,6,8],checker:7,checkout:[3,7],checkpoint:8,choic:7,choos:[5,6,7],chunk:[1,8],clam_btc:6,classic:1,classifi:[1,8],classmethod:8,clean:[2,5,7,8],cleaner:8,clear:2,cli:8,click:[5,7],clock:8,clone:3,close:[1,8],cloud:8,cmd:1,code:[7,8],codebas:3,coerc:8,colin:8,collect:[1,2],color:1,column:[1,2,8],com:[1,2,3,8],combin:8,come:[2,5,8],comingl:8,commis:8,commissionmodel:8,common:[1,8],commonli:1,commun:5,compar:[1,8],comparison:8,compat:8,compil:[5,7,8],complex:[5,8],complic:8,compounded_log_return:8,comput:[1,5,8],concept:[1,8],conceptu:8,concurr:8,conda:3,conda_build_matrix:7,condit:8,conf:1,config:5,configur:[1,3,5,8],conflict:8,congratul:5,connect:8,consid:8,consist:[1,6,8],constraint:2,construct:8,constructor:8,consum:[7,8],contain:[1,2,3,5,8],context:[1,8],contigu:8,continu:[],continuum:5,contract:8,conveni:1,convent:[],convers:2,convert:[2,8],copi:[2,3,7,8],core:[5,8],correct:[2,5,7,8],correctli:[1,7,8],correl:8,cost:[1,8],could:[0,1,2,5,8],count:[2,8],coupl:1,cover:8,coverag:[4,6,9],coveral:8,cpu:8,cpython:5,crash:[2,8],creat:2,create_event_context:8,crypto:[1,4,9],cryptoasset:1,cryptocurr:6,csv:8,cumul:8,cumulative_capital_us:3,curat:[1,4,9],currenc:1,current:[0,1,2,3,7,8],current_chain:8,custom:[2,8],customfactor:8,cut:8,cutoff:8,cvc_btc:6,cvc_eth:6,cython:[7,8],d6dca79513214346a646079213526:1,dai:[1,2,7,8],daili:[1,2,4,6,8,9],dailysimulationclock:8,dale:8,dash_btc:6,dash_usdt:6,dash_xmr:6,data_frequ:8,data_query_tim:8,data_query_tz:8,databas:[2,8],datafram:[1,2,4,8,9],dataframe_cach:2,dataport:8,dataset:[1,2,8],date:[1,2,5,7,8],dateoffset:8,datetim:8,datetime64:8,david:8,dcr_btc:6,ddof:8,deactiv:3,debian:5,debug:[7,8],debugg:8,decid:7,decil:8,declar:8,decor:[7,8],def:[1,8],defer:8,defin:[1,8],delai:1,delanei:8,delet:2,delta:8,demean:8,denomin:8,dep:3,depend:[3,5,7,8],deploi:7,deprec:[3,8],deriv:5,describ:8,descript:[3,5],design:8,desir:1,desktop:6,detail:[1,8],determin:8,dev1:5,dev2:5,dev3:5,dev4:5,dev5:5,dev6:5,dev8:5,dev9:5,dev:[3,5,6,8],devel:5,develop:[],deviat:8,devis:1,dgb_btc:6,dharmasena:8,dictionari:8,did:8,diff:8,differ:[1,2,4,6,7,8,9],difficult:8,dip:8,dir:5,direct:8,directli:[1,2,5,8],directori:[1,2,3,5,7],disallow:8,disc:8,discard:8,discord:[1,5],dispatch:8,displai:[1,5,7],dist:7,distribut:[5,7,8],distutil:7,divid:3,dividend:[2,8],dividendsbyannouncementd:8,dividendsbyexd:8,dividendsbypayd:8,dma:[1,8],dname:1,dnf:5,doc:2,dockerfil:[3,8],document:[3,5],doe:[2,6,8],doesn:[1,2],doge_btc:6,dollar:[6,8],don:[1,3],done:[1,7,8],down:[1,8],downgrad:8,download:[1,2,5,8],downsampl:8,downsid:8,downside_risk:8,draft:7,drawback:2,drawdown:8,drive:[1,8],driven:[1,4,9],drop:8,dropna:8,dtype:8,dual_moving_avg:8,dual_moving_avg_analyz:8,due:8,durat:8,dure:[5,8],dynam:8,dynamically_generated_str:8,each:[1,2,3,4,6,8,9],earli:8,earlier:[1,2,3,8],earn:8,earningscalendar:8,eas:[4,9],easi:2,easier:[1,2,6,8],easiest:5,easili:1,eastern:8,echo:5,eco:[4,9],eddi:8,edit:[3,7],educt:1,edward:8,effici:8,either:[1,5,8],elabor:1,element_of:8,elif:1,els:5,emc2_btc:6,emiss:8,emit:8,empow:[1,4,9],empti:[2,3,7,8],empyr:8,enabl:8,encount:1,end:[1,8],ending_cash:1,ending_exposur:1,endswith:8,enh:[3,8],enhanc:3,enigma:[1,5,6],enigmampc:1,enough:1,ensur:[0,3,5,7,8],ensure_timezon:8,enter:[1,5],entir:[3,8],entri:[],entrypoint:8,env:5,enviorn:2,enviro:5,equal:[2,8],equiti:[2,8],error:[3,5,6,8],especi:1,est:8,estim:[1,8],etc:[3,7,8],etc_btc:6,etc_eth:6,etc_usdt:6,etf:8,eth:1,eth_btc:6,eth_usdt:6,evalu:1,even:[2,5,8],event:[1,8],eventu:8,everi:[1,5,8],everyth:2,exact:8,examin:1,excel:5,except:8,exchang:[1,2,4,6,8,9],exchange_algorithm:1,exclud:8,execut:[0,1,8],exercis:8,exist:[2,3,4,8,9],exit:[1,7],exit_success:7,exp_btc:6,expand:8,expect:[0,2,6,7,8],experi:5,experienc:5,expir:8,expiringcach:8,explain:5,explicit:8,explicitli:[1,7,8],exponentialweightedmovingaverag:8,exponentialweightedmovingstddev:8,expos:8,exposur:8,express:[1,8],extend:8,extens:[2,3,5,8],extern:8,extra:[7,8],extra_d:8,extract:8,fail:[2,5,8],failur:2,fall:8,far:2,fast:[2,8],faster:8,fatal:5,favor:8,fawc:8,fct_btc:6,featur:[],februari:8,fed:8,fedora:5,feedback:2,feel:1,fetch:[2,6,8],fetcher:8,few:[2,7],fewer:5,field:[2,7,8],fig:1,figsiz:1,figur:1,file:[2,3,5],filenam:1,fill:[1,8],filter:8,financ:8,financi:1,find:[1,2,5,7,8],fine:7,finish:[1,3],first_trading_dai:8,fix:3,fixtur:8,flag:[1,5,7],flake8:3,fldc_btc:6,flexibl:8,flo_btc:6,floor:8,focu:[4,9],follow:[0,1,2,3,5,6,7,8],foo:8,footprint:5,forgiv:8,form:[1,6],format:2,formerli:8,fortran:5,forward:[2,8],found:[1,3,5,6,8],frame:1,frank:8,free:[1,3,8],freetyp:5,frequenc:[1,8],fresh:[3,7],from:[0,1,2,3,5,6,7,8],full:[1,8],fulli:8,further:1,furthermor:8,futur:[1,2,8],future_chain:8,game_btc:6,garg:8,gas_btc:6,gas_eth:6,gave:1,gcc:5,gen_type_stub:7,gener:[2,3,5,7,8],get:[2,3],get_calendar:8,get_environ:8,get_index:8,get_loc:8,get_market_valu:8,gfortran:5,git:[3,7,8],github:[1,3,5,7],give:8,given:[1,2,6,8],gno_btc:6,gno_eth:6,gnt_btc:6,gnt_eth:6,good:7,goog:2,googl:8,got:1,grab:8,grain:7,granizo:8,grc_btc:6,gross:8,group:[1,8],groupbi:8,grow:[2,8],guarante:8,guard:8,gzip:7,had:8,half:8,hand:3,handl:[3,8],handle_d:8,handle_data:[0,1,8],hang:5,happen:[1,2,8],happi:7,hard:1,has_substr:8,have:[0,1,2,3,4,5,7,8,9],haven:1,hdf5:8,head:[1,5],header:[5,7],heapq:8,heavi:1,hebert:8,held:[6,8],help:2,helper:8,here:[1,2,5],hidden:7,high:[1,8],highest:7,hint:[5,7,8],histor:[1,4,9],historycontain:8,hit:1,hitchhik:5,hold:8,homebrew:5,hook:8,hope:1,hopefulli:8,hour:8,how:[1,2,3,5,8],howev:[7,8],html:[3,7],http:[1,3,7,8],huc_btc:6,ichimoku:8,ichimokukinkohyo:8,idea:[1,2,3],imag:8,immedi:8,immut:0,imper:3,implement:[1,2,8],implicitli:0,improv:[3,8],includ:[1,2,3,5,7,8],incomplet:2,incorrect:8,incorrectli:8,increas:[2,8],increment:[1,7],incur:8,independ:5,index:[1,3,7,8],indic:[2,8],individu:1,ineffici:8,infer:2,influenc:1,info:1,inform:[0,1,2,5,7,8],ing:8,inherit:8,initi:[0,1,8],inlin:1,inplac:3,input:[1,4,6,8,9],insid:[1,5,8],insight:1,inspect:1,instal:3,instanc:[0,2,8],instanti:8,instead:[2,3,6,8],instruct:[1,3,5],int64:8,integ:[2,8],intend:[1,3,7,8],interact:1,interest:8,intern:[2,8],intra:8,introduc:[6,8],invalid:8,invest:[1,4,8,9],invoc:8,invok:2,involv:[2,5],ipython:[1,8],is_stal:8,isfinit:8,isn:8,isnan:8,issu:[1,3,5,6,7,8],iter:[1,2,8],itself:[1,8],jami:8,jan:1,jeremiah:8,join:5,jonathan:8,json:8,juggl:8,juli:8,jung:8,just:[1,2,3,6,7,8],kamen:8,keep:[1,2],kei:[2,4,8,9],kept:1,keyerror:8,keyword:8,kirkpatrick:8,kwarg:[7,8],label:[1,7,8],labelarrai:8,lack:[6,8],lambda:8,lambiri:8,lapack:5,larg:[2,8],last:[1,2,8],last_avail:8,last_pric:8,later:[1,2,3,8],latest:[7,8],layer:6,lazi:2,lbc_btc:6,lead:8,leak:2,learn:[1,3,4,5,9],least:[1,3],legend:1,len:8,length:8,less:[2,8],let:[1,8],level:[1,2,8],lever:8,leverag:8,lib:[3,8],libatla:5,libfreetype6:5,libgfortran:5,librari:[3,4,5,8,9],lifetim:2,like:[1,2,3,4,5,6,7,8,9],limit:[6,8],linear:[5,8],link:8,linter:7,linux:3,liquid:8,list:[0,2,3,5,6,7,8],littl:[1,3],live:[1,4,8,9],load:[2,8],load_from_yahoo:8,loc:[1,8],local:[1,2,3,7,8],locat:[1,2,8],logbook:8,logger:8,logic:1,long_mavg:1,longer:[1,3,7,8],longest:8,look:[1,2,7,8],lookup:[1,8],lookup_symbol:8,loop:[2,8],lot:[2,8],low:1,lower:8,lowercas:6,lowin:8,lsk_btc:6,lsk_eth:6,ltc_btc:6,ltc_usdt:6,ltc_xmr:6,macdsign:8,machin:[2,4,7,9],mackenzi:8,macosx:5,made:[2,3,8],magic:[1,8],magnitud:8,mai:[1,2,3,5,7,8],maid_btc:6,maid_xmr:6,mail:3,main:[1,5,7,8],mainli:8,maint:3,maintain:[6,7],mainten:3,major:[7,8],make:[1,2,3,5,6,7,8],manag:[1,5,7,8],mani:[1,2,5,7,8],manifest:7,manual:[1,5,7],map:[0,2,6,8],mar:8,march:8,mark:8,markdown:8,markers:1,market:[1,4,6,8,9],market_clos:8,market_curr:6,marketplac:1,mask:8,master:[7,8],match:[1,5,7,8],matplotlib:[],matplotlibrc:5,matrix:7,mavg:[1,8],max:8,max_capital_us:3,max_count:8,max_leverag:3,max_not:8,max_shar:8,maybe_show_progress:2,mean:[1,2,5,7,8],meant:8,member:8,memori:[2,8],mention:[1,7,8],merg:[1,8],merger:2,messag:[],method:[0,2,7,8],metric:[1,8],michael:8,micro:[7,8],microsoft:5,midnight:8,might:[1,8],miniconda:5,minimum:8,minor:[7,8],minut:[1,2,4,5,8,9],minute_to_session_label:8,minutesimulationclock:8,misalign:8,mislabel:8,miss:[1,5,8],missing_valu:8,mkvirtualenv:3,mock:8,mode:[1,4,8,9],modif:3,modul:8,mois:8,moment:[5,7],momentum:1,momentum_pipelin:8,monei:0,month:7,more:[0,1,2,5,8],morn:8,most:[1,2,5,8],mostli:8,motiv:8,movement:1,movingaverageconvergencedivergencesign:8,mpc:1,msft:[2,8],much:[1,2,8],multipl:[2,7,8],multiplex:8,must:[2,7,8],my_new_bundle_ingest:8,name2:8,name3:8,name4:8,name:[2,3,5],nameerror:8,namespac:[1,7,8],nan:[1,8],nano:7,nativ:5,natur:1,naut_btc:6,nav_btc:6,navig:3,ndarrai:1,necessari:5,need:[1,2,3,5,6,7,8],neg:[1,8],neos_btc:6,net:[3,8],never:[2,8],newer:[2,8],next:[2,5],nice:[4,9],nmc_btc:6,nodataond:8,nois:8,non:[5,8],none:8,nonexist:8,noop:8,normal:8,nose:8,nose_parameter:8,nosetest:3,notabl:8,note:[3,5],note_btc:6,notebook:[1,8],notic:8,notnan:8,notnullfilt:8,novel:8,novemb:[7,8],now:[1,2,3,5,7,8],number:[1,2,4,5,7,8,9],numer:[5,8],numpi:[1,3,5,7,8],nxc_btc:6,nxt_btc:6,nxt_usdt:6,nxt_xmr:6,nyse:8,occur:8,odditi:8,off:8,ohlc:[1,8],older:[2,8],omg_btc:6,omg_eth:6,omni:6,omni_btc:6,onc:[1,2,5,7,8],onli:[0,1,2,3,4,5,7,8,9],open:[1,3,5,8],openssl:5,oper:[5,8],opt:8,optim:8,option:[1,2,8],order_batch:8,order_id:1,order_perc:8,order_target:1,order_target_perc:8,ordered_pip:3,orderedcontract:8,org:[7,8],organ:[1,8],origin:[7,8],oscil:8,osx:3,other:[1,2,5,6,7,8],otherwis:8,our:[1,3,5,7],out:[1,2,3,4,5,7,8,9],outdat:5,outlin:5,output:[1,2,4,8,9],outsid:8,overcom:6,overhead:8,overrid:[5,7],overridden:8,override_:8,overridecommissionpostinit:8,overrideslippagepostinit:8,overview:[4,6,9],own:2,packag:[],pacman:5,page:[3,5,7],pai:8,pair:6,panda:[1,2,4,8,9],pandas_dataread:8,pankaj:8,paper:[3,8],param:[1,8],parameter:8,parent:8,pariti:8,pars:2,part:[2,5],partial:8,particular:5,partit:8,pasc_btc:6,pass:[1,2,3,7,8],password:7,past:[1,8],patch:[3,8],path:[2,8],patsi:8,pend:7,peopl:[3,8],pep8:[3,8],per:[2,8],percent:8,percent_of:8,percent_of_fn:8,percentag:8,perf:[1,3,8],perf_tran:1,perform:[3,5],performanceperiod:8,period:[3,8],pershar:8,persist:1,pertrad:8,pickl:[1,8],piec:2,pin:8,pink_btc:6,pip:3,pkg:5,place:[1,8],platform:[4,5,8,9],pleas:[3,5],plot:[1,8],plt:1,point:[6,7],poloniex:[1,4,6,9],popul:[1,7,8],porit:8,port:8,portal:8,portfolio:[1,8],portfolio_valu:[1,8],posit:[1,8],possibl:[2,3,8],post:7,postiv:8,pot_btc:6,potenti:8,power:1,ppc_btc:6,practic:3,prdownload:3,pre:[2,5,8],precis:8,predict:1,prefer:8,prefix:3,preform:8,preload:[2,8],preper:8,preprocess:7,preprocessor:8,present:[1,8],prevent:[2,7,8],previous:[1,8],primari:5,primarili:8,print:[1,5,7,8],prior:[1,8],probabl:1,problem:[1,2,5,7],proceed:5,process:[2,3],produc:[2,5,8],profit:[1,4,9],progress:2,project:[5,8],proper:[5,8],properli:8,properti:8,protect:[0,8],protocol:[1,6],provid:[0,1,2,4,5,8,9],publish:[7,8],pull:[3,7,8],pun:1,purpos:1,push:7,put:8,pycharm:[7,8],pydata:[4,8,9],pyflak:8,pyfolio:8,pyi:8,pylab:[1,8],pypars:8,pypirc:7,pypitest:7,pyplot:1,python2:5,python:[3,5],pytz:8,quandl_api_kei:2,quandl_download_attempt:2,quantil:8,quantopianusfuturescalendar:8,quarter:8,quartil:8,queri:[2,8],question:[1,3],quick:1,quirk:5,quit:2,rads_btc:6,rais:[3,8],ran:2,random:8,rang:[1,2,8],rank:8,rate:8,rather:[1,5,8],ratio:8,raw:[2,5],reach:8,read:[1,2,3,8],read_pickl:1,readi:7,real:0,realist:1,reason:[2,5],rebal:8,rebalanc:1,recarrayfield:8,receiv:[2,8],recent:[1,2,5],recommend:[2,5,8],reconstruct:1,record:[1,8],redhat:5,redownload:[2,8],refactor:3,refcount:8,referenc:8,regist:[0,2,8],regress:8,regular:5,rel:3,relat:[3,8],relationship:2,releas:[3,5],remain:8,remot:[2,8],remov:[3,7,8],renam:[7,8],render:8,rep:5,rep_btc:6,rep_eth:6,rep_usdt:6,repeat:8,replac:8,report:[1,3,5,8],repositori:[5,7],repr:8,repres:[2,8],reproduc:2,request:[1,2,3,8],requir:[1,3,5,7,8],requirements_blaz:3,requirements_dev:3,requirements_doc:3,requirements_talib:3,reserv:6,reset:8,resolut:[1,4,9],resolv:8,resourc:[2,8],respect:[3,7,8],respons:[2,8],rest:2,restrict:8,restructuredtext:3,result:[1,2,5,8],retir:8,retri:2,retriev:8,rev:3,revert:3,rewritten:8,rhel:5,ric_btc:6,richard:8,right:5,risk:[1,8],riskmetricscumul:8,roll:[1,8],rollinglinearregressionofreturn:8,rollingpanel:8,rollingpearsonofreturn:8,rollingspearmanofreturn:8,rollup:2,root:[3,7,8],round:8,routin:5,row:1,rst:[3,7],rule:8,run_algo:[1,8],run_algorithm:[1,8],runawai:8,runtim:[1,8],safeguard:8,said:8,sale:8,same:[1,2,5,7,8],sampl:8,sanderson:8,satisfi:5,save:[1,2,3,5,8],sbd_btc:6,sc_btc:6,scale:8,schatzow:8,schedule_funct:8,scikit:1,scipi:[4,5,8,9],scott:8,script:[1,7,8],seamless:[4,9],search:8,second:[1,5,8],section:[1,3,5,7,8],secur:[4,8,9],see:[0,1,2,4,5,8,9],seek:5,seen:8,select:5,self:[0,8],sell:1,sentinel:8,separ:[1,3,5,6],septemb:8,seri:[1,8],serial:8,seriou:1,server:[1,2,7],servic:[2,8],session:[5,8],set:[1,2,3,5,8],set_:8,set_commiss:8,set_do_not_order_list:8,set_long_onli:8,set_max_leverag:8,set_max_order_count:8,set_max_order_s:8,set_max_position_s:8,set_slippag:8,set_ylabel:1,setcommissionpostinit:8,setslippagepostinit:8,settl:8,settled_cash:8,setup:[3,7,8],setuptool:[5,8],sever:[1,4,5,8,9],shape:8,share:[1,4,8,9],sharebuybackauthor:8,sharex:1,sharp:[1,8],sharpli:8,ship:[2,5,7],short_exposur:1,short_mavg:1,short_valu:1,shorter:1,shorts_count:1,should:[0,1,2,3,5,7,8],shouldn:8,shourc:2,show:[1,2,8],show_graph:8,shown:2,sid:[2,8],siddata:8,signal:[2,8],signatur:2,signifi:8,silent:8,sim_param:8,similar:[5,8],simpl:[1,8],simpli:[1,3,5,8],simplifi:1,sinc:[5,7,8],singl:[2,5,8],situat:8,six:8,size:[5,8],sjcx_btc:6,skeleton:7,skip:[1,5,8],sklearn:[4,9],slice:8,slightli:5,slippagemodel:8,small:8,smaller:[5,8],solidifi:8,solut:5,solv:[2,5],some:[1,2,3,5,8],someon:5,someth:3,sortino:[1,8],sourc:[1,2,3,5,7,8],sourceforg:3,space:8,span:8,spars:8,specif:[1,8],specifi:[1,2,7,8],specificasset:8,speed:8,speedup:8,spend:1,spent:6,sphinx:[3,7,8],split:[1,2,8],spuriou:8,sqliteadjustmentwrit:2,squar:8,src:3,stabl:5,stai:7,standard:[2,3,6,8],start:[1,2,3,5,8],starting_cash:1,starting_exposur:1,starting_valu:1,startswith:8,stat:8,state:[1,2,4,8,9],statist:[1,4,9],statsmodel:[4,8,9],std:8,stddev:8,stdout:[1,8],steem_btc:6,steem_eth:6,step:[1,2,5],still:[1,2,5,8],stochast:8,stock:[1,2,8],storag:1,store:[1,2,6,8],str:8,str_btc:6,str_usdt:6,strat_btc:6,strategi:[1,4,9],stream:[1,8],strength:8,strictli:2,string:[2,7],string_typ:8,strong:8,strongli:5,structur:8,sty:3,subclass:8,subdirectori:2,subject:[3,8],submit:3,subplot:1,subtest:8,succe:7,success:2,sudo:[3,5],suffici:[5,8],suggest:3,suminda:8,summar:[1,5],superior:8,suppli:[1,8],support:[5,7],suppos:1,sure:[3,5],surpris:1,suspect:3,symbol:[1,2,6,8],symbolnotfoundonexchang:6,symptom:8,sync:[7,8],syntax:[7,8],sys_btc:6,system:[3,4,5,8,9],tag:7,take:[1,2,5,8],taken:7,tar:[3,7],tarbal:7,target:[1,8],tbd:8,tech_filt:8,tech_stock:8,technic:8,tell:8,templat:7,temporari:7,ten:[1,8],tens:3,term:[1,8],termin:[1,5],test:[],testpypi:7,tether:6,text:1,than:[1,2,3,5,8],thei:[1,2,7,8],them:[1,3,5,7,8],themselv:8,therefor:7,therein:5,thi:[0,1,2,3,5,6,7,8],thing:8,think:8,third:1,thoma:8,those:[1,3,7,8],though:[2,5,8],three:[1,2,8],through:[0,1,2,5,8],thse:8,thu:[1,5],tick:8,ticker:[2,8],time:[1,2,5,7,8],timedelta:8,timer:8,timestamp:[1,2,8],tini:8,titl:7,tkagg:5,to_dict:8,todai:[7,8],togeth:1,toni:8,too:[1,8],tool:[2,3,5,7,8],top:[1,4,7,8,9],tornado:8,total:[2,8],total_positions_valu:8,toward:8,traceback:6,track:[1,3,8],tracker:[1,8],trader:1,tradesimul:8,trading_dai:1,tradingalgorithm:[0,7,8],tradingcalendar:[2,8],trail:8,train:1,transact:1,transaction:2,transfer:6,transform:[1,8],transit:[4,9],travers:8,travi:[3,7,8],treasuri:8,treasury_period_return:1,treat:8,trend:1,tresaury_period_return:8,tri:[1,4,9],trigger:8,trovo:8,truerang:8,truncat:8,tst:3,tupl:[2,8],turn:7,twice:[7,8],two:[1,4,5,8,9],txn:8,txt:[3,5,7],type:[7,8],typo:3,tzinfo:8,ubuntu:5,unaffect:8,unalign:8,unbalanc:8,uncondition:8,under:[1,2,7,8],underli:1,underlin:7,underscor:6,understand:[1,5,8],undesir:[0,8],undocu:8,unicod:8,unifi:8,uniqu:8,unit:[1,6,8],univers:[1,8],unlik:[2,8],unnecessari:8,unneed:8,unpack:5,unregist:0,untar:2,untest:8,unus:3,unverifi:8,updat:[],upgrad:[5,7,8],upon:8,upward:1,url:7,usag:[1,8],usd:[1,6],usdt:6,user:[1,2,4,5,6,7,8,9],usernam:[3,7],usr:3,utc:8,vagrantfil:8,valid:8,valu:[1,8],value1:8,value2:8,value3:8,value4:8,vari:[5,8],variabl:[1,2,8],variou:[1,2,8],varnam:1,vector:8,venv:5,veri:[1,2,5,7],verifi:7,version:[1,5,7,8],via:[1,5,6,8],via_btc:6,viabl:6,victori:6,view:[3,7],violatil:8,virtual:5,virtualenv:3,virtualenvwrapp:3,visual:[4,5,9],volatil:8,volum:[1,4,6,8,9],vrc_btc:6,vtc_btc:6,vwap:8,wai:[2,4,5,8,9],wait:8,want:[1,2,3,6,8],warm:8,warn:[7,8],web:7,websit:8,weight:8,welcom:3,well:[1,2,5,8],were:[3,7,8],wget:3,what:[3,7],whatev:2,whatsnew:7,wheel:[5,7],when:[0,1,2,3,7,8],where:[1,2,3,5,6,8],wherea:8,which:[1,2,3,5,7,8],whitespac:3,who:[3,8],whole:1,why:3,width:7,wiecki:8,wikipedia:8,win:7,window:3,window_length:8,window_saf:8,winsor:8,wise:8,wish:5,withassetfind:8,within:[5,8],without:[2,5,8],workon:3,workspac:8,worth:[1,8],would:[1,2,5,7,8],wrap:[7,8],write:[],written:[1,2,6,8],wrong:[6,8],wrongdatafortransform:8,xbc_btc:6,xcp_btc:6,xem_btc:6,xlrd:8,xmr_btc:6,xmr_usdt:6,xpm_btc:6,xrp_btc:6,xrp_usdt:6,xvc_btc:6,xvzf:3,yahoo_equ:2,year:7,yet:1,yml:[5,8],you:[1,2,3,4,5,6,7,8,9],your:[1,2,3,4,5,7,8,9],yum:5,zec_btc:6,zec_eth:6,zec_usdt:6,zec_xmr:6,zero:[3,8],ziplin:[2,3,7],zipline_root:[2,7],ziplinetestcas:8,zrx_btc:6,zrx_eth:6,zscore:8},titles:["API Reference","Catalyst Beginner Tutorial","Data Bundles","Development Guidelines","Features","Install","Naming Convention","Release Process","Release Notes","Features"],titleterms:{"__version__":7,"default":2,"function":0,"new":[2,8],access:1,adjustment_writ:2,algorithm:[0,1],amazon:5,ami:5,api:0,asset:0,asset_db_writ:2,avail:2,averag:1,backtest:[0,2],basic:1,bdist:7,beginn:1,bug:8,build:8,built:0,bundl:[0,2,8],cach:[0,2],calendar:[0,2],cancel:0,catalyst:1,chang:8,command:[0,1],commiss:0,commit:[3,7],conclus:1,conda:[5,7],content:4,continu:3,contribut:3,contributor:8,control:0,convent:6,creat:3,cross:1,daily_bar_writ:2,data:[0,1,2,8],develop:[3,8],discov:2,doc:3,docker:3,docstr:3,document:[7,8],dual:1,end_sess:2,engin:0,enhanc:8,entri:8,environ:[2,3],exampl:1,experiment:8,factor:0,factori:2,featur:[4,8,9],file:7,first:1,fix:8,format:[3,8],get:5,gnu:5,guid:3,guidelin:3,help:5,highlight:8,histori:1,ingest:[1,2],instal:5,integr:3,interfac:1,line:[0,1],linux:5,loader:0,mainten:8,matplotlib:5,messag:3,metadata:0,minute_bar_writ:2,mirror:2,miscellan:[0,8],model:0,move:1,name:6,next:7,note:[7,8],object:0,old:2,order:0,osx:5,output_dir:2,over:1,packag:[3,7],paramet:0,perform:8,pip:5,pipelin:[0,8],point:8,polici:0,previou:1,price:1,process:7,pypi:7,python:7,quandl:2,quantopian:2,reader:0,refactor:8,refer:0,releas:[7,8],rewrit:8,run:[0,1,2,3],schedul:0,sdist:7,show_progress:2,simul:0,slippag:0,start_sess:2,string:8,stub:7,style:3,support:8,tabl:4,test:[3,8],trade:0,troubleshoot:5,tutori:1,updat:7,upload:7,util:0,virtualenv:5,wiki:2,window:5,work:1,write:2,writer:0,yahoo:2,ziplin:8}}) \ No newline at end of file