BUG: reverts changed introduced in 00f232e2d7

This commit is contained in:
Victor Grau Serrat committed 2018-02-22 22:16:47 -07:00
1 parent 5bcc3fe4bc
commit d174bffcd6
5 files changed
+39 -58

No files matched your search

+1 -1
View File
@@ -1879,7 +1879,7 @@ Assets.</p>
<dl class="class">
<dt id="catalyst.utils.calendars.TradingCalendar">
<em class="property">class </em><code class="descclassname">catalyst.utils.calendars.</code><code class="descname">TradingCalendar</code><span class="sig-paren">(</span><em>start=Timestamp('1990-01-01 00:00:00+0000'</em>, <em>tz='UTC')</em>, <em>end=Timestamp('2019-02-21 22:39:49.439971+0000'</em>, <em>tz='UTC')</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/catalyst/utils/calendars/trading_calendar.html#TradingCalendar"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#catalyst.utils.calendars.TradingCalendar" title="Permalink to this definition"></a></dt>
<em class="property">class </em><code class="descclassname">catalyst.utils.calendars.</code><code class="descname">TradingCalendar</code><span class="sig-paren">(</span><em>start=Timestamp('1990-01-01 00:00:00+0000'</em>, <em>tz='UTC')</em>, <em>end=Timestamp('2019-02-23 05:15:46.080641+0000'</em>, <em>tz='UTC')</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/catalyst/utils/calendars/trading_calendar.html#TradingCalendar"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#catalyst.utils.calendars.TradingCalendar" title="Permalink to this definition"></a></dt>
<dd><p>An TradingCalendar represents the timing information of a single market
exchange.</p>
<p>The timing information is made up of two parts: sessions, and opens/closes.</p>
+16 -28
View File
@@ -695,8 +695,7 @@ the <code class="docutils literal"><span class="pre">examples</span></code> dire
<span class="kn">from</span> <span class="nn">logbook</span> <span class="kn">import</span> <span class="n">Logger</span>
<span class="kn">from</span> <span class="nn">catalyst</span> <span class="kn">import</span> <span class="n">run_algorithm</span>
<span class="kn">from</span> <span class="nn">catalyst.api</span> <span class="kn">import</span> <span class="p">(</span><span class="n">record</span><span class="p">,</span> <span class="n">symbol</span><span class="p">,</span> <span class="n">order_target_percent</span><span class="p">,</span>
<span class="n">get_open_orders</span><span class="p">)</span>
<span class="kn">from</span> <span class="nn">catalyst.api</span> <span class="kn">import</span> <span class="p">(</span><span class="n">record</span><span class="p">,</span> <span class="n">symbol</span><span class="p">,</span> <span class="n">order_target_percent</span><span class="p">,)</span>
<span class="kn">from</span> <span class="nn">catalyst.exchange.utils.stats_utils</span> <span class="kn">import</span> <span class="n">extract_transactions</span>
<span class="n">NAMESPACE</span> <span class="o">=</span> <span class="s1">&#39;dual_moving_average&#39;</span>
@@ -711,8 +710,8 @@ the <code class="docutils literal"><span class="pre">examples</span></code> dire
<span class="k">def</span> <span class="nf">handle_data</span><span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">data</span><span class="p">):</span>
<span class="c1"># define the windows for the moving averages</span>
<span class="n">short_window</span> <span class="o">=</span> <span class="mi">2</span>
<span class="n">long_window</span> <span class="o">=</span> <span class="mi">3</span>
<span class="n">short_window</span> <span class="o">=</span> <span class="mi">50</span>
<span class="n">long_window</span> <span class="o">=</span> <span class="mi">200</span>
<span class="c1"># Skip as many bars as long_window to properly compute the average</span>
<span class="n">context</span><span class="o">.</span><span class="n">i</span> <span class="o">+=</span> <span class="mi">1</span>
@@ -754,7 +753,7 @@ the <code class="docutils literal"><span class="pre">examples</span></code> dire
<span class="c1"># Since we are using limit orders, some orders may not execute immediately</span>
<span class="c1"># we wait until all orders are executed before considering more trades.</span>
<span class="n">orders</span> <span class="o">=</span> <span class="n">get_open_orders</span><span class="p">(</span><span class="n">context</span><span class="o">.</span><span class="n">asset</span><span class="p">)</span>
<span class="n">orders</span> <span class="o">=</span> <span class="n">context</span><span class="o">.</span><span class="n">blotter</span><span class="o">.</span><span class="n">open_orders</span>
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">orders</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
<span class="k">return</span>
@@ -841,30 +840,19 @@ the <code class="docutils literal"><span class="pre">examples</span></code> dire
<span class="k">if</span> <span class="vm">__name__</span> <span class="o">==</span> <span class="s1">&#39;__main__&#39;</span><span class="p">:</span>
<span class="n">run_algorithm</span><span class="p">(</span>
<span class="n">capital_base</span><span class="o">=</span><span class="mi">1000</span><span class="p">,</span>
<span class="n">data_frequency</span><span class="o">=</span><span class="s1">&#39;minute&#39;</span><span class="p">,</span>
<span class="n">initialize</span><span class="o">=</span><span class="n">initialize</span><span class="p">,</span>
<span class="n">handle_data</span><span class="o">=</span><span class="n">handle_data</span><span class="p">,</span>
<span class="n">analyze</span><span class="o">=</span><span class="n">analyze</span><span class="p">,</span>
<span class="n">exchange_name</span><span class="o">=</span><span class="s1">&#39;bitfinex&#39;</span><span class="p">,</span>
<span class="n">algo_namespace</span><span class="o">=</span><span class="n">NAMESPACE</span><span class="p">,</span>
<span class="n">base_currency</span><span class="o">=</span><span class="s1">&#39;usd&#39;</span><span class="p">,</span>
<span class="n">simulate_orders</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
<span class="n">live</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
<span class="p">)</span>
<span class="c1"># run_algorithm(</span>
<span class="c1"># capital_base=1000,</span>
<span class="c1"># data_frequency=&#39;minute&#39;,</span>
<span class="c1"># initialize=initialize,</span>
<span class="c1"># handle_data=handle_data,</span>
<span class="c1"># analyze=analyze,</span>
<span class="c1"># exchange_name=&#39;bitfinex&#39;,</span>
<span class="c1"># algo_namespace=NAMESPACE,</span>
<span class="c1"># base_currency=&#39;usd&#39;,</span>
<span class="c1"># start=pd.to_datetime(&#39;2017-9-22&#39;, utc=True),</span>
<span class="c1"># end=pd.to_datetime(&#39;2017-9-23&#39;, utc=True),</span>
<span class="c1"># )</span>
<span class="n">capital_base</span><span class="o">=</span><span class="mi">1000</span><span class="p">,</span>
<span class="n">data_frequency</span><span class="o">=</span><span class="s1">&#39;minute&#39;</span><span class="p">,</span>
<span class="n">initialize</span><span class="o">=</span><span class="n">initialize</span><span class="p">,</span>
<span class="n">handle_data</span><span class="o">=</span><span class="n">handle_data</span><span class="p">,</span>
<span class="n">analyze</span><span class="o">=</span><span class="n">analyze</span><span class="p">,</span>
<span class="n">exchange_name</span><span class="o">=</span><span class="s1">&#39;bitfinex&#39;</span><span class="p">,</span>
<span class="n">algo_namespace</span><span class="o">=</span><span class="n">NAMESPACE</span><span class="p">,</span>
<span class="n">base_currency</span><span class="o">=</span><span class="s1">&#39;usd&#39;</span><span class="p">,</span>
<span class="n">start</span><span class="o">=</span><span class="n">pd</span><span class="o">.</span><span class="n">to_datetime</span><span class="p">(</span><span class="s1">&#39;2017-9-22&#39;</span><span class="p">,</span> <span class="n">utc</span><span class="o">=</span><span class="bp">True</span><span class="p">),</span>
<span class="n">end</span><span class="o">=</span><span class="n">pd</span><span class="o">.</span><span class="n">to_datetime</span><span class="p">(</span><span class="s1">&#39;2017-9-23&#39;</span><span class="p">,</span> <span class="n">utc</span><span class="o">=</span><span class="bp">True</span><span class="p">),</span>
<span class="p">)</span>
</pre></div>
</div>
<p>In order to run the code above, you have to ingest the needed data first:</p>
+16 -28
View File
@@ -451,8 +451,7 @@ one day prior to the current date.</p>
<span class="kn">from</span> <span class="nn">logbook</span> <span class="kn">import</span> <span class="n">Logger</span>
<span class="kn">from</span> <span class="nn">catalyst</span> <span class="kn">import</span> <span class="n">run_algorithm</span>
<span class="kn">from</span> <span class="nn">catalyst.api</span> <span class="kn">import</span> <span class="p">(</span><span class="n">record</span><span class="p">,</span> <span class="n">symbol</span><span class="p">,</span> <span class="n">order_target_percent</span><span class="p">,</span>
<span class="n">get_open_orders</span><span class="p">)</span>
<span class="kn">from</span> <span class="nn">catalyst.api</span> <span class="kn">import</span> <span class="p">(</span><span class="n">record</span><span class="p">,</span> <span class="n">symbol</span><span class="p">,</span> <span class="n">order_target_percent</span><span class="p">,)</span>
<span class="kn">from</span> <span class="nn">catalyst.exchange.utils.stats_utils</span> <span class="kn">import</span> <span class="n">extract_transactions</span>
<span class="n">NAMESPACE</span> <span class="o">=</span> <span class="s1">&#39;dual_moving_average&#39;</span>
@@ -467,8 +466,8 @@ one day prior to the current date.</p>
<span class="k">def</span> <span class="nf">handle_data</span><span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">data</span><span class="p">):</span>
<span class="c1"># define the windows for the moving averages</span>
<span class="n">short_window</span> <span class="o">=</span> <span class="mi">2</span>
<span class="n">long_window</span> <span class="o">=</span> <span class="mi">3</span>
<span class="n">short_window</span> <span class="o">=</span> <span class="mi">50</span>
<span class="n">long_window</span> <span class="o">=</span> <span class="mi">200</span>
<span class="c1"># Skip as many bars as long_window to properly compute the average</span>
<span class="n">context</span><span class="o">.</span><span class="n">i</span> <span class="o">+=</span> <span class="mi">1</span>
@@ -510,7 +509,7 @@ one day prior to the current date.</p>
<span class="c1"># Since we are using limit orders, some orders may not execute immediately</span>
<span class="c1"># we wait until all orders are executed before considering more trades.</span>
<span class="n">orders</span> <span class="o">=</span> <span class="n">get_open_orders</span><span class="p">(</span><span class="n">context</span><span class="o">.</span><span class="n">asset</span><span class="p">)</span>
<span class="n">orders</span> <span class="o">=</span> <span class="n">context</span><span class="o">.</span><span class="n">blotter</span><span class="o">.</span><span class="n">open_orders</span>
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">orders</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
<span class="k">return</span>
@@ -597,30 +596,19 @@ one day prior to the current date.</p>
<span class="k">if</span> <span class="vm">__name__</span> <span class="o">==</span> <span class="s1">&#39;__main__&#39;</span><span class="p">:</span>
<span class="n">run_algorithm</span><span class="p">(</span>
<span class="n">capital_base</span><span class="o">=</span><span class="mi">1000</span><span class="p">,</span>
<span class="n">data_frequency</span><span class="o">=</span><span class="s1">&#39;minute&#39;</span><span class="p">,</span>
<span class="n">initialize</span><span class="o">=</span><span class="n">initialize</span><span class="p">,</span>
<span class="n">handle_data</span><span class="o">=</span><span class="n">handle_data</span><span class="p">,</span>
<span class="n">analyze</span><span class="o">=</span><span class="n">analyze</span><span class="p">,</span>
<span class="n">exchange_name</span><span class="o">=</span><span class="s1">&#39;bitfinex&#39;</span><span class="p">,</span>
<span class="n">algo_namespace</span><span class="o">=</span><span class="n">NAMESPACE</span><span class="p">,</span>
<span class="n">base_currency</span><span class="o">=</span><span class="s1">&#39;usd&#39;</span><span class="p">,</span>
<span class="n">simulate_orders</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
<span class="n">live</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
<span class="p">)</span>
<span class="c1"># run_algorithm(</span>
<span class="c1"># capital_base=1000,</span>
<span class="c1"># data_frequency=&#39;minute&#39;,</span>
<span class="c1"># initialize=initialize,</span>
<span class="c1"># handle_data=handle_data,</span>
<span class="c1"># analyze=analyze,</span>
<span class="c1"># exchange_name=&#39;bitfinex&#39;,</span>
<span class="c1"># algo_namespace=NAMESPACE,</span>
<span class="c1"># base_currency=&#39;usd&#39;,</span>
<span class="c1"># start=pd.to_datetime(&#39;2017-9-22&#39;, utc=True),</span>
<span class="c1"># end=pd.to_datetime(&#39;2017-9-23&#39;, utc=True),</span>
<span class="c1"># )</span>
<span class="n">capital_base</span><span class="o">=</span><span class="mi">1000</span><span class="p">,</span>
<span class="n">data_frequency</span><span class="o">=</span><span class="s1">&#39;minute&#39;</span><span class="p">,</span>
<span class="n">initialize</span><span class="o">=</span><span class="n">initialize</span><span class="p">,</span>
<span class="n">handle_data</span><span class="o">=</span><span class="n">handle_data</span><span class="p">,</span>
<span class="n">analyze</span><span class="o">=</span><span class="n">analyze</span><span class="p">,</span>
<span class="n">exchange_name</span><span class="o">=</span><span class="s1">&#39;bitfinex&#39;</span><span class="p">,</span>
<span class="n">algo_namespace</span><span class="o">=</span><span class="n">NAMESPACE</span><span class="p">,</span>
<span class="n">base_currency</span><span class="o">=</span><span class="s1">&#39;usd&#39;</span><span class="p">,</span>
<span class="n">start</span><span class="o">=</span><span class="n">pd</span><span class="o">.</span><span class="n">to_datetime</span><span class="p">(</span><span class="s1">&#39;2017-9-22&#39;</span><span class="p">,</span> <span class="n">utc</span><span class="o">=</span><span class="bp">True</span><span class="p">),</span>
<span class="n">end</span><span class="o">=</span><span class="n">pd</span><span class="o">.</span><span class="n">to_datetime</span><span class="p">(</span><span class="s1">&#39;2017-9-23&#39;</span><span class="p">,</span> <span class="n">utc</span><span class="o">=</span><span class="bp">True</span><span class="p">),</span>
<span class="p">)</span>
</pre></div>
</div>
<img alt="https://s3.amazonaws.com/enigmaco-docs/github.io/tutorial_dual_moving_average.png" src="https://s3.amazonaws.com/enigmaco-docs/github.io/tutorial_dual_moving_average.png" />
+5
View File
@@ -342,6 +342,11 @@ The live algo starts by default in the present, as mentioned above.
by setting the start_date to a time in the future, the algorithm would
essentially sleep and when the predefined time comes, it would start executing.</li>
</ul>
<p>The <cite>catalyst live</cite> command offers additional parameters.
You can learn more by running the following from the command line:</p>
<div class="highlight-bash"><div class="highlight"><pre><span></span>catalyst live --help
</pre></div>
</div>
<p>Here is a complete algorithm for reference:
<a class="reference external" href="https://github.com/enigmampc/catalyst/blob/master/catalyst/examples/buy_low_sell_high_live.py">Buy Low and Sell High</a></p>
</div>
+1 -1
View File
@@ -1 +1 @@
Search.setIndex({docnames:["appendix","beginner-tutorial","bundles","development-guidelines","example-algos","features","index","install","live-trading","release-process","releases","resources","unit-tests","utilities","videos"],envversion:53,filenames:["appendix.rst","beginner-tutorial.rst","bundles.rst","development-guidelines.rst","example-algos.rst","features.rst","index.rst","install.rst","live-trading.rst","release-process.rst","releases.rst","resources.rst","unit-tests.rst","utilities.rst","videos.rst"],objects:{"catalyst.api":{EODCancel:[0,0,1,""],NeverCancel:[0,0,1,""],cancel_order:[0,0,1,""],date_rules:[0,1,1,""],fetch_csv:[0,0,1,""],get_environment:[0,0,1,""],get_open_orders:[0,0,1,""],get_order:[0,0,1,""],order:[0,0,1,""],order_percent:[0,0,1,""],order_target:[0,0,1,""],order_target_percent:[0,0,1,""],order_target_value:[0,0,1,""],order_value:[0,0,1,""],record:[0,0,1,""],schedule_function:[0,0,1,""],set_benchmark:[0,0,1,""],set_cancel_policy:[0,0,1,""],set_commission:[0,0,1,""],set_do_not_order_list:[0,0,1,""],set_long_only:[0,0,1,""],set_max_leverage:[0,0,1,""],set_max_order_count:[0,0,1,""],set_max_order_size:[0,0,1,""],set_max_position_size:[0,0,1,""],set_slippage:[0,0,1,""],set_symbol_lookup_date:[0,0,1,""],sid:[0,0,1,""],symbol:[0,0,1,""],symbols:[0,0,1,""],time_rules:[0,1,1,""]},"catalyst.api.date_rules":{every_day:[0,2,1,""],month_end:[0,3,1,""],month_start:[0,3,1,""],week_end:[0,3,1,""],week_start:[0,3,1,""]},"catalyst.api.time_rules":{every_minute:[0,2,1,""],market_close:[0,2,1,""],market_open:[0,2,1,""]},"catalyst.assets":{Asset:[0,1,1,""],AssetConvertible:[0,1,1,""]},"catalyst.assets.Asset":{first_traded:[0,2,1,""],from_dict:[0,4,1,""],is_alive_for_session:[0,4,1,""],is_exchange_open:[0,4,1,""],to_dict:[0,4,1,""]},"catalyst.finance.cancel_policy":{CancelPolicy:[0,1,1,""]},"catalyst.finance.cancel_policy.CancelPolicy":{should_cancel:[0,4,1,""]},"catalyst.finance.commission":{CommissionModel:[0,1,1,""],PerDollar:[0,1,1,""],PerShare:[0,1,1,""],PerTrade:[0,1,1,""]},"catalyst.finance.commission.CommissionModel":{calculate:[0,4,1,""]},"catalyst.finance.execution":{ExecutionStyle:[0,1,1,""],LimitOrder:[0,1,1,""],MarketOrder:[0,1,1,""],StopLimitOrder:[0,1,1,""],StopOrder:[0,1,1,""]},"catalyst.finance.execution.ExecutionStyle":{exchange:[0,2,1,""],get_limit_price:[0,4,1,""],get_stop_price:[0,4,1,""]},"catalyst.finance.slippage":{FixedSlippage:[0,1,1,""],SlippageModel:[0,1,1,""],VolumeShareSlippage:[0,1,1,""]},"catalyst.finance.slippage.SlippageModel":{process_order:[0,4,1,""]},"catalyst.protocol":{BarData:[0,1,1,""]},"catalyst.protocol.BarData":{can_trade:[0,4,1,""],current:[0,4,1,""],history:[0,4,1,""],is_stale:[0,4,1,""]},"catalyst.utils.cache":{CachedObject:[0,1,1,""],ExpiringCache:[0,1,1,""],dataframe_cache:[0,1,1,""],working_dir:[0,1,1,""],working_file:[0,1,1,""]},"catalyst.utils.calendars":{TradingCalendar:[0,1,1,""],clear_calendars:[0,0,1,""],deregister_calendar:[0,0,1,""],get_calendar:[0,0,1,""],register_calendar:[0,0,1,""],register_calendar_type:[0,0,1,""]},"catalyst.utils.calendars.TradingCalendar":{is_open_on_minute:[0,4,1,""],is_session:[0,4,1,""],minute_index_to_session_labels:[0,4,1,""],minute_to_session_label:[0,4,1,""],minutes_count_for_sessions_in_range:[0,4,1,""],minutes_for_session:[0,4,1,""],minutes_for_sessions_in_range:[0,4,1,""],minutes_in_range:[0,4,1,""],next_close:[0,4,1,""],next_minute:[0,4,1,""],next_open:[0,4,1,""],next_session_label:[0,4,1,""],open_and_close_for_session:[0,4,1,""],previous_close:[0,4,1,""],previous_minute:[0,4,1,""],previous_open:[0,4,1,""],previous_session_label:[0,4,1,""],regular_holidays:[0,2,1,""],session_distance:[0,4,1,""],sessions_in_range:[0,4,1,""],sessions_window:[0,4,1,""],special_closes:[0,2,1,""],special_closes_adhoc:[0,2,1,""],special_opens:[0,2,1,""],special_opens_adhoc:[0,2,1,""]},"catalyst.utils.cli":{maybe_show_progress:[0,0,1,""]},catalyst:{run_algorithm:[0,0,1,""]}},objnames:{"0":["py","function","Python function"],"1":["py","class","Python class"],"2":["py","attribute","Python attribute"],"3":["py","staticmethod","Python static method"],"4":["py","method","Python method"]},objtypes:{"0":"py:function","1":"py:class","2":"py:attribute","3":"py:staticmethod","4":"py:method"},terms:{"000000e":1,"1000th":1,"15t":4,"1st":1,"30t":4,"328842e":1,"340mb":10,"380954e":1,"40mb":10,"460mb":10,"505275d6646a41f3856b22b16678d":1,"536708e":1,"5min":1,"650729e":1,"7869f7828fa140328eb40477bb7d":1,"998236e":1,"998677e":1,"999120e":1,"999558e":1,"99mb":10,"abstract":0,"boolean":[0,2,8],"break":7,"case":[0,1,2,3,7,13],"class":[0,3,9],"default":[0,1,5,7,8,10,13],"enum":0,"export":9,"final":[1,2,3],"float":[0,1,10],"function":[1,2,3,4,6,7,9,10,11,13],"import":[0,1,2,4,9,13],"int":[0,2,4],"long":[1,2,4],"new":[0,1,3,7,8,9],"null":12,"public":10,"return":[0,1,4,8,9,10,11],"short":[0,1,3,4],"static":[0,9],"switch":8,"throw":10,"true":[0,1,4,8,10],"try":[3,4,7],"var":1,"while":[5,7,9,10],AWS:10,Added:10,And:1,For:[0,1,2,4,5,7,8,9,12],Not:[0,12],One:2,ThLine truncated
Search.setIndex({docnames:["appendix","beginner-tutorial","bundles","development-guidelines","example-algos","features","index","install","live-trading","release-process","releases","resources","unit-tests","utilities","videos"],envversion:53,filenames:["appendix.rst","beginner-tutorial.rst","bundles.rst","development-guidelines.rst","example-algos.rst","features.rst","index.rst","install.rst","live-trading.rst","release-process.rst","releases.rst","resources.rst","unit-tests.rst","utilities.rst","videos.rst"],objects:{"catalyst.api":{EODCancel:[0,0,1,""],NeverCancel:[0,0,1,""],cancel_order:[0,0,1,""],date_rules:[0,1,1,""],fetch_csv:[0,0,1,""],get_environment:[0,0,1,""],get_open_orders:[0,0,1,""],get_order:[0,0,1,""],order:[0,0,1,""],order_percent:[0,0,1,""],order_target:[0,0,1,""],order_target_percent:[0,0,1,""],order_target_value:[0,0,1,""],order_value:[0,0,1,""],record:[0,0,1,""],schedule_function:[0,0,1,""],set_benchmark:[0,0,1,""],set_cancel_policy:[0,0,1,""],set_commission:[0,0,1,""],set_do_not_order_list:[0,0,1,""],set_long_only:[0,0,1,""],set_max_leverage:[0,0,1,""],set_max_order_count:[0,0,1,""],set_max_order_size:[0,0,1,""],set_max_position_size:[0,0,1,""],set_slippage:[0,0,1,""],set_symbol_lookup_date:[0,0,1,""],sid:[0,0,1,""],symbol:[0,0,1,""],symbols:[0,0,1,""],time_rules:[0,1,1,""]},"catalyst.api.date_rules":{every_day:[0,2,1,""],month_end:[0,3,1,""],month_start:[0,3,1,""],week_end:[0,3,1,""],week_start:[0,3,1,""]},"catalyst.api.time_rules":{every_minute:[0,2,1,""],market_close:[0,2,1,""],market_open:[0,2,1,""]},"catalyst.assets":{Asset:[0,1,1,""],AssetConvertible:[0,1,1,""]},"catalyst.assets.Asset":{first_traded:[0,2,1,""],from_dict:[0,4,1,""],is_alive_for_session:[0,4,1,""],is_exchange_open:[0,4,1,""],to_dict:[0,4,1,""]},"catalyst.finance.cancel_policy":{CancelPolicy:[0,1,1,""]},"catalyst.finance.cancel_policy.CancelPolicy":{should_cancel:[0,4,1,""]},"catalyst.finance.commission":{CommissionModel:[0,1,1,""],PerDollar:[0,1,1,""],PerShare:[0,1,1,""],PerTrade:[0,1,1,""]},"catalyst.finance.commission.CommissionModel":{calculate:[0,4,1,""]},"catalyst.finance.execution":{ExecutionStyle:[0,1,1,""],LimitOrder:[0,1,1,""],MarketOrder:[0,1,1,""],StopLimitOrder:[0,1,1,""],StopOrder:[0,1,1,""]},"catalyst.finance.execution.ExecutionStyle":{exchange:[0,2,1,""],get_limit_price:[0,4,1,""],get_stop_price:[0,4,1,""]},"catalyst.finance.slippage":{FixedSlippage:[0,1,1,""],SlippageModel:[0,1,1,""],VolumeShareSlippage:[0,1,1,""]},"catalyst.finance.slippage.SlippageModel":{process_order:[0,4,1,""]},"catalyst.protocol":{BarData:[0,1,1,""]},"catalyst.protocol.BarData":{can_trade:[0,4,1,""],current:[0,4,1,""],history:[0,4,1,""],is_stale:[0,4,1,""]},"catalyst.utils.cache":{CachedObject:[0,1,1,""],ExpiringCache:[0,1,1,""],dataframe_cache:[0,1,1,""],working_dir:[0,1,1,""],working_file:[0,1,1,""]},"catalyst.utils.calendars":{TradingCalendar:[0,1,1,""],clear_calendars:[0,0,1,""],deregister_calendar:[0,0,1,""],get_calendar:[0,0,1,""],register_calendar:[0,0,1,""],register_calendar_type:[0,0,1,""]},"catalyst.utils.calendars.TradingCalendar":{is_open_on_minute:[0,4,1,""],is_session:[0,4,1,""],minute_index_to_session_labels:[0,4,1,""],minute_to_session_label:[0,4,1,""],minutes_count_for_sessions_in_range:[0,4,1,""],minutes_for_session:[0,4,1,""],minutes_for_sessions_in_range:[0,4,1,""],minutes_in_range:[0,4,1,""],next_close:[0,4,1,""],next_minute:[0,4,1,""],next_open:[0,4,1,""],next_session_label:[0,4,1,""],open_and_close_for_session:[0,4,1,""],previous_close:[0,4,1,""],previous_minute:[0,4,1,""],previous_open:[0,4,1,""],previous_session_label:[0,4,1,""],regular_holidays:[0,2,1,""],session_distance:[0,4,1,""],sessions_in_range:[0,4,1,""],sessions_window:[0,4,1,""],special_closes:[0,2,1,""],special_closes_adhoc:[0,2,1,""],special_opens:[0,2,1,""],special_opens_adhoc:[0,2,1,""]},"catalyst.utils.cli":{maybe_show_progress:[0,0,1,""]},catalyst:{run_algorithm:[0,0,1,""]}},objnames:{"0":["py","function","Python function"],"1":["py","class","Python class"],"2":["py","attribute","Python attribute"],"3":["py","staticmethod","Python static method"],"4":["py","method","Python method"]},objtypes:{"0":"py:function","1":"py:class","2":"py:attribute","3":"py:staticmethod","4":"py:method"},terms:{"000000e":1,"1000th":1,"15t":4,"1st":1,"30t":4,"328842e":1,"340mb":10,"380954e":1,"40mb":10,"460mb":10,"505275d6646a41f3856b22b16678d":1,"536708e":1,"5min":1,"650729e":1,"7869f7828fa140328eb40477bb7d":1,"998236e":1,"998677e":1,"999120e":1,"999558e":1,"99mb":10,"abstract":0,"boolean":[0,2,8],"break":7,"case":[0,1,2,3,7,13],"class":[0,3,9],"default":[0,1,5,7,8,10,13],"enum":0,"export":9,"final":[1,2,3],"float":[0,1,10],"function":[1,2,3,4,6,7,9,10,11,13],"import":[0,1,2,4,9,13],"int":[0,2,4],"long":[1,2,4],"new":[0,1,3,7,8,9],"null":12,"public":10,"return":[0,1,4,8,9,10,11],"short":[0,1,3,4],"static":[0,9],"switch":8,"throw":10,"true":[0,1,4,8,10],"try":[3,4,7],"var":1,"while":[5,7,9,10],AWS:10,Added:10,And:1,For:[0,1,2,4,5,7,8,9,12],Not:[0,12],One:2,ThLine truncated