Writing Algorithms
API Reference
Adding Data
Adding Data
add_cfd(ticker, resolution=None, market=None, fill_forward=True, leverage=0.0)
[source]Creates and adds a new Cfd security to the algorithm
- ticker (str) — The currency pair
- resolution (Resolution, optional)
- market (str, optional)
- fill_forward (bool, optional)
- leverage (float, optional)
The new Cfd security
add_crypto(ticker, resolution=None, market=None, fill_forward=True, leverage=0.0)
[source]Creates and adds a new Crypto security to the algorithm
- ticker (str) — The currency pair
- resolution (Resolution, optional)
- market (str, optional)
- fill_forward (bool, optional)
- leverage (float, optional)
The new Crypto security
add_crypto_future(ticker, resolution=None, market=None, fill_forward=True, leverage=0.0)
[source]Creates and adds a new CryptoFuture security to the algorithm
- ticker (str) — The currency pair
- resolution (Resolution, optional)
- market (str, optional)
- fill_forward (bool, optional)
- leverage (float, optional)
The new CryptoFuture security
add_data(type, ticker, properties, exchange_hours, resolution, fill_forward, leverage=1.0)
[source]AddDataT a new user defined data source, requiring only the minimum config options. The data is added with a default time zone of NewYork (Eastern Daylight Savings Time)
- type (PyObject) — Data source type
- ticker (str) — KeyTicker for data
- properties (SymbolProperties) — The properties of this new custom data
- exchange_hours (SecurityExchangeHours) — The Exchange hours of this symbol
- resolution (Optional[Resolution]) — Resolution of the Data Required
- fill_forward (bool) — When no data available on a tradebar, return the last data that was generated
- leverage (float, optional) — Custom leverage per security
The new Security
add_data(type, ticker, resolution, time_zone, fill_forward, leverage=1.0)
[source]AddDataT a new user defined data source, requiring only the minimum config options. The data is added with a default time zone of NewYork (Eastern Daylight Savings Time)
- type (PyObject) — Data source type
- ticker (str) — KeyTicker for data
- resolution (Optional[Resolution]) — Resolution of the Data Required
- time_zone (datetimeZone) — Specifies the time zone of the raw data
- fill_forward (bool) — When no data available on a tradebar, return the last data that was generated
- leverage (float, optional) — Custom leverage per security
The new Security
add_data(type, underlying, resolution, time_zone, fill_forward, leverage=1.0)
[source]AddDataT a new user defined data source, requiring only the minimum config options. The data is added with a default time zone of NewYork (Eastern Daylight Savings Time)
- type (PyObject) — Data source type
- underlying (Symbol) — The underlying symbol for the custom data
- resolution (Optional[Resolution]) — Resolution of the Data Required
- time_zone (datetimeZone) — Specifies the time zone of the raw data
- fill_forward (bool) — When no data available on a tradebar, return the last data that was generated
- leverage (float, optional) — Custom leverage per security
The new Security
add_data(data_type, ticker, resolution, time_zone, fill_forward, leverage=1.0)
[source]AddDataT a new user defined data source, requiring only the minimum config options. The data is added with a default time zone of NewYork (Eastern Daylight Savings Time)
- data_type (Type) — Data source type
- ticker (str) — KeyTicker for data
- resolution (Optional[Resolution]) — Resolution of the Data Required
- time_zone (datetimeZone) — Specifies the time zone of the raw data
- fill_forward (bool) — When no data available on a tradebar, return the last data that was generated
- leverage (float, optional) — Custom leverage per security
The new Security
add_data(data_type, underlying, resolution, time_zone, fill_forward, leverage=1.0)
[source]AddDataT a new user defined data source, requiring only the minimum config options. The data is added with a default time zone of NewYork (Eastern Daylight Savings Time)
- data_type (Type) — Data source type
- underlying (Symbol)
- resolution (Optional[Resolution]) — Resolution of the Data Required
- time_zone (datetimeZone) — Specifies the time zone of the raw data
- fill_forward (bool) — When no data available on a tradebar, return the last data that was generated
- leverage (float, optional) — Custom leverage per security
The new Security
add_equity(ticker, resolution=None, market=None, fill_forward=True, leverage=0.0, extended_market_hours=False, data_normalization_mode=None)
[source]Creates and adds a new Equity security to the algorithm
- ticker (str) — The equity ticker symbol
- resolution (Resolution, optional)
- market (str, optional)
- fill_forward (bool, optional)
- leverage (float, optional)
- extended_market_hours (bool, optional)
- data_normalization_mode (DataNormalizationMode, optional) — The price scaling mode to use for the equity
The new Equity security
add_forex(ticker, resolution=None, market=None, fill_forward=True, leverage=0.0)
[source]Creates and adds a new Forex security to the algorithm
- ticker (str) — The currency pair
- resolution (Resolution, optional)
- market (str, optional)
- fill_forward (bool, optional)
- leverage (float, optional)
The new Forex security
add_future(ticker, resolution=None, market=None, fill_forward=True, leverage=0.0, extended_market_hours=False, data_mapping_mode=None, data_normalization_mode=None, contract_depth_offset=0)
[source]Creates and adds a new Future security to the algorithm
- ticker (str) — The future ticker
- resolution (Resolution, optional)
- market (str, optional)
- fill_forward (bool, optional)
- leverage (float, optional)
- extended_market_hours (bool, optional) — Use extended market hours data
- data_mapping_mode (DataMappingMode, optional) — The contract mapping mode to use for the continuous future contract
- data_normalization_mode (DataNormalizationMode, optional) — The price scaling mode to use for the continuous future contract
- contract_depth_offset (int, optional) — The continuous future contract desired offset from the current front month. For example, 0 (default) will use the front month, 1 will use the back month contract
The new Future security
add_future_contract(symbol, resolution=None, fill_forward=True, leverage=0.0, extended_market_hours=False)
[source]Creates and adds a new single Future contract to the algorithm
- symbol (Symbol) — The futures contract symbol
- resolution (Resolution, optional)
- fill_forward (bool, optional)
- leverage (float, optional)
- extended_market_hours (bool, optional) — Use extended market hours data
The new Future security
add_future_option(future_symbol, option_filter)
[source]Creates and adds a new Future Option contract to the algorithm.
- future_symbol (Symbol) — )
- option_filter (PyObject) — Filter to apply to option contracts loaded as part of the universe
add_future_option(symbol, option_filter=None)
[source]Creates and adds a new Future Option contract to the algorithm.
- symbol (Symbol) — )
- option_filter (Callable[OptionFilterUniverse, OptionFilterUniverse], optional) — Filter to apply to option contracts loaded as part of the universe
add_future_option_contract(symbol, resolution=None, fill_forward=True, leverage=0.0, extended_market_hours=False)
[source]Adds a future option contract to the algorithm.
- symbol (Symbol) — Option contract Symbol
- resolution (Resolution, optional) — Resolution of the option contract, i.e. the granularity of the data
- fill_forward (bool, optional) — If true, this will fill in missing data points with the previous data point
- leverage (float, optional) — The leverage to apply to the option contract
- extended_market_hours (bool, optional) — Use extended market hours data
Option security
add_index(ticker, resolution=None, market=None, fill_forward=True)
[source]Creates and adds index options to the algorithm.
- ticker (str) — The currency pair
- resolution (Resolution, optional)
- market (str, optional)
- fill_forward (bool, optional)
The new Index security
add_index_option(ticker, resolution=None, market=usa, fill_forward=True)
[source]Creates and adds index options to the algorithm.
- ticker (str) — The ticker of the Index Option
- resolution (Resolution, optional) — Resolution of the index option contracts, i.e. the granularity of the data
- market (str, optional)
- fill_forward (bool, optional) — If true, this will fill in missing data points with the previous data point
Canonical Option security
add_index_option(symbol, target_option, resolution=None, fill_forward=True)
[source]Creates and adds index options to the algorithm.
- symbol (Symbol)
- target_option (str) — The target option ticker. This is useful when the option ticker does not match the underlying, e.g. SPX index and the SPXW weekly option. If null is provided will use underlying
- resolution (Resolution, optional) — Resolution of the index option contracts, i.e. the granularity of the data
- fill_forward (bool, optional) — If true, this will fill in missing data points with the previous data point
Canonical Option security
add_index_option_contract(symbol, resolution=None, fill_forward=True)
[source]Adds an index option contract to the algorithm.
- symbol (Symbol) — Symbol of the index option contract
- resolution (Resolution, optional) — Resolution of the index option contract, i.e. the granularity of the data
- fill_forward (bool, optional) — If true, this will fill in missing data points with the previous data point
Index Option Contract
add_option(underlying, target_option, resolution=None, market=None, fill_forward=True, leverage=0.0)
[source]Creates and adds a new equity Option security to the algorithm
- underlying (str | Symbol) — Underlying asset Symbol to use as the option's underlying
- target_option (str) — The target option ticker. This is useful when the option ticker does not match the underlying, e.g. SPX index and the SPXW weekly option. If null is provided will use underlying
- resolution (Resolution, optional)
- market (str, optional)
- fill_forward (bool, optional) — If true, data will be provided to the algorithm every Second, Minute, Hour, or Day, while the asset is open and depending on the Resolution this option was configured to use.
- leverage (float, optional) — The requested leverage for the
The new option security instance
add_option_contract(symbol, resolution=None, fill_forward=True, leverage=0.0, extended_market_hours=False)
[source]Creates and adds a new single Option contract to the algorithm
- symbol (Symbol) — The option contract symbol
- resolution (Resolution, optional)
- fill_forward (bool, optional)
- leverage (float, optional)
- extended_market_hours (bool, optional) — Use extended market hours data
The new Option security
add_security(security_type, ticker, resolution, market, fill_forward, leverage, extended_market_hours, data_mapping_mode=None, data_normalization_mode=None)
[source]Add specified data to our data subscriptions. QuantConnect will funnel this data to the handle data routine.
- security_type (SecurityType) — MarketType Type: Equity, Commodity, Future, FOREX or Crypto
- ticker (str) — The security ticker, e.g. AAPL
- resolution (Optional[Resolution]) — Resolution of the MarketType required: MarketData, Second or Minute
- market (str) — The market the requested security belongs to, such as 'usa' or 'fxcm'
- fill_forward (bool) — If true, returns the last available data even if none in that timeslice.
- leverage (float) — leverage for this security
- extended_market_hours (bool) — Use extended market hours data
- data_mapping_mode (DataMappingMode, optional) — The contract mapping mode to use for the security
- data_normalization_mode (DataNormalizationMode, optional) — The price scaling mode to use for the security
add_security(symbol, resolution=None, fill_forward=True, leverage=0.0, extended_market_hours=False, data_mapping_mode=None, data_normalization_mode=None, contract_depth_offset=0)
[source]Add specified data to our data subscriptions. QuantConnect will funnel this data to the handle data routine.
- symbol (Symbol) — The security Symbol
- resolution (Resolution, optional) — Resolution of the MarketType required: MarketData, Second or Minute
- fill_forward (bool, optional) — If true, returns the last available data even if none in that timeslice.
- leverage (float, optional) — leverage for this security
- extended_market_hours (bool, optional) — Use extended market hours data
- data_mapping_mode (DataMappingMode, optional) — The contract mapping mode to use for the security
- data_normalization_mode (DataNormalizationMode, optional) — The price scaling mode to use for the security
- contract_depth_offset (int, optional) — The continuous contract desired offset from the current front month. For example, 0 (default) will use the front month, 1 will use the back month contract
The new Security that was added to the algorithm
download(address, headers, user_name, password)
[source]Downloads the requested resource as a String. The resource to download is specified as a String containing the URI.
- address (str) — A string containing the URI to download
- headers (PyObject | Dict[str, str]) — Defines header values to add to the request
- user_name (str) — The user name associated with the credentials
- password (str) — The password for the user name associated with the credentials
The requested resource as a string
str
get_last_known_prices(security)
[source]Yields data to warmup a security for all it's subscribed data types
- security (Security) — object for which to retrieve historical data
Securities historical data
List[BaseData]
get_last_known_prices(symbol)
[source]Yields data to warmup a security for all it's subscribed data types
- symbol (Symbol) — The symbol we want to get seed data for
Securities historical data
List[BaseData]
on_securities_changed(changes)
[source]Event fired each time the we add/remove securities from the data feed
- changes (SecurityChanges) — Security additionsremovals for this time step
remove_option_contract(symbol)
[source]Removes the security with the specified symbol. This will cancel all open orders and then liquidate any existing holdings
- symbol (Symbol) — The symbol of the security to be removed
bool
remove_security(symbol)
[source]Removes the security with the specified symbol. This will cancel all open orders and then liquidate any existing holdings
- symbol (Symbol) — The symbol of the security to be removed
bool
set_future_chain_provider(future_chain_provider)
[source]Sets the future chain provider, used to get the list of future contracts for an underlying symbol
- future_chain_provider (IFutureChainProvider) — The future chain provider
set_option_chain_provider(option_chain_provider)
[source]Sets the option chain provider, used to get the list of option contracts for an underlying symbol
- option_chain_provider (IOptionChainProvider) — The option chain provider
set_security_initializer(security_initializer)
[source]Sets the security initializer, used to initialize/configure securities after creation. The initializer will be applied to all universes and manually added securities.
- security_initializer (PyObject | Action[Security] | ISecurityInitializer) — The security initializer function or class
symbol(ticker)
[source]Converts the string 'ticker' symbol into a full String) object This requires that the string 'ticker' has been added to the algorithm
- ticker (str) — The ticker symbol. This should be the ticker symbol as it was added to the algorithm
The symbol object mapped to the specified ticker
ticker(symbol)
[source]For the given symbol will resolve the ticker it used at the current algorithm date
- symbol (Symbol) — The symbol to get the ticker for
The mapped ticker for a symbol
str
Gets the future chain provider, used to get the list of future contracts for an underlying symbol
Gets the future chain provider, used to get the list of future contracts for an underlying symbol
IFutureChainProvider
Gets the option chain provider, used to get the list of option contracts for an underlying symbol
Gets the option chain provider, used to get the list of option contracts for an underlying symbol
IOptionChainProvider
Gets an instance that is to be used to initialize newly created securities.
Gets an instance that is to be used to initialize newly created securities.
ISecurityInitializer
Algorithm Framework
Algorithm Framework
add_alpha(alpha)
[source]Adds a new alpha model
- alpha (PyObject | IAlphaModel) — Model that generates alpha to add
add_risk_management(risk_management)
[source]Adds a new risk management model
- risk_management (IRiskManagementModel | PyObject) — Model defining how risk is managed to add
add_universe_selection(universe_selection)
[source]Adds a new universe selection model
- universe_selection (PyObject | IUniverseSelectionModel) — Model defining universes for the algorithm to add
emit_insights(insights)
[source]Manually emit insights from an algorithm. This is typically invoked before calls to submit orders in algorithms written against QCAlgorithm that have been ported into the algorithm framework.
- insights (Insight[]) — The array of insights to be emitted
emit_insights(insight)
[source]Manually emit insights from an algorithm. This is typically invoked before calls to submit orders in algorithms written against QCAlgorithm that have been ported into the algorithm framework.
- insight (Insight) — The insight to be emitted
framework_post_initialize()
[source]Called by setup handlers after Initialize and allows the algorithm a chance to organize the data gather in the Initialize method
get_locked()
[source]Gets whether or not this algorithm has been locked and fully initialized
bool
initialize()
[source]Initialise the data and resolution required, as well as the cash and start-end dates for your algorithm. All algorithms must initialized.
on_framework_data(slice)
[source]Used to send data updates to algorithm framework models
- slice (Slice) — The current data slice
on_framework_securities_changed(changes)
[source]Used to send security changes to algorithm framework models
- changes (SecurityChanges) — Security additionsremovals for this time step
post_initialize()
[source]Called by setup handlers after Initialize and allows the algorithm a chance to organize the data gather in the Initialize method
set_alpha(alpha)
[source]Sets the alpha model
- alpha (PyObject | IAlphaModel) — Model that generates alpha
set_execution(execution)
[source]Sets the execution model
- execution (IExecutionModel | PyObject) — Model defining how to execute trades to reach a portfolio target
set_locked()
[source]Lock the algorithm initialization to avoid user modifiying cash and data stream subscriptions
set_portfolio_construction(portfolio_construction)
[source]Sets the portfolio construction model
- portfolio_construction (IPortfolioConstructionModel | PyObject) — Model defining how to build a portfolio from insights
set_risk_management(risk_management)
[source]Sets the risk management model
- risk_management (IRiskManagementModel | PyObject) — Model defining how risk is managed
set_universe_selection(universe_selection)
[source]Sets the universe selection model
- universe_selection (PyObject | IUniverseSelectionModel) — Model defining universes for the algorithm
Gets or sets the alpha model
Gets or sets the alpha model
IAlphaModel
Gets or sets the execution model
Gets or sets the execution model
IExecutionModel
Gets the insight manager
Gets the insight manager
InsightManager
Gets or sets the portfolio construction model
Gets or sets the portfolio construction model
IPortfolioConstructionModel
Gets or sets the risk management model
Gets or sets the risk management model
IRiskManagementModel
Gets or sets the universe selection model.
Gets or sets the universe selection model.
IUniverseSelectionModel
Charting
Charting
add_chart(chart)
[source]Add a Chart object to algorithm collection
- chart (Chart) — Chart object to add to collection.
add_series(chart, series, series_type, unit=$)
[source]Add a series object for charting. This is useful when initializing charts with series other than type = line. If a series exists in the chart with the same name, then it is replaced.
- chart (str) — The chart name
- series (str) — The series name
- series_type (SeriesType) — The type of series, i.e, Scatter
- unit (str, optional) — The unit of the y axis, usually $
get_chart_updates(clear_chart_data=False)
[source]Get the chart updates by fetch the recent points added and return for dynamic Charting.
- clear_chart_data (bool, optional)
List of chart updates since the last request
List[Chart]
plot(chart, series, open, high, low, close)
[source]Plot a chart using string series name, with value.
- chart (str) — Chart name
- series (str) — Series name
- open (int | float) — The candlestick open value
- high (int | float) — The candlestick high value
- low (int | float) — The candlestick low value
- close (int | float) — The candlestick close value
plot(chart, first, second=None, third=None, fourth=None)
[source]Plot a chart using string series name, with value.
- chart (str) — The chart's name
- first (Indicator | BarIndicator | TradeBarIndicator) — The first indicator to plot
- second (Indicator | BarIndicator | TradeBarIndicator, optional) — The second indicator to plot
- third (Indicator | BarIndicator | TradeBarIndicator, optional) — The third indicator to plot
- fourth (Indicator | BarIndicator | TradeBarIndicator, optional) — The fourth indicator to plot
plot(chart, series, value)
[source]Plot a chart using string series name, with value.
- chart (str)
- series (str)
- value (int | float)
plot(chart, series, bar)
[source]Plot a chart using string series name, with value.
- chart (str) — Chart name
- series (str) — Name of the plot series
- bar (TradeBar) — The trade bar to be plotted to the candlestick series
plot(series, py_object)
[source]Plot a chart using string series name, with value.
- series (str) — Name of the plot series
- py_object (PyObject) — PyObject with the value to plot
plot(chart, indicators)
[source]Plot a chart using string series name, with value.
- chart (str) — The chart's name
- indicators (IndicatorBase[]) — The indicators to plot
plot_indicator(chart, wait_for_ready, first, second=None, third=None, fourth=None)
[source]Automatically plots each indicator when a new value is available
- chart (str)
- wait_for_ready (bool)
- first (PyObject)
- second (PyObject, optional)
- third (PyObject, optional)
- fourth (PyObject, optional)
plot_indicator(chart, wait_for_ready, indicators)
[source]Automatically plots each indicator when a new value is available
- chart (str)
- wait_for_ready (bool)
- indicators (IndicatorBase[])
record(series, value)
[source]Plot a chart using string series name, with int value. Alias of Plot();
- series (str)
- value (int | float)
set_runtime_statistic(name, value)
[source]Set a runtime statistic for the algorithm. Runtime statistics are shown in the top banner of a live algorithm GUI.
- name (str) — Name of your runtime statistic
- value (str | int | float) — String value of your runtime statistic
Access to the runtime statistics property. User provided statistics.
Access to the runtime statistics property. User provided statistics.
Dict[str, str]
Consolidating Data
Consolidating Data
consolidate(symbol, period, tick_type, handler)
[source]Registers the handler to receive consolidated data for the specified symbol
- symbol (Symbol) — The symbol who's data is to be consolidated
- period (Resolution | timedelta) — The symbol who's data is to be consolidated
- tick_type (TickType) — The consolidation period
- handler (None | PyObject | Action[QuoteBar] | Action[TradeBar]) — The tick type of subscription used as data source for consolidator. Specify null to use first subscription found.
A new consolidator matching the requested parameters with the handler already registered
IDataConsolidator
consolidate(symbol, calendar, tick_type, handler)
[source]Registers the handler to receive consolidated data for the specified symbol
- symbol (Symbol) — The symbol who's data is to be consolidated
- calendar (Callable[datetime, CalendarInfo]) — The symbol who's data is to be consolidated
- tick_type (TickType) — The consolidation calendar
- handler (None | PyObject | Action[QuoteBar] | Action[TradeBar]) — The tick type of subscription used as data source for consolidator. Specify null to use first subscription found.
A new consolidator matching the requested parameters with the handler already registered
IDataConsolidator
deregister_indicator(indicator)
[source]Will deregister an indicator and it's associated consolidator instance so they stop receiving data updates
- indicator (IndicatorBase) — The indicator instance to deregister
resolve_consolidator(symbol, resolution, data_type=None)
[source]Gets the default consolidator for the specified symbol and resolution
- symbol (Symbol) — The symbol whose data is to be consolidated
- resolution (Resolution) — The resolution for the consolidator, if null, uses the resolution from subscription
- data_type (Type, optional) — The data type for this consolidator, if null, uses TradeBar over QuoteBar if present
The new default consolidator
IDataConsolidator
resolve_consolidator(symbol, time_span, data_type=None)
[source]Gets the default consolidator for the specified symbol and resolution
- symbol (Symbol) — The symbol whose data is to be consolidated
- time_span (timedelta) — The requested time span for the consolidator, if null, uses the resolution from subscription
- data_type (Type, optional) — The data type for this consolidator, if null, uses TradeBar over QuoteBar if present
The new default consolidator
IDataConsolidator
unregister_indicator(indicator)
[source]Will unregister an indicator and it's associated consolidator instance so they stop receiving data updates
- indicator (IndicatorBase) — The indicator instance to unregister
Handling Data
Handling Data
cik(cik, trading_date=None)
[source]Converts a CIK identifier into String) array
- cik (int) — The CIK identifier of an asset
- trading_date (datetime, optional) — The date that the stock being looked up iswas traded at. The date is used to create a Symbol with the ticker set to the ticker the asset traded under on the trading date.
Symbols corresponding to the CIK. If no Symbol with a matching CIK was found, returns empty array.
cik(symbol)
[source]Converts a CIK identifier into String) array
- symbol (Symbol)
CIK corresponding to the Symbol. If no matching CIK is found, returns null.
Optional[int]
composite_figi(composite_figi, trading_date=None)
[source]Converts a composite FIGI identifier into a String)
- composite_figi (str) — The composite Financial Instrument Global Identifier (FIGI) of an asset
- trading_date (datetime, optional) — The date that the stock being looked up iswas traded at. The date is used to create a Symbol with the ticker set to the ticker the asset traded under on the trading date.
Symbol corresponding to the composite FIGI. If no Symbol with a matching composite FIGI was found, returns null.
composite_figi(symbol)
[source]Converts a composite FIGI identifier into a String)
- symbol (Symbol)
Composite FIGI corresponding to the Symbol. If no matching composite FIGI is found, returns null.
str
cusip(cusip, trading_date=None)
[source]Converts a CUSIP identifier into a String)
- cusip (str) — The CUSIP number of an asset
- trading_date (datetime, optional) — The date that the stock being looked up iswas traded at. The date is used to create a Symbol with the ticker set to the ticker the asset traded under on the trading date.
Symbol corresponding to the CUSIP. If no Symbol with a matching CUSIP was found, returns null.
cusip(symbol)
[source]Converts a CUSIP identifier into a String)
- symbol (Symbol)
CUSIP corresponding to the Symbol. If no matching CUSIP is found, returns null.
str
fundamentals(symbol)
[source]Get the fundamental data for the requested symbol at the current time
- symbol (Symbol)
The fundamental data for the Symbol
fundamentals(symbols)
[source]Get the fundamental data for the requested symbol at the current time
- symbols (List[Symbol])
The fundamental data for the symbols
List[Fundamental]
isin(isin, trading_date=None)
[source]Converts an ISIN identifier into a String)
- isin (str) — The International Securities Identification Number (ISIN) of an asset
- trading_date (datetime, optional) — The date that the stock being looked up iswas traded at. The date is used to create a Symbol with the ticker set to the ticker the asset traded under on the trading date.
Symbol corresponding to the ISIN. If no Symbol with a matching ISIN was found, returns null.
isin(symbol)
[source]Converts an ISIN identifier into a String)
- symbol (Symbol)
ISIN corresponding to the Symbol. If no matching ISIN is found, returns null.
str
on_data(slice)
[source]Event - v3.0 DATA EVENT HANDLER: (Pattern) Basic template for user to override for receiving all subscription data in a single event
- slice (Slice) — The current slice of data keyed by symbol string
on_delistings(delistings)
[source]Event handler to be called when there's been a delistings event
- delistings (Delistings) — The current time slice delistings
on_dividends(dividends)
[source]Event handler to be called when there's been a dividend event
- dividends (Dividends) — The current time slice dividends
on_end_of_algorithm()
[source]End of algorithm run event handler. This method is called at the end of a backtest or live trading operation. Intended for closing out logs.
on_end_of_day(symbol)
[source]End of a trading day event handler. This method is called at the end of the algorithm day (or multiple times if trading multiple assets).
- symbol (str | Symbol) — Asset symbol for this end of day event. Forex and equities have different closing hours.
on_end_of_time_step()
[source]Invoked at the end of every time step. This allows the algorithm to process events before advancing to the next time step.
on_splits(splits)
[source]Event handler to be called when there's been a split event
- splits (Splits) — The current time slice splits
on_symbol_changed_events(symbols_changed)
[source]Event handler to be called when there's been a symbol changed event
- symbols_changed (SymbolChangedEvents) — The current time slice symbol changed events
on_warmup_finished()
[source]Called when the algorithm has completed initialization and warm up.
sedol(sedol, trading_date=None)
[source]Converts a SEDOL identifier into a String)
- sedol (str) — The SEDOL identifier of an asset
- trading_date (datetime, optional) — The date that the stock being looked up iswas traded at. The date is used to create a Symbol with the ticker set to the ticker the asset traded under on the trading date.
Symbol corresponding to the SEDOL. If no Symbol with a matching SEDOL was found, returns null.
sedol(symbol)
[source]Converts a SEDOL identifier into a String)
- symbol (Symbol)
SEDOL corresponding to the Symbol. If no matching SEDOL is found, returns null.
str
set_algorithm_id(algorithm_id)
[source]Set the algorithm id (backtestId or live deployId for the algorithm).
- algorithm_id (str) — String Algorithm Id
set_api(api)
[source]Provide the API for the algorithm.
- api (IApi) — Initiated API
set_available_data_types(available_data_types)
[source]Set the available data feeds in the SecurityManager
- available_data_types (Dict[SecurityType, List[TickType]]) — supports
set_current_slice(slice)
[source]set_date_time(frontier)
[source]Update the internal algorithm time frontier.
- frontier (datetime) — Current utc datetime.
set_end_date(year, month, day)
[source]Set the end date for a backtest run
- year (int) — Int end date 1-30
- month (int) — Int month end date
- day (int) — Int year end date
set_end_date(end)
[source]Set the end date for a backtest run
- end (datetime) — Datetime value for end date
set_object_store(object_store)
[source]Sets the object store
- object_store (IObjectStore) — The object store
set_run_time_error(exception)
[source]Set the runtime error
- exception (Exception) — Represents error that occur during execution
set_start_date(year, month, day)
[source]Set the start date for backtest.
- year (int) — Int starting date 1-30
- month (int) — Int month starting date
- day (int) — Int year starting date
set_start_date(start)
[source]Set the start date for backtest.
- start (datetime) — Datetime Start date for backtest
set_time_zone(time_zone)
[source]Sets the time zone of the Time property in the algorithm
- time_zone (str | datetimeZone) — The desired time zone
Algorithm Id for this backtest or live algorithm.
Algorithm Id for this backtest or live algorithm.
str
Returns the current Slice object
Returns the current Slice object
Slice
Value of the user set start-date from the backtest. Controls the period of the backtest.
Value of the user set start-date from the backtest. Controls the period of the backtest.
datetime
Public name for the algorithm as automatically generated by the IDE. Intended for helping distinguish logs by noting the algorithm-id.
Public name for the algorithm as automatically generated by the IDE. Intended for helping distinguish logs by noting the algorithm-id.
str
Gets the object store, used for persistence
Gets the object store, used for persistence
ObjectStore
Gets the user settings for the algorithm
Gets the user settings for the algorithm
IAlgorithmSettings
Value of the user set start-date from the backtest.
Value of the user set start-date from the backtest.
datetime
Gets or sets the current status of the algorithm
Gets or sets the current status of the algorithm
AlgorithmStatus
Generic Data Manager - Required for compiling all data feeds in order, and passing them into algorithm event methods. The subscription manager contains a list of the data feed's we're subscribed to and properties of each data feed.
Generic Data Manager - Required for compiling all data feeds in order, and passing them into algorithm event methods. The subscription manager contains a list of the data feed's we're subscribed to and properties of each data feed.
SubscriptionManager
A list of tags associated with the algorithm or the backtest, useful for categorization
A list of tags associated with the algorithm or the backtest, useful for categorization
HashSet[str]
Read-only value for current time frontier of the algorithm in terms of the TimeZone
Read-only value for current time frontier of the algorithm in terms of the TimeZone
datetime
Gets the time zone used for the Time property. The default value is
Gets the time zone used for the Time property. The default value is
datetimeZone
Current date/time in UTC.
Current date/time in UTC.
datetime
Historical Data
Historical Data
history(type, tickers, start, end, resolution=None, fill_forward=None, extended_market_hours=None, data_mapping_mode=None, data_normalization_mode=None, contract_depth_offset=None)
[source]Get the history for all configured securities over the requested span. This will use the resolution and other subscription settings for each security. The symbols must exist in the Securities collection.
- type (PyObject) — The data type of the symbols
- tickers (PyObject) — The symbols to retrieve historical data for
- start (datetime) — The start time in the algorithm's time zone
- end (datetime) — The end time in the algorithm's time zone
- resolution (Resolution, optional) — The resolution to request
- fill_forward (bool, optional) — True to fill forward missing data, false otherwise
- extended_market_hours (bool, optional) — True to include extended market hours data, false otherwise
- data_mapping_mode (DataMappingMode, optional) — The contract mapping mode to use for the security history request
- data_normalization_mode (DataNormalizationMode, optional) — The price scaling mode to use for the securities history
- contract_depth_offset (int, optional) — The continuous contract desired offset from the current front month. For example, 0 will use the front month, 1 will use the back month contract
pandas.DataFrame containing the requested historical data
PyObject
history(type, symbol, start, end, resolution=None, fill_forward=None, extended_market_hours=None, data_mapping_mode=None, data_normalization_mode=None, contract_depth_offset=None)
[source]Get the history for all configured securities over the requested span. This will use the resolution and other subscription settings for each security. The symbols must exist in the Securities collection.
- type (PyObject) — The data type of the symbols
- symbol (Symbol) — The symbol to retrieve historical data for
- start (datetime) — The start time in the algorithm's time zone
- end (datetime) — The end time in the algorithm's time zone
- resolution (Resolution, optional) — The resolution to request
- fill_forward (bool, optional) — True to fill forward missing data, false otherwise
- extended_market_hours (bool, optional) — True to include extended market hours data, false otherwise
- data_mapping_mode (DataMappingMode, optional) — The contract mapping mode to use for the security history request
- data_normalization_mode (DataNormalizationMode, optional) — The price scaling mode to use for the securities history
- contract_depth_offset (int, optional) — The continuous contract desired offset from the current front month. For example, 0 will use the front month, 1 will use the back month contract
pandas.DataFrame containing the requested historical data
PyObject | List[TradeBar]
history(type, tickers, periods, resolution=None, fill_forward=None, extended_market_hours=None, data_mapping_mode=None, data_normalization_mode=None, contract_depth_offset=None)
[source]Get the history for all configured securities over the requested span. This will use the resolution and other subscription settings for each security. The symbols must exist in the Securities collection.
- type (PyObject) — The data type of the symbols
- tickers (PyObject) — The symbols to retrieve historical data for
- periods (int) — The number of bars to request
- resolution (Resolution, optional) — The resolution to request
- fill_forward (bool, optional) — True to fill forward missing data, false otherwise
- extended_market_hours (bool, optional) — True to include extended market hours data, false otherwise
- data_mapping_mode (DataMappingMode, optional) — The contract mapping mode to use for the security history request
- data_normalization_mode (DataNormalizationMode, optional) — The price scaling mode to use for the securities history
- contract_depth_offset (int, optional) — The continuous contract desired offset from the current front month. For example, 0 will use the front month, 1 will use the back month contract
pandas.DataFrame containing the requested historical data
PyObject | List[Slice]
history(type, tickers, span, resolution=None, fill_forward=None, extended_market_hours=None, data_mapping_mode=None, data_normalization_mode=None, contract_depth_offset=None)
[source]Get the history for all configured securities over the requested span. This will use the resolution and other subscription settings for each security. The symbols must exist in the Securities collection.
- type (PyObject) — The data type of the symbols
- tickers (PyObject) — The symbols to retrieve historical data for
- span (timedelta) — The span over which to retrieve recent historical data
- resolution (Resolution, optional) — The resolution to request
- fill_forward (bool, optional) — True to fill forward missing data, false otherwise
- extended_market_hours (bool, optional) — True to include extended market hours data, false otherwise
- data_mapping_mode (DataMappingMode, optional) — The contract mapping mode to use for the security history request
- data_normalization_mode (DataNormalizationMode, optional) — The price scaling mode to use for the securities history
- contract_depth_offset (int, optional) — The continuous contract desired offset from the current front month. For example, 0 will use the front month, 1 will use the back month contract
pandas.DataFrame containing the requested historical data
PyObject | List[Slice]
history(type, symbol, periods, resolution=None, fill_forward=None, extended_market_hours=None, data_mapping_mode=None, data_normalization_mode=None, contract_depth_offset=None)
[source]Get the history for all configured securities over the requested span. This will use the resolution and other subscription settings for each security. The symbols must exist in the Securities collection.
- type (PyObject) — The data type of the symbols
- symbol (Symbol) — The symbol to retrieve historical data for
- periods (int) — The number of bars to request
- resolution (Resolution, optional) — The resolution to request
- fill_forward (bool, optional) — True to fill forward missing data, false otherwise
- extended_market_hours (bool, optional) — True to include extended market hours data, false otherwise
- data_mapping_mode (DataMappingMode, optional) — The contract mapping mode to use for the security history request
- data_normalization_mode (DataNormalizationMode, optional) — The price scaling mode to use for the securities history
- contract_depth_offset (int, optional) — The continuous contract desired offset from the current front month. For example, 0 will use the front month, 1 will use the back month contract
pandas.DataFrame containing the requested historical data
PyObject | List[TradeBar] | List[Slice]
history(type, symbol, span, resolution=None, fill_forward=None, extended_market_hours=None, data_mapping_mode=None, data_normalization_mode=None, contract_depth_offset=None)
[source]Get the history for all configured securities over the requested span. This will use the resolution and other subscription settings for each security. The symbols must exist in the Securities collection.
- type (PyObject) — The data type of the symbols
- symbol (Symbol) — The symbol to retrieve historical data for
- span (timedelta) — The span over which to retrieve recent historical data
- resolution (Resolution, optional) — The resolution to request
- fill_forward (bool, optional) — True to fill forward missing data, false otherwise
- extended_market_hours (bool, optional) — True to include extended market hours data, false otherwise
- data_mapping_mode (DataMappingMode, optional) — The contract mapping mode to use for the security history request
- data_normalization_mode (DataNormalizationMode, optional) — The price scaling mode to use for the securities history
- contract_depth_offset (int, optional) — The continuous contract desired offset from the current front month. For example, 0 will use the front month, 1 will use the back month contract
pandas.DataFrame containing the requested historical data
PyObject | List[TradeBar] | List[Slice]
history(symbols, start, end, resolution=None, fill_forward=None, extended_market_hours=None, data_mapping_mode=None, data_normalization_mode=None, contract_depth_offset=None)
[source]Get the history for all configured securities over the requested span. This will use the resolution and other subscription settings for each security. The symbols must exist in the Securities collection.
- symbols (List[Symbol]) — The symbols to retrieve historical data for
- start (datetime) — The start time in the algorithm's time zone
- end (datetime) — The end time in the algorithm's time zone
- resolution (Resolution, optional) — The resolution to request
- fill_forward (bool, optional) — True to fill forward missing data, false otherwise
- extended_market_hours (bool, optional) — True to include extended market hours data, false otherwise
- data_mapping_mode (DataMappingMode, optional) — The contract mapping mode to use for the security history request
- data_normalization_mode (DataNormalizationMode, optional) — The price scaling mode to use for the securities history
- contract_depth_offset (int, optional) — The continuous contract desired offset from the current front month. For example, 0 will use the front month, 1 will use the back month contract
An enumerable of slice containing the requested historical data
List[Slice]
history(universe, start, end, resolution=None, fill_forward=None, extended_market_hours=None, data_mapping_mode=None, data_normalization_mode=None, contract_depth_offset=None)
[source]Get the history for all configured securities over the requested span. This will use the resolution and other subscription settings for each security. The symbols must exist in the Securities collection.
- universe (Universe) — The universe to fetch the data for
- start (datetime) — The start time in the algorithm's time zone
- end (datetime) — The end time in the algorithm's time zone
- resolution (Resolution, optional) — The resolution to request
- fill_forward (bool, optional) — True to fill forward missing data, false otherwise
- extended_market_hours (bool, optional) — True to include extended market hours data, false otherwise
- data_mapping_mode (DataMappingMode, optional) — The contract mapping mode to use for the security history request
- data_normalization_mode (DataNormalizationMode, optional) — The price scaling mode to use for the securities history
- contract_depth_offset (int, optional) — The continuous contract desired offset from the current front month. For example, 0 will use the front month, 1 will use the back month contract
An enumerable of slice containing the requested historical data
List[BaseDataCollection]
history(symbols, span, resolution=None, fill_forward=None, extended_market_hours=None, data_mapping_mode=None, data_normalization_mode=None, contract_depth_offset=None)
[source]Get the history for all configured securities over the requested span. This will use the resolution and other subscription settings for each security. The symbols must exist in the Securities collection.
- symbols (List[Symbol]) — The symbols to retrieve historical data for
- span (timedelta) — The span over which to retrieve recent historical data
- resolution (Resolution, optional) — The resolution to request
- fill_forward (bool, optional) — True to fill forward missing data, false otherwise
- extended_market_hours (bool, optional) — True to include extended market hours data, false otherwise
- data_mapping_mode (DataMappingMode, optional) — The contract mapping mode to use for the security history request
- data_normalization_mode (DataNormalizationMode, optional) — The price scaling mode to use for the securities history
- contract_depth_offset (int, optional) — The continuous contract desired offset from the current front month. For example, 0 will use the front month, 1 will use the back month contract
An enumerable of slice containing the requested historical data
List[Slice]
history(symbols, periods, resolution=None, fill_forward=None, extended_market_hours=None, data_mapping_mode=None, data_normalization_mode=None, contract_depth_offset=None)
[source]Get the history for all configured securities over the requested span. This will use the resolution and other subscription settings for each security. The symbols must exist in the Securities collection.
- symbols (List[Symbol]) — The symbols to retrieve historical data for
- periods (int) — The number of bars to request
- resolution (Resolution, optional) — The resolution to request
- fill_forward (bool, optional) — True to fill forward missing data, false otherwise
- extended_market_hours (bool, optional) — True to include extended market hours data, false otherwise
- data_mapping_mode (DataMappingMode, optional) — The contract mapping mode to use for the security history request
- data_normalization_mode (DataNormalizationMode, optional) — The price scaling mode to use for the securities history
- contract_depth_offset (int, optional) — The continuous contract desired offset from the current front month. For example, 0 will use the front month, 1 will use the back month contract
An enumerable of slice containing the requested historical data
List[Slice]
history(universe, periods, resolution=None, fill_forward=None, extended_market_hours=None, data_mapping_mode=None, data_normalization_mode=None, contract_depth_offset=None)
[source]Get the history for all configured securities over the requested span. This will use the resolution and other subscription settings for each security. The symbols must exist in the Securities collection.
- universe (Universe) — The universe to fetch the data for
- periods (int) — The number of bars to request
- resolution (Resolution, optional) — The resolution to request
- fill_forward (bool, optional) — True to fill forward missing data, false otherwise
- extended_market_hours (bool, optional) — True to include extended market hours data, false otherwise
- data_mapping_mode (DataMappingMode, optional) — The contract mapping mode to use for the security history request
- data_normalization_mode (DataNormalizationMode, optional) — The price scaling mode to use for the securities history
- contract_depth_offset (int, optional) — The continuous contract desired offset from the current front month. For example, 0 will use the front month, 1 will use the back month contract
An enumerable of slice containing data over the most recent span for all configured securities
List[BaseDataCollection] | List[Slice]
history(universe, span, resolution=None, fill_forward=None, extended_market_hours=None, data_mapping_mode=None, data_normalization_mode=None, contract_depth_offset=None)
[source]Get the history for all configured securities over the requested span. This will use the resolution and other subscription settings for each security. The symbols must exist in the Securities collection.
- universe (Universe) — The universe to fetch the data for
- span (timedelta) — The span over which to request data. This is a calendar span, so take into consideration weekends and such
- resolution (Resolution, optional) — The resolution to request
- fill_forward (bool, optional) — True to fill forward missing data, false otherwise
- extended_market_hours (bool, optional) — True to include extended market hours data, false otherwise
- data_mapping_mode (DataMappingMode, optional) — The contract mapping mode to use for the security history request
- data_normalization_mode (DataNormalizationMode, optional) — The price scaling mode to use for the securities history
- contract_depth_offset (int, optional) — The continuous contract desired offset from the current front month. For example, 0 will use the front month, 1 will use the back month contract
An enumerable of slice containing the requested historical data
List[BaseDataCollection] | List[Slice]
history(request)
[source]Get the history for all configured securities over the requested span. This will use the resolution and other subscription settings for each security. The symbols must exist in the Securities collection.
- request (HistoryRequest) — the history request to execute
An enumerable of slice satisfying the specified history request
List[Slice]
history(requests)
[source]Get the history for all configured securities over the requested span. This will use the resolution and other subscription settings for each security. The symbols must exist in the Securities collection.
- requests (List[HistoryRequest]) — the history requests to execute
An enumerable of slice satisfying the specified history request
List[Slice]
set_finished_warming_up()
[source]Sets IsWarmingUp to false to indicate this algorithm has finished its warm up
set_history_provider(history_provider)
[source]Set the historical data provider
- history_provider (IHistoryProvider) — Historical data provider
set_warm_up(time_span, resolution)
[source]Sets the warm up period to the specified value
- time_span (timedelta) — The amount of time to warm up, this does not take into account market hoursweekends
- resolution (Resolution) — The resolution to request
set_warm_up(bar_count, resolution)
[source]Sets the warm up period to the specified value
- bar_count (int) — The number of data points requested for warm up
- resolution (Resolution) — The resolution to request
set_warmup(time_span, resolution)
[source]Sets the warm up period to the specified value
- time_span (timedelta) — The amount of time to warm up, this does not take into account market hoursweekends
- resolution (Resolution) — The resolution to request
set_warmup(bar_count, resolution)
[source]Sets the warm up period to the specified value
- bar_count (int) — The number of data points requested for warm up
- resolution (Resolution) — The resolution to request
warm_up_indicator(symbol, indicator, period, selector=None)
[source]Warms up a given indicator with historical data
- symbol (Symbol) — The symbol whose indicator we want
- indicator (None | IndicatorBase[IndicatorDataPoint]) — The indicator we want to warm up
- period (timedelta) — The necessary period to warm up the indicator
- selector (Callable[IBaseData, float] | None, optional) — x.Value)
Gets whether or not this algorithm is still warming up
Gets whether or not this algorithm is still warming up
bool
Indicators
Indicators
a(target, reference, alpha_period=1, beta_period=252, resolution=None, risk_free_rate=None, selector=None)
[source]Adds a tag to the algorithm
- target (Symbol) — The target symbol whose Alpha value we want
- reference (Symbol) — The reference symbol to compare with the target symbol
- alpha_period (int, optional) — The period of the Alpha indicator
- beta_period (int, optional) — The period of the Beta indicator
- resolution (Resolution, optional) — The resolution
- risk_free_rate (float, optional) — The risk free rate
- selector (Callable[IBaseData, IBaseDataBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The Alpha indicator for the given parameters
abands(symbol, period, width=4.0, moving_average_type=0, resolution=None, selector=None)
[source]Creates a new Acceleration Bands indicator.
- symbol (Symbol) — The symbol whose Acceleration Bands we want.
- period (int) — The period of the three moving average (middle, upper and lower band).
- width (float, optional) — A coefficient specifying the distance between the middle band and upper or lower bands.
- moving_average_type (MovingAverageType, optional) — Type of the moving average.
- resolution (Resolution, optional) — The resolution.
- selector (Callable[IBaseData, TradeBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar.
ad(symbol, resolution=None, selector=None)
[source]Creates a new AccumulationDistribution indicator.
- symbol (Symbol) — The symbol whose AD we want
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, TradeBar], optional) — x.Value)
The AccumulationDistribution indicator for the requested symbol over the specified period
addiff(symbols, resolution=None, selector=None)
[source]Creates a new Advance/Decline Difference indicator
- symbols (List[Symbol]) — The symbols whose AD Difference we want
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, TradeBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The AdvanceDecline Difference indicator for the requested symbol over the specified period
adosc(symbol, fast_period, slow_period, resolution=None, selector=None)
[source]Creates a new AccumulationDistributionOscillator indicator.
- symbol (Symbol) — The symbol whose ADOSC we want
- fast_period (int) — The fast moving average period
- slow_period (int) — The slow moving average period
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, TradeBar], optional) — x.Value)
The AccumulationDistributionOscillator indicator for the requested symbol over the specified period
adr(symbols, resolution=None, selector=None)
[source]Creates a new Advance/Decline Ratio indicator
- symbols (List[Symbol]) — The symbols whose AD Ratio we want
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, TradeBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The AdvanceDecline Ratio indicator for the requested symbol over the specified period
advr(symbols, resolution=None, selector=None)
[source]Creates a new Advance/Decline Volume Ratio indicator
- symbols (List[Symbol]) — The symbol whose AD Volume Rate we want
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, TradeBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The AdvanceDecline Volume Ratio indicator for the requested symbol over the specified period
adx(symbol, period, resolution=None, selector=None)
[source]Creates a new Average Directional Index indicator. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose Average Directional Index we seek
- period (int) — The resolution.
- resolution (Resolution, optional) — The period over which to compute the Average Directional Index
- selector (Callable[IBaseData, IBaseDataBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The Average Directional Index indicator for the requested symbol.
adxr(symbol, period, resolution=None, selector=None)
[source]Creates a new AverageDirectionalMovementIndexRating indicator.
- symbol (Symbol) — The symbol whose ADXR we want
- period (int) — The period over which to compute the ADXR
- resolution (Resolution, optional) — The resolution.
- selector (Callable[IBaseData, IBaseDataBar], optional) — x.Value)
The AverageDirectionalMovementIndexRating indicator for the requested symbol over the specified period
alma(symbol, period, sigma=6, offset=0.85, resolution=None, selector=None)
[source]Creates a new ArnaudLegouxMovingAverage indicator.
- symbol (Symbol) — The symbol whose ALMA we want
- period (int) — int - the number of periods to calculate the ALMA
- sigma (int, optional) — int - this parameter is responsible for the shape of the curve coefficients.
- offset (float, optional) — decimal - This parameter allows regulating the smoothness and high sensitivity of the Moving Average. The range for this parameter is [0, 1].
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The ArnaudLegouxMovingAverage indicator for the requested symbol over the specified period
ao(symbol, slow_period, fast_period, type, resolution=None, selector=None)
[source]Creates a new Awesome Oscillator from the specified periods.
- symbol (Symbol) — The symbol whose Awesome Oscillator we seek
- slow_period (int) — The resolution.
- fast_period (int) — The period of the fast moving average associated with the AO
- type (MovingAverageType) — The period of the slow moving average associated with the AO
- resolution (Resolution, optional) — The type of moving average used when computing the fast and slow term. Defaults to simple moving average.
- selector (Callable[IBaseData, IBaseDataBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
apo(symbol, fast_period, slow_period, moving_average_type, resolution=None, selector=None)
[source]Creates a new AbsolutePriceOscillator indicator.
- symbol (Symbol) — The symbol whose APO we want
- fast_period (int) — The fast moving average period
- slow_period (int) — The slow moving average period
- moving_average_type (MovingAverageType) — The type of moving average to use
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The AbsolutePriceOscillator indicator for the requested symbol over the specified period
aps(symbol, period=3, resolution=None, selector=None)
[source]Creates an AugenPriceSpike indicator for the symbol. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose APS we want
- period (int, optional) — The period of the APS
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The AugenPriceSpike indicator for the given parameters
arima(symbol, ar_order, diff_order, ma_order, period, resolution=None, selector=None)
[source]Creates a new ARIMA indicator.
- symbol (Symbol) — The symbol whose ARIMA indicator we want
- ar_order (int) — AR order (p) -- defines the number of past values to consider in the AR component of the model.
- diff_order (int) — Difference order (d) -- defines how many times to difference the model before fitting parameters.
- ma_order (int) — MA order (q) -- defines the number of past values to consider in the MA component of the model.
- period (int) — Size of the rolling series to fit onto
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The ARIMA indicator for the requested symbol over the specified period
aroon(symbol, up_period, down_period, resolution=None, selector=None)
[source]Creates a new AroonOscillator indicator which will compute the AroonUp and AroonDown (as well as the delta)
- symbol (Symbol) — The symbol whose Aroon we seek
- up_period (int) — The look back period for computing number of periods since maximum
- down_period (int) — The look back period for computing number of periods since minimum
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, IBaseDataBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
An AroonOscillator configured with the specified periods
aroon(symbol, period, resolution=None, selector=None)
[source]Creates a new AroonOscillator indicator which will compute the AroonUp and AroonDown (as well as the delta)
- symbol (Symbol) — The symbol whose Aroon we seek
- period (int) — The look back period for computing number of periods since maximum and minimum
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, IBaseDataBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
An AroonOscillator configured with the specified periods
asi(symbol, limit_move, resolution=4, selector=None)
[source]Creates a Wilder Accumulative Swing Index (ASI) indicator for the symbol. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose ASI we want
- limit_move (float) — The maximum daily change in price for the ASI
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, TradeBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The WilderAccumulativeSwingIndex for the given parameters
atr(symbol, period, type=0, resolution=None, selector=None)
[source]Creates a new AverageTrueRange indicator for the symbol. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose ATR we want
- period (int) — The smoothing period used to smooth the computed TrueRange values
- type (MovingAverageType, optional) — The type of smoothing to use
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, IBaseDataBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
A new AverageTrueRange indicator with the specified smoothing type and period
b(target, reference, period, resolution=None, selector=None)
[source]Creates a new BollingerBands indicator which will compute the MiddleBand, UpperBand, LowerBand, and StandardDeviation
- target (Symbol) — The target symbol whose Beta value we want
- reference (Symbol) — The reference symbol to compare with the target symbol
- period (int) — The period of the Beta indicator
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, IBaseDataBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The Beta indicator for the given parameters
bb(symbol, period, k, moving_average_type=0, resolution=None, selector=None)
[source]Creates a new BollingerBands indicator which will compute the MiddleBand, UpperBand, LowerBand, and StandardDeviation
- symbol (Symbol) — The symbol whose BollingerBands we seek
- period (int) — The period of the standard deviation and moving average (middle band)
- k (float) — The number of standard deviations specifying the distance between the middle band and upper or lower bands
- moving_average_type (MovingAverageType, optional) — The type of moving average to be used
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
A BollingerBands configured with the specified period
bop(symbol, resolution=None, selector=None)
[source]Creates a new Balance Of Power indicator. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose Balance Of Power we seek
- resolution (Resolution, optional) — The resolution.
- selector (Callable[IBaseData, IBaseDataBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The Balance Of Power indicator for the requested symbol.
c(target, reference, period, correlation_type=0, resolution=None, selector=None)
[source]Converts a composite FIGI identifier into a String)
- target (Symbol) — The target symbol of this indicator
- reference (Symbol) — The reference symbol of this indicator
- period (int) — The period of this indicator
- correlation_type (CorrelationType, optional) — Correlation type
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, IBaseDataBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The Correlation indicator for the given parameters
cc(symbol, short_roc_period=11, long_roc_period=14, lwma_period=10, resolution=None, selector=None)
[source]Initializes a new instance of the CoppockCurve indicator
- symbol (Symbol) — The symbol whose Coppock Curve we want
- short_roc_period (int, optional) — The period for the short ROC
- long_roc_period (int, optional) — The period for the long ROC
- lwma_period (int, optional) — The period for the LWMA
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The Coppock Curve indicator for the requested symbol over the specified period
cci(symbol, period, moving_average_type=0, resolution=None, selector=None)
[source]Creates a new CommodityChannelIndex indicator. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose CCI we want
- period (int) — The period over which to compute the CCI
- moving_average_type (MovingAverageType, optional) — The type of moving average to use in computing the typical price average
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, IBaseDataBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The CommodityChannelIndex indicator for the requested symbol over the specified period
cmf(symbol, period, resolution=None, selector=None)
[source]Creates a new ChaikinMoneyFlow indicator.
- symbol (Symbol) — The symbol whose CMF we want
- period (int) — The period over which to compute the CMF
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, TradeBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The ChaikinMoneyFlow indicator for the requested symbol over the specified period
cmo(symbol, period, resolution=None, selector=None)
[source]Creates a new ChandeMomentumOscillator indicator.
- symbol (Symbol) — The symbol whose CMO we want
- period (int) — The period over which to compute the CMO
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The ChandeMomentumOscillator indicator for the requested symbol over the specified period
create_indicator_name(symbol, type, resolution)
[source]Creates a new name for an indicator created with the convenience functions (SMA, EMA, ect...)
- symbol (Symbol) — The symbol this indicator is registered to
- type (str | Formattablestr) — The indicator type, for example, 'SMA(5)'
- resolution (Resolution) — The resolution requested
A unique for the given parameters
str
d(symbol, mirror_option=None, risk_free_rate=None, dividend_yield=None, option_model=0, iv_model=None, resolution=None)
[source]Send a debug message to the web console:
- symbol (Symbol) — The option symbol whose values we want as an indicator
- mirror_option (Symbol, optional) — The mirror option for parity calculation
- risk_free_rate (float, optional) — The risk free rate
- dividend_yield (float, optional) — The dividend yield
- option_model (OptionPricingModelType, optional) — The option pricing model used to estimate Delta
- iv_model (OptionPricingModelType, optional) — The option pricing model used to estimate IV
- resolution (Resolution, optional) — The desired resolution of the data
A new Delta indicator for the specified symbol
dch(symbol, upper_period, lower_period, resolution=None, selector=None)
[source]Creates a new Donchian Channel indicator which will compute the Upper Band and Lower Band. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose Donchian Channel we seek.
- upper_period (int) — The period over which to compute the upper Donchian Channel.
- lower_period (int) — The period over which to compute the lower Donchian Channel.
- resolution (Resolution, optional) — The resolution.
- selector (Callable[IBaseData, IBaseDataBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The Donchian Channel indicator for the requested symbol.
dch(symbol, period, resolution=None, selector=None)
[source]Creates a new Donchian Channel indicator which will compute the Upper Band and Lower Band. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose Donchian Channel we seek.
- period (int) — The period over which to compute the Donchian Channel.
- resolution (Resolution, optional) — The resolution.
- selector (Callable[IBaseData, IBaseDataBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The Donchian Channel indicator for the requested symbol.
dem(symbol, period, type, resolution=None, selector=None)
[source]Creates a new DeMarker Indicator (DEM), an oscillator-type indicator measuring changes in terms of an asset's High and Low tradebar values.
- symbol (Symbol) — The symbol whose DEM we seek.
- period (int) — The period of the moving average implemented
- type (MovingAverageType) — Specifies the type of moving average to be used
- resolution (Resolution, optional) — The resolution.
- selector (Callable[IBaseData, TradeBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The DeMarker indicator for the requested symbol.
dema(symbol, period, resolution=None, selector=None)
[source]Creates a new DoubleExponentialMovingAverage indicator.
- symbol (Symbol) — The symbol whose DEMA we want
- period (int) — The period over which to compute the DEMA
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The DoubleExponentialMovingAverage indicator for the requested symbol over the specified period
do(symbol, rsi_period, smoothing_rsi_period, double_smoothing_rsi_period, signal_line_period, resolution=None, selector=None)
[source]Creates a new DerivativeOscillator indicator.
- symbol (Symbol) — The symbol whose DO we want
- rsi_period (int) — The period over which to compute the RSI
- smoothing_rsi_period (int) — The period over which to compute the smoothing RSI
- double_smoothing_rsi_period (int) — The period over which to compute the double smoothing RSI
- signal_line_period (int) — The period over which to compute the signal line
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to the Value property of BaseData (x => x.Value)
The DerivativeOscillator indicator for the requested symbol over the specified period
dpo(symbol, period, resolution=None, selector=None)
[source]Creates a new DetrendedPriceOscillator indicator.
- symbol (Symbol) — The symbol whose DPO we want
- period (int) — The period over which to compute the DPO
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
A new registered DetrendedPriceOscillator indicator for the requested symbol over the specified period
ema(symbol, period, smoothing_factor, resolution=None, selector=None)
[source]Creates an ExponentialMovingAverage indicator for the symbol. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose EMA we want
- period (int) — The period of the EMA
- smoothing_factor (float) — The percentage of data from the previous value to be carried into the next value
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The ExponentialMovingAverage for the given parameters
emv(symbol, period=1, scale=10000, resolution=None, selector=None)
[source]Creates an EaseOfMovementValue indicator for the symbol. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose EMV we want
- period (int, optional) — The period of the EMV
- scale (int, optional) — The length of the outputed value
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, TradeBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The EaseOfMovementValue indicator for the given parameters
filtered_identity(symbol, resolution, selector=None, filter=None, field_name=None)
[source]Creates a new FilteredIdentity indicator for the symbol The indicator will be automatically updated on the symbol's subscription resolution
- symbol (Symbol) — The symbol whose values we want as an indicator
- resolution (Resolution | timedelta) — The desired resolution of the data
- selector (Callable[IBaseData, IBaseDataBar] | PyObject, optional) — x.Value)
- filter (PyObject | Callable[IBaseData, bool], optional) — true) which means no filter
- field_name (str, optional) — The name of the field being selected
A new FilteredIdentity indicator for the specified symbol and selector
fish(symbol, period, resolution=None, selector=None)
[source]Creates an FisherTransform indicator for the symbol. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose FisherTransform we want
- period (int) — The period of the FisherTransform
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, TradeBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The FisherTransform for the given parameters
frama(symbol, period, long_period=198, resolution=None, selector=None)
[source]Creates an FractalAdaptiveMovingAverage (FRAMA) indicator for the symbol. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose FRAMA we want
- period (int) — The period of the FRAMA
- long_period (int, optional) — The long period of the FRAMA
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, IBaseDataBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The FRAMA for the given parameters
g(symbol, mirror_option=None, risk_free_rate=None, dividend_yield=None, option_model=0, iv_model=None, resolution=None)
[source]Gets the parameter with the specified name. If a parameter with the specified name does not exist, the given default value is returned if any, else null
- symbol (Symbol) — The option symbol whose values we want as an indicator
- mirror_option (Symbol, optional) — The mirror option for parity calculation
- risk_free_rate (float, optional) — The risk free rate
- dividend_yield (float, optional) — The dividend yield
- option_model (OptionPricingModelType, optional) — The option pricing model used to estimate Gamma
- iv_model (OptionPricingModelType, optional) — The option pricing model used to estimate IV
- resolution (Resolution, optional) — The desired resolution of the data
A new Gamma indicator for the specified symbol
heikin_ashi(symbol, resolution=None, selector=None)
[source]Creates a new Heikin-Ashi indicator.
- symbol (Symbol) — The symbol whose Heikin-Ashi we want
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, TradeBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The Heikin-Ashi indicator for the requested symbol over the specified period
hma(symbol, period, resolution=None, selector=None)
[source]Creates a new HullMovingAverage indicator. The Hull moving average is a series of nested weighted moving averages, is fast and smooth.
- symbol (Symbol) — The symbol whose Hull moving average we want
- period (int) — The period over which to compute the Hull moving average
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
ht(symbol, length, in_phase_multiplication_factor, quadrature_multiplication_factor, resolution=None, selector=None)
[source]Creates a new Hilbert Transform indicator
- symbol (Symbol) — The symbol whose Hilbert transform we want
- length (int) — The length of the FIR filter used in the calculation of the Hilbert Transform. This parameter determines the number of filter coefficients in the FIR filter.
- in_phase_multiplication_factor (float) — The multiplication factor used in the calculation of the in-phase component of the Hilbert Transform. This parameter adjusts the sensitivity and responsiveness of the transform to changes in the input signal.
- quadrature_multiplication_factor (float) — The multiplication factor used in the calculation of the quadrature component of the Hilbert Transform. This parameter also adjusts the sensitivity and responsiveness of the transform to changes in the input signal.
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
ichimoku(symbol, tenkan_period, kijun_period, senkou_a_period, senkou_b_period, senkou_a_delay_period, senkou_b_delay_period, resolution=None, selector=None)
[source]Creates a new IchimokuKinkoHyo indicator for the symbol. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose ICHIMOKU we want
- tenkan_period (int) — The period to calculate the Tenkan-sen period
- kijun_period (int) — The period to calculate the Kijun-sen period
- senkou_a_period (int) — The period to calculate the Tenkan-sen period
- senkou_b_period (int) — The period to calculate the Tenkan-sen period
- senkou_a_delay_period (int) — The period to calculate the Tenkan-sen period
- senkou_b_delay_period (int) — The period to calculate the Tenkan-sen period
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, TradeBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
A new IchimokuKinkoHyo indicator with the specified periods and delays
identity(symbol, resolution, selector=None, field_name=None)
[source]Creates a new Identity indicator for the symbol The indicator will be automatically updated on the symbol's subscription resolution
- symbol (Symbol) — The symbol whose values we want as an indicator
- resolution (Resolution | timedelta) — The desired resolution of the data
- selector (Callable[IBaseData, float], optional) — x.Value)
- field_name (str, optional) — The name of the field being selected
A new Identity indicator for the specified symbol and selector
iv(symbol, mirror_option=None, risk_free_rate=None, dividend_yield=None, option_model=0, period=252, resolution=None)
[source]Creates a new ImpliedVolatility indicator for the symbol The indicator will be automatically updated on the symbol's subscription resolution
- symbol (Symbol) — The option symbol whose values we want as an indicator
- mirror_option (Symbol, optional) — The mirror option contract used for parity type calculation
- risk_free_rate (float, optional) — The risk free rate
- dividend_yield (float, optional) — The dividend yield
- option_model (OptionPricingModelType, optional) — The option pricing model used to estimate IV
- period (int, optional) — The lookback period of historical volatility
- resolution (Resolution, optional) — The desired resolution of the data
A new ImpliedVolatility indicator for the specified symbol
kama(symbol, period, fast_ema_period, slow_ema_period, resolution=None, selector=None)
[source]Creates a new KaufmanAdaptiveMovingAverage indicator.
- symbol (Symbol) — The symbol whose KAMA we want
- period (int) — The period of the Efficiency Ratio (ER)
- fast_ema_period (int) — The period of the fast EMA used to calculate the Smoothing Constant (SC)
- slow_ema_period (int) — The period of the slow EMA used to calculate the Smoothing Constant (SC)
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The KaufmanAdaptiveMovingAverage indicator for the requested symbol over the specified period
kch(symbol, period, k, moving_average_type=0, resolution=None, selector=None)
[source]Creates a new Keltner Channels indicator. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose Keltner Channel we seek
- period (int) — The period over which to compute the Keltner Channels
- k (float) — from the middle band of the Keltner Channels
- moving_average_type (MovingAverageType, optional) — Specifies the type of moving average to be used as the middle line of the Keltner Channel
- resolution (Resolution, optional) — The resolution.
- selector (Callable[IBaseData, IBaseDataBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The Keltner Channel indicator for the requested symbol.
ker(symbol, period=2, resolution=None, selector=None)
[source]Creates an KaufmanEfficiencyRatio indicator for the symbol. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose EF we want
- period (int, optional) — The period of the EF
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The KaufmanEfficiencyRatio indicator for the given parameters
logr(symbol, period, resolution=None, selector=None)
[source]Creates a new LogReturn indicator.
- symbol (Symbol) — The symbol whose log return we seek
- period (int) — The period of the log return.
- resolution (Resolution, optional) — The resolution.
- selector (Callable[IBaseData, float], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar.
log return indicator for the requested symbol.
lsma(symbol, period, resolution=None, selector=None)
[source]Creates and registers a new Least Squares Moving Average instance.
- symbol (Symbol) — The symbol whose LSMA we seek.
- period (int) — The LSMA period. Normally 14.
- resolution (Resolution, optional) — The resolution.
- selector (Callable[IBaseData, float], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar.
A LeastSquaredMovingAverage configured with the specified period
lwma(symbol, period, resolution=None, selector=None)
[source]Creates a new LinearWeightedMovingAverage indicator. This indicator will linearly distribute the weights across the periods.
- symbol (Symbol) — The symbol whose LWMA we want
- period (int) — The period over which to compute the LWMA
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
macd(symbol, fast_period, slow_period, signal_period, type=1, resolution=None, selector=None)
[source]Creates a MACD indicator for the symbol. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose MACD we want
- fast_period (int) — The period for the fast moving average
- slow_period (int) — The period for the slow moving average
- signal_period (int) — The period for the signal moving average
- type (MovingAverageType, optional) — The type of moving average to use for the MACD
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The moving average convergence divergence between the fast and slow averages
mad(symbol, period, resolution=None, selector=None)
[source]Creates a new MeanAbsoluteDeviation indicator.
- symbol (Symbol) — The symbol whose MeanAbsoluteDeviation we want
- period (int) — The period over which to compute the MeanAbsoluteDeviation
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The MeanAbsoluteDeviation indicator for the requested symbol over the specified period
mass(symbol, ema_period=9, sum_period=25, resolution=None, selector=None)
[source]Creates a new Mass Index indicator. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose Mass Index we want.
- ema_period (int, optional) — The period used by both EMA.
- sum_period (int, optional) — The sum period.
- resolution (Resolution, optional) — The resolution.
- selector (Callable[IBaseData, TradeBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The Mass Index indicator for the requested symbol over the specified period
max(symbol, period, resolution=None, selector=None)
[source]Creates a new Maximum indicator to compute the maximum value
- symbol (Symbol) — The symbol whose max we want
- period (int) — The look back period over which to compute the max value
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
A Maximum indicator that compute the max value and the periods since the max value
mfi(symbol, period, resolution=None, selector=None)
[source]Creates a new MoneyFlowIndex indicator. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose MFI we want
- period (int) — The period over which to compute the MFI
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, TradeBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The MoneyFlowIndex indicator for the requested symbol over the specified period
midpoint(symbol, period, resolution=None, selector=None)
[source]Creates a new MidPoint indicator.
- symbol (Symbol) — The symbol whose MIDPOINT we want
- period (int) — The period over which to compute the MIDPOINT
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The MidPoint indicator for the requested symbol over the specified period
midprice(symbol, period, resolution=None, selector=None)
[source]Creates a new MidPrice indicator.
- symbol (Symbol) — The symbol whose MIDPRICE we want
- period (int) — The period over which to compute the MIDPRICE
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, IBaseDataBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The MidPrice indicator for the requested symbol over the specified period
min(symbol, period, resolution=None, selector=None)
[source]Creates a new Minimum indicator to compute the minimum value
- symbol (Symbol) — The symbol whose min we want
- period (int) — The look back period over which to compute the min value
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
A Minimum indicator that compute the in value and the periods since the min value
mom(symbol, period, resolution=None, selector=None)
[source]Creates a new Momentum indicator. This will compute the absolute n-period change in the security. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose momentum we want
- period (int) — The period over which to compute the momentum
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The momentum indicator for the requested symbol over the specified period
momersion(symbol, min_period, full_period, resolution=None, selector=None)
[source]Creates a new Momersion indicator.
- symbol (Symbol) — The symbol whose Momersion we want
- min_period (int) — The minimum period over which to compute the Momersion. Must be greater than 3. If null, only full period will be used in computations.
- full_period (int) — The full period over which to compute the Momersion
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The Momersion indicator for the requested symbol over the specified period
momp(symbol, period, resolution=None, selector=None)
[source]Creates a new MomentumPercent indicator. This will compute the n-period percent change in the security. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose momentum we want
- period (int) — The period over which to compute the momentum
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The momentum indicator for the requested symbol over the specified period
mosc(symbols, fast_period=19, slow_period=39, resolution=None, selector=None)
[source]Creates a new McClellan Oscillator indicator
- symbols (Symbol[] | List[Symbol]) — The symbols whose McClellan Oscillator we want
- fast_period (int, optional) — Fast period EMA of advance decline difference
- slow_period (int, optional) — Slow period EMA of advance decline difference
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, TradeBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The McClellan Oscillator indicator for the requested symbol over the specified period
msi(symbols, fast_period=19, slow_period=39, resolution=None, selector=None)
[source]Creates a new McClellan Summation Index indicator
- symbols (Symbol[] | List[Symbol]) — The symbols whose McClellan Summation Index we want
- fast_period (int, optional) — Fast period EMA of advance decline difference
- slow_period (int, optional) — Slow period EMA of advance decline difference
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, TradeBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The McClellan Summation Index indicator for the requested symbol over the specified period
natr(symbol, period, resolution=None, selector=None)
[source]Creates a new NormalizedAverageTrueRange indicator.
- symbol (Symbol) — The symbol whose NATR we want
- period (int) — The period over which to compute the NATR
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, IBaseDataBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The NormalizedAverageTrueRange indicator for the requested symbol over the specified period
obv(symbol, resolution=None, selector=None)
[source]Creates a new On Balance Volume indicator. This will compute the cumulative total volume based on whether the close price being higher or lower than the previous period. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose On Balance Volume we seek
- resolution (Resolution, optional) — The resolution.
- selector (Callable[IBaseData, TradeBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The On Balance Volume indicator for the requested symbol.
pphl(symbol, length_high, length_low, last_stored_values=100, resolution=None, selector=None)
[source]Creates a new PivotPointsHighLow indicator
- symbol (Symbol) — The symbol whose PPHL we seek
- length_high (int) — The number of surrounding bars whose high values should be less than the current bar's for the bar high to be marked as high pivot point
- length_low (int) — The number of surrounding bars whose low values should be more than the current bar's for the bar low to be marked as low pivot point
- last_stored_values (int, optional) — The number of last stored indicator values
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, IBaseDataBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The PivotPointsHighLow indicator for the requested symbol.
ppo(symbol, fast_period, slow_period, moving_average_type, resolution=None, selector=None)
[source]Creates a new PercentagePriceOscillator indicator.
- symbol (Symbol) — The symbol whose PPO we want
- fast_period (int) — The fast moving average period
- slow_period (int) — The slow moving average period
- moving_average_type (MovingAverageType) — The type of moving average to use
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The PercentagePriceOscillator indicator for the requested symbol over the specified period
psar(symbol, af_start=0.02, af_increment=0.02, af_max=0.2, resolution=None, selector=None)
[source]Creates a new Parabolic SAR indicator
- symbol (Symbol) — The symbol whose PSAR we seek
- af_start (float, optional) — Acceleration factor start value. Normally 0.02
- af_increment (float, optional) — Acceleration factor increment value. Normally 0.02
- af_max (float, optional) — Acceleration factor max value. Normally 0.2
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, IBaseDataBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
A ParabolicStopAndReverse configured with the specified periods
r(symbol, mirror_option=None, risk_free_rate=None, dividend_yield=None, option_model=0, iv_model=None, resolution=None)
[source]Removes the security with the specified symbol. This will cancel all open orders and then liquidate any existing holdings
- symbol (Symbol) — The option symbol whose values we want as an indicator
- mirror_option (Symbol, optional) — The mirror option for parity calculation
- risk_free_rate (float, optional) — The risk free rate
- dividend_yield (float, optional) — The dividend yield
- option_model (OptionPricingModelType, optional) — The option pricing model used to estimate Rho
- iv_model (OptionPricingModelType, optional) — The option pricing model used to estimate IV
- resolution (Resolution, optional) — The desired resolution of the data
A new Rho indicator for the specified symbol
rc(symbol, period, k, resolution=None, selector=None)
[source]Creates a new RegressionChannel indicator which will compute the LinearRegression, UpperChannel and LowerChannel lines, the intercept and slope
- symbol (Symbol) — The symbol whose RegressionChannel we seek
- period (int) — The period of the standard deviation and least square moving average (linear regression line)
- k (float) — The number of standard deviations specifying the distance between the linear regression and upper or lower channel lines
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
A Regression Channel configured with the specified period and number of standard deviation
rdv(symbol, period=2, resolution=4, selector=None)
[source]Creates an RelativeDailyVolume indicator for the symbol. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose RDV we want
- period (int, optional) — The period of the RDV
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, TradeBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The Relative Volume indicator for the given parameters
register_indicator(symbol, indicator, resolution, selector)
[source]Creates and registers a new consolidator to receive automatic updates at the specified resolution as well as configures the indicator to receive updates from the consolidator.
- symbol (Symbol) — The symbol to register against
- indicator (None | PyObject | IndicatorBase[IndicatorDataPoint]) — The indicator to receive data from the consolidator
- resolution (Optional[timedelta] | Optional[Resolution]) — The resolution at which to send data to the indicator, null to use the same resolution as the subscription
- selector (Callable[IBaseData, float] | None | PyObject) — (T)x)
register_indicator(symbol, indicator, py_object, selector=None)
[source]Creates and registers a new consolidator to receive automatic updates at the specified resolution as well as configures the indicator to receive updates from the consolidator.
- symbol (Symbol) — The symbol to register against
- indicator (PyObject) — The indicator to receive data from the consolidator
- py_object (PyObject) — The python object that it is trying to register with, could be consolidator or a timespan
- selector (PyObject, optional) — (T)x)
register_indicator(symbol, indicator, consolidator, selector=None)
[source]Creates and registers a new consolidator to receive automatic updates at the specified resolution as well as configures the indicator to receive updates from the consolidator.
- symbol (Symbol) — The symbol to register against
- indicator (None | PyObject | IndicatorBase[IndicatorDataPoint]) — The indicator to receive data from the consolidator
- consolidator (IDataConsolidator) — The consolidator to receive raw subscription data
- selector (Callable[IBaseData, float] | None | PyObject, optional) — (T)x)
rma(symbol, period, resolution=None, selector=None)
[source]Creates a new Relative Moving Average indicator for the symbol. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose relative moving average we seek
- period (int) — The period of the relative moving average
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
A relative moving average configured with the specified period and number of standard deviation
roc(symbol, period, resolution=None, selector=None)
[source]Creates a new RateOfChange indicator. This will compute the n-period rate of change in the security. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose RateOfChange we want
- period (int) — The period over which to compute the RateOfChange
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The RateOfChange indicator for the requested symbol over the specified period
rocp(symbol, period, resolution=None, selector=None)
[source]Creates a new RateOfChangePercent indicator. This will compute the n-period percentage rate of change in the security. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose RateOfChangePercent we want
- period (int) — The period over which to compute the RateOfChangePercent
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The RateOfChangePercent indicator for the requested symbol over the specified period
rocr(symbol, period, resolution=None, selector=None)
[source]Creates a new RateOfChangeRatio indicator.
- symbol (Symbol) — The symbol whose ROCR we want
- period (int) — The period over which to compute the ROCR
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The RateOfChangeRatio indicator for the requested symbol over the specified period
rsi(symbol, period, moving_average_type=2, resolution=None, selector=None)
[source]Creates a new RelativeStrengthIndex indicator. This will produce an oscillator that ranges from 0 to 100 based on the ratio of average gains to average losses over the specified period.
- symbol (Symbol) — The symbol whose RSI we want
- period (int) — The period over which to compute the RSI
- moving_average_type (MovingAverageType, optional) — The type of moving average to use in computing the average gainloss values
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The RelativeStrengthIndex indicator for the requested symbol over the specified period
rvi(symbol, period, moving_average_type=0, resolution=None, selector=None)
[source]Creates a new RelativeVigorIndex indicator.
- symbol (Symbol) — The symbol whose RVI we want
- period (int) — The period over which to compute the RVI
- moving_average_type (MovingAverageType, optional) — The type of moving average to use
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, TradeBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The RelativeVigorIndex indicator for the requested symbol over the specified period
si(symbol, limit_move, resolution=4, selector=None)
[source]Creates a Wilder Swing Index (SI) indicator for the symbol. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose SI we want
- limit_move (float) — The maximum daily change in price for the SI
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, TradeBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The WilderSwingIndex for the given parameters
sma(symbol, period, resolution=None, selector=None)
[source]Creates an SimpleMovingAverage indicator for the symbol. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose SMA we want
- period (int) — The period of the SMA
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The SimpleMovingAverage for the given parameters
sortino(symbol, sortino_period, minimum_acceptable_return=0.0, resolution=None, selector=None)
[source]Creates a new Sortino indicator.
- symbol (Symbol) — The symbol whose Sortino we want
- sortino_period (int) — Period of historical observation for Sortino ratio calculation
- minimum_acceptable_return (float, optional) — Minimum acceptable return (eg risk-free rate) for the Sortino ratio calculation
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The SortinoRatio indicator for the requested symbol over the specified period
sr(symbol, sharpe_period, risk_free_rate=None, resolution=None, selector=None)
[source]Creates a new SharpeRatio indicator.
- symbol (Symbol) — The symbol whose RSR we want
- sharpe_period (int) — Period of historical observation for sharpe ratio calculation
- risk_free_rate (float, optional) —
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The SharpeRatio indicator for the requested symbol over the specified period
stc(symbol, cycle_period, fast_period, slow_period, moving_average_type=1, resolution=None, selector=None)
[source]Creates a new Schaff Trend Cycle indicator
- symbol (Symbol) — The symbol for the indicator to track
- cycle_period (int) — The fast moving average period
- fast_period (int) — The slow moving average period
- slow_period (int) — The signal period
- moving_average_type (MovingAverageType, optional) — The type of moving average to use
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The SchaffTrendCycle indicator for the requested symbol over the specified period
std(symbol, period, resolution=None, selector=None)
[source]Creates a new StandardDeviation indicator. This will return the population standard deviation of samples over the specified period.
- symbol (Symbol) — The symbol whose STD we want
- period (int) — The period over which to compute the STD
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The StandardDeviation indicator for the requested symbol over the specified period
sto(symbol, period, k_period, d_period, resolution=None, selector=None)
[source]Creates a new Stochastic indicator.
- symbol (Symbol) — The symbol whose stochastic we seek
- period (int) — The period of the stochastic. Normally 14
- k_period (int) — The sum period of the stochastic. Normally 14
- d_period (int) — The sum period of the stochastic. Normally 3
- resolution (Resolution, optional) — The resolution.
- selector (Callable[IBaseData, TradeBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
Stochastic indicator for the requested symbol.
str(symbol, period, multiplier, moving_average_type=2, resolution=None, selector=None)
[source]Creates a new SuperTrend indicator.
- symbol (Symbol) — The symbol whose SuperTrend indicator we want.
- period (int) — The smoothing period for average true range.
- multiplier (float) — Multiplier to calculate basic upper and lower bands width.
- moving_average_type (MovingAverageType, optional) — Smoother type for average true range, defaults to Wilders.
- resolution (Resolution, optional) — The resolution.
- selector (Callable[IBaseData, IBaseDataBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
sum(symbol, period, resolution=None, selector=None)
[source]Creates a new Sum indicator.
- symbol (Symbol) — The symbol whose Sum we want
- period (int) — The period over which to compute the Sum
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The Sum indicator for the requested symbol over the specified period
swiss(symbol, period, delta, tool, resolution=None, selector=None)
[source]Creates Swiss Army Knife transformation for the symbol. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol to use for calculations
- period (int) — The period of the calculation
- delta (float) — The delta scale of the BandStop or BandPass
- tool (SwissArmyKnifeTool) — The tool os the Swiss Army Knife
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The calculation using the given tool
t(symbol, mirror_option=None, risk_free_rate=None, dividend_yield=None, option_model=0, iv_model=None, resolution=None)
[source]For the given symbol will resolve the ticker it used at the current algorithm date
- symbol (Symbol) — The option symbol whose values we want as an indicator
- mirror_option (Symbol, optional) — The mirror option for parity calculation
- risk_free_rate (float, optional) — The risk free rate
- dividend_yield (float, optional) — The dividend yield
- option_model (OptionPricingModelType, optional) — The option pricing model used to estimate Theta
- iv_model (OptionPricingModelType, optional) — The option pricing model used to estimate IV
- resolution (Resolution, optional) — The desired resolution of the data
A new Theta indicator for the specified symbol
t_3(symbol, period, volume_factor=0.7, resolution=None, selector=None)
[source]Creates a new T3MovingAverage indicator.
- symbol (Symbol) — The symbol whose T3 we want
- period (int) — The period over which to compute the T3
- volume_factor (float, optional) — The volume factor to be used for the T3 (value must be in the [0,1] range, defaults to 0.7)
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The T3MovingAverage indicator for the requested symbol over the specified period
tdd(symbol, period, minimum_acceptable_return=0.0, resolution=None, selector=None)
[source]Creates a new TargetDownsideDeviation indicator. The target downside deviation is defined as the root-mean-square, or RMS, of the deviations of the realized return’s underperformance from the target return where all returns above the target return are treated as underperformance of 0.
- symbol (Symbol) — The symbol whose TDD we want
- period (int) — The period over which to compute the TDD
- minimum_acceptable_return (float, optional) — The resolution
- resolution (Resolution, optional) — Minimum acceptable return (MAR) for the target downside deviation calculation
- selector (Callable[IBaseData, float], optional) — x.Value)
The TargetDownsideDeviation indicator for the requested symbol over the specified period
tema(symbol, period, resolution=None, selector=None)
[source]Creates a new TripleExponentialMovingAverage indicator.
- symbol (Symbol) — The symbol whose TEMA we want
- period (int) — The period over which to compute the TEMA
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The TripleExponentialMovingAverage indicator for the requested symbol over the specified period
tp(symbol, period=2, value_area_volume_percentage=0.7, price_range_round_off=0.05, resolution=4, selector=None)
[source]Creates an Market Profile indicator for the symbol with Time Price Opportunity (TPO) mode. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose TP we want
- period (int, optional) — The period of the TP
- value_area_volume_percentage (float, optional) — The percentage of volume contained in the value area
- price_range_round_off (float, optional) — How many digits you want to round and the precision. i.e 0.01 round to two digits exactly.
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, TradeBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The Time Profile indicator for the given parameters
tr(symbol, resolution=None, selector=None)
[source]Creates a new TrueRange indicator.
- symbol (Symbol) — The symbol whose TR we want
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, IBaseDataBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The TrueRange indicator for the requested symbol.
trima(symbol, period, resolution=None, selector=None)
[source]Creates a new TriangularMovingAverage indicator.
- symbol (Symbol) — The symbol whose TRIMA we want
- period (int) — The period over which to compute the TRIMA
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The TriangularMovingAverage indicator for the requested symbol over the specified period
trin(symbols, resolution=None, selector=None)
[source]Creates a new Arms Index indicator
- symbols (Symbol[] | List[Symbol]) — The symbols whose Arms Index we want
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, TradeBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The Arms Index indicator for the requested symbol over the specified period
trix(symbol, period, resolution=None, selector=None)
[source]Creates a new Trix indicator.
- symbol (Symbol) — The symbol whose TRIX we want
- period (int) — The period over which to compute the TRIX
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The Trix indicator for the requested symbol over the specified period
tsf(symbol, period, resolution=None, selector=None)
[source]Creates a new Time Series Forecast indicator
- symbol (Symbol) — The symbol whose TSF we want
- period (int) — The period of the TSF
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The TimeSeriesForecast indicator for the requested symbol over the specified period
tsi(symbol, long_term_period=25, short_term_period=13, signal_period=7, signal_type=1, resolution=None, selector=None)
[source]Creates a TrueStrengthIndex indicator for the symbol. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose TSI we want
- long_term_period (int, optional) — Period used for the first price change smoothing
- short_term_period (int, optional) — Period used for the second (double) price change smoothing
- signal_period (int, optional) — The signal period
- signal_type (MovingAverageType, optional) — The type of moving average to use for the signal
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The TrueStrengthIndex indicator for the given parameters
ultosc(symbol, period_1, period_2, period_3, resolution=None, selector=None)
[source]Creates a new UltimateOscillator indicator.
- symbol (Symbol) — The symbol whose ULTOSC we want
- period_1 (int) — The first period over which to compute the ULTOSC
- period_2 (int) — The second period over which to compute the ULTOSC
- period_3 (int) — The third period over which to compute the ULTOSC
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, IBaseDataBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The UltimateOscillator indicator for the requested symbol over the specified period
v(symbol, mirror_option=None, risk_free_rate=None, dividend_yield=None, option_model=0, iv_model=None, resolution=None)
[source]Creates an Market Profile indicator for the symbol with Volume Profile (VOL) mode. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The option symbol whose values we want as an indicator
- mirror_option (Symbol, optional) — The mirror option for parity calculation
- risk_free_rate (float, optional) — The risk free rate
- dividend_yield (float, optional) — The dividend yield
- option_model (OptionPricingModelType, optional) — The option pricing model used to estimate Vega
- iv_model (OptionPricingModelType, optional) — The option pricing model used to estimate IV
- resolution (Resolution, optional) — The desired resolution of the data
A new Vega indicator for the specified symbol
v(symbol, period, resolution=None, selector=None)
[source]Creates an Market Profile indicator for the symbol with Volume Profile (VOL) mode. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose variance we want
- period (int) — The period over which to compute the variance
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The Variance indicator for the requested symbol over the specified period
vidya(symbol, period, resolution=None, selector=None)
[source]Creates a new Chande's Variable Index Dynamic Average indicator.
- symbol (Symbol) — The symbol whose VIDYA we want
- period (int) — The period over which to compute the VIDYA
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The VariableIndexDynamicAverage indicator for the requested symbol over the specified period
vp(symbol, period=2, value_area_volume_percentage=0.7, price_range_round_off=0.05, resolution=4, selector=None)
[source]Creates an Market Profile indicator for the symbol with Volume Profile (VOL) mode. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose VP we want
- period (int, optional) — The period of the VP
- value_area_volume_percentage (float, optional) — The percentage of volume contained in the value area
- price_range_round_off (float, optional) — How many digits you want to round and the precision. i.e 0.01 round to two digits exactly.
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, TradeBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The Volume Profile indicator for the given parameters
vwap(symbol, period, resolution=None, selector=None)
[source]Creates an VolumeWeightedAveragePrice (VWAP) indicator for the symbol. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose VWAP we want
- period (int) — The period of the VWAP
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, TradeBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The VolumeWeightedAveragePrice for the given parameters
warm_up_indicator(symbol, indicator, resolution=None, selector=None)
[source]Warms up a given indicator with historical data
- symbol (Symbol) — The symbol whose indicator we want
- indicator (None | PyObject | IndicatorBase[IndicatorDataPoint]) — The indicator we want to warm up
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float] | None | PyObject, optional) — (T)x)
wilr(symbol, period, resolution=None, selector=None)
[source]Creates a new Williams %R indicator. This will compute the percentage change of the current closing price in relation to the high and low of the past N periods. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose Williams %R we want
- period (int) — The period over which to compute the Williams %R
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, IBaseDataBar], optional) — Selects a value from the BaseData to send into the indicator, if null defaults to casting the input value to a TradeBar
The Williams %R indicator for the requested symbol over the specified period
wwma(symbol, period, resolution=None, selector=None)
[source]Creates a WilderMovingAverage indicator for the symbol. The indicator will be automatically updated on the given resolution.
- symbol (Symbol) — The symbol whose WMA we want
- period (int) — The period of the WMA
- resolution (Resolution, optional) — The resolution
- selector (Callable[IBaseData, float], optional) — x.Value)
The WilderMovingAverage for the given parameters
γ(symbol, mirror_option=None, risk_free_rate=None, dividend_yield=None, option_model=0, iv_model=None, resolution=None)
[source]Creates a new Gamma indicator for the symbol The indicator will be automatically updated on the symbol's subscription resolution
- symbol (Symbol) — The option symbol whose values we want as an indicator
- mirror_option (Symbol, optional) — The mirror option for parity calculation
- risk_free_rate (float, optional) — The risk free rate
- dividend_yield (float, optional) — The dividend yield
- option_model (OptionPricingModelType, optional) — The option pricing model used to estimate Gamma
- iv_model (OptionPricingModelType, optional) — The option pricing model used to estimate IV
- resolution (Resolution, optional) — The desired resolution of the data
A new Gamma indicator for the specified symbol
δ(symbol, mirror_option=None, risk_free_rate=None, dividend_yield=None, option_model=0, iv_model=None, resolution=None)
[source]Creates a new Delta indicator for the symbol The indicator will be automatically updated on the symbol's subscription resolution
- symbol (Symbol) — The option symbol whose values we want as an indicator
- mirror_option (Symbol, optional) — The mirror option for parity calculation
- risk_free_rate (float, optional) — The risk free rate
- dividend_yield (float, optional) — The dividend yield
- option_model (OptionPricingModelType, optional) — The option pricing model used to estimate Delta
- iv_model (OptionPricingModelType, optional) — The option pricing model used to estimate IV
- resolution (Resolution, optional) — The desired resolution of the data
A new Delta indicator for the specified symbol
θ(symbol, mirror_option=None, risk_free_rate=None, dividend_yield=None, option_model=0, iv_model=None, resolution=None)
[source]Creates a new Theta indicator for the symbol The indicator will be automatically updated on the symbol's subscription resolution
- symbol (Symbol) — The option symbol whose values we want as an indicator
- mirror_option (Symbol, optional) — The mirror option for parity calculation
- risk_free_rate (float, optional) — The risk free rate
- dividend_yield (float, optional) — The dividend yield
- option_model (OptionPricingModelType, optional) — The option pricing model used to estimate Theta
- iv_model (OptionPricingModelType, optional) — The option pricing model used to estimate IV
- resolution (Resolution, optional) — The desired resolution of the data
A new Theta indicator for the specified symbol
ρ(symbol, mirror_option=None, risk_free_rate=None, dividend_yield=None, option_model=0, iv_model=None, resolution=None)
[source]Creates a new Rho indicator for the symbol The indicator will be automatically updated on the symbol's subscription resolution
- symbol (Symbol) — The option symbol whose values we want as an indicator
- mirror_option (Symbol, optional) — The mirror option for parity calculation
- risk_free_rate (float, optional) — The risk free rate
- dividend_yield (float, optional) — The dividend yield
- option_model (OptionPricingModelType, optional) — The option pricing model used to estimate Rho
- iv_model (OptionPricingModelType, optional) — The option pricing model used to estimate IV
- resolution (Resolution, optional) — The desired resolution of the data
A new Rho indicator for the specified symbol
Gets an instance to access the candlestick pattern helper methods
Gets an instance to access the candlestick pattern helper methods
CandlestickPatterns
Gets whether or not WarmUpIndicator is allowed to warm up indicators/>
Gets whether or not WarmUpIndicator is allowed to warm up indicators/>
bool
Live Trading
Live Trading
on_brokerage_disconnect()
[source]Brokerage disconnected event handler. This method is called when the brokerage connection is lost.
on_brokerage_message(message_event)
[source]Brokerage message event handler. This method is called for all types of brokerage messages.
- message_event (BrokerageMessageEvent)
on_brokerage_reconnect()
[source]Brokerage reconnected event handler. This method is called when the brokerage connection is restored after a disconnection.
set_live_mode(live)
[source]Set live mode state of the algorithm run: Public setter for the algorithm property LiveMode.
- live (bool)
set_status(status)
[source]Boolean property indicating the algorithm is currently running in live mode.
Boolean property indicating the algorithm is currently running in live mode.
bool
Notification Manager for Sending Live Runtime Notifications to users about important events.
Notification Manager for Sending Live Runtime Notifications to users about important events.
NotificationManager
Logging
Logging
debug(message)
[source]Send a debug message to the web console:
- message (str | int | float | PyObject) — Message to send to debug console
error(message)
[source]Send a string error message to the Console.
- message (str | int | float | PyObject) — Message to display in errors grid
error(error)
[source]Send a string error message to the Console.
- error (Exception) — Exception object captured from a try catch loop
log(message)
[source]Added another method for logging if user guessed.
- message (str | int | float | PyObject) — String message to log.
quit(message)
[source]Terminate the algorithm after processing the current event handler.
- message (str | PyObject) — Exit message to display on quitting
set_quit(quit)
[source]Set the Quit flag property of the algorithm.
- quit (bool) — Boolean quit state
Storage for debugging messages before the event handler has passed control back to the Lean Engine.
Storage for debugging messages before the event handler has passed control back to the Lean Engine.
List[str]
Enables additional logging of framework models including: All insights, portfolio targets, order events, and any risk management altered targets
Enables additional logging of framework models including: All insights, portfolio targets, order events, and any risk management altered targets
bool
List of error messages generated by the user's code calling the "Error" function.
List of error messages generated by the user's code calling the "Error" function.
List[str]
Storage for log messages before the event handlers have passed control back to the Lean Engine.
Storage for log messages before the event handlers have passed control back to the Lean Engine.
List[str]
Gets the run time error from the algorithm, or null if none was encountered.
Gets the run time error from the algorithm, or null if none was encountered.
Exception
Machine Learning
Machine Learning
train(date_rule, time_rule, training_code)
[source]Schedules the provided training code to execute immediately
- date_rule (IDateRule) — Specifies what dates the event should run
- time_rule (ITimeRule) — Specifies the times on those dates the event should run
- training_code (Action | PyObject) — The training code to be invoked
Modeling
Modeling
on_margin_call(requests)
[source]Margin call event handler. This method is called right before the margin call orders are placed in the market.
- requests (List[SubmitOrderRequest]) — The orders to be executed to bring this algorithm within margin limits
on_margin_call_warning()
[source]Margin call warning event handler. This method is called when Portfolio.MarginRemaining is under 5% of your Portfolio.TotalPortfolioValue
set_brokerage_message_handler(handler)
[source]Sets the implementation used to handle messages from the brokerage. The default implementation will forward messages to debug or error and when a Error occurs, the algorithm is stopped.
- handler (PyObject | IBrokerageMessageHandler) — The message handler to use
set_brokerage_model(brokerage, account_type=0)
[source]Sets the brokerage to emulate in backtesting or paper trading. This can be used for brokerages that have been implemented in LEAN
- brokerage (BrokerageName) — The brokerage to emulate
- account_type (AccountType, optional) — The account type (Cash or Margin)
set_brokerage_model(model)
[source]Sets the brokerage to emulate in backtesting or paper trading. This can be used for brokerages that have been implemented in LEAN
- model (IBrokerageModel | PyObject) — The brokerage model to use
set_risk_free_interest_rate_model(model)
[source]Sets the risk free interest rate model to be used in the algorithm
- model (PyObject | IRiskFreeInterestRateModel) — The risk free interest rate model to use
Gets the brokerage message handler used to decide what to do with each message sent from the brokerage
Gets the brokerage message handler used to decide what to do with each message sent from the brokerage
IBrokerageMessageHandler
Gets the brokerage model - used to model interactions with specific brokerages.
Gets the brokerage model - used to model interactions with specific brokerages.
IBrokerageModel
Gets the brokerage name.
Gets the brokerage name.
BrokerageName
Gets the risk free interest rate model used to get the interest rates
Gets the risk free interest rate model used to get the interest rates
IRiskFreeInterestRateModel
Parameter and Optimization
Parameter and Optimization
get_parameter(name, default_value)
[source]Gets the parameter with the specified name. If a parameter with the specified name does not exist, the given default value is returned if any, else null
- name (str) — The name of the parameter to get
- default_value (str | int | float) — The default value to return
The value of the specified parameter, or defaultValue if not found or null if there's no default value
str | int | float | float
get_parameters()
[source]Gets a read-only dictionary with all current parameters
IReadOnlyDict[str, str]
set_parameters(parameters)
[source]Sets the parameters from the dictionary
- parameters (Dict[str, str]) — Dictionary containing the parameter names to values
Scheduled Events
Scheduled Events
Gets the date rules helper object to make specifying dates for events easier
Gets the date rules helper object to make specifying dates for events easier
DateRules
Gets schedule manager for adding/removing scheduled events
Gets schedule manager for adding/removing scheduled events
ScheduleManager
Gets the time rules helper object to make specifying times for events easier
Gets the time rules helper object to make specifying times for events easier
TimeRules
Gets trading calendar populated with trading events
Gets trading calendar populated with trading events
TradingCalendar
Securities and Portfolio
Securities and Portfolio
set_account_currency(account_currency, starting_cash=None)
[source]Sets the account currency cash symbol this algorithm is to manage, as well as the starting cash in this currency if given
- account_currency (str) — The account currency cash symbol to set
- starting_cash (float, optional) — The account currency starting cash to set
set_cash(symbol, starting_cash, conversion_rate=0.0)
[source]Set initial cash for the strategy while backtesting. During live mode this value is ignored and replaced with the actual cash of your brokerage account.
- symbol (str) — The cash symbol to set
- starting_cash (int | float) — Decimal cash value of portfolio
- conversion_rate (float, optional) — The current conversion rate for the
Gets the account currency
Gets the account currency
str
Read-only dictionary containing all active securities. An active security is a security that is currently selected by the universe or has holdings or open orders.
Read-only dictionary containing all active securities. An active security is a security that is currently selected by the universe or has holdings or open orders.
IReadOnlyDict[Symbol, Security]
Portfolio object provieds easy access to the underlying security-holding properties; summed together in a way to make them useful. This saves the user time by providing common portfolio requests in a single
Portfolio object provieds easy access to the underlying security-holding properties; summed together in a way to make them useful. This saves the user time by providing common portfolio requests in a single
SecurityPortfolioManager
Security collection is an array of the security objects such as Equities and FOREX. Securities data manages the properties of tradeable assets such as price, open and close time and holdings information.
Security collection is an array of the security objects such as Equities and FOREX. Securities data manages the properties of tradeable assets such as price, open and close time and holdings information.
SecurityManager
SignalExport - Allows sending export signals to different 3rd party API's. For example, it allows to send signals to Collective2, CrunchDAO and Numerai API's
SignalExport - Allows sending export signals to different 3rd party API's. For example, it allows to send signals to Collective2, CrunchDAO and Numerai API's
SignalExportManager
Statistics
Statistics
set_summary_statistic(name, value)
[source]Set a custom summary statistic for the algorithm.
- name (str) — Name of the custom summary statistic
- value (str | int | float) — Value of the custom summary statistic
The current statistics for the running algorithm.
The current statistics for the running algorithm.
StatisticsResults
Trading and Orders
Trading and Orders
buy(strategy, quantity, asynchronous=False, tag=, order_properties=None)
[source]Buy Stock (Alias of Order)
- strategy (OptionStrategy) — Specification of the strategy to trade
- quantity (int) — Quantity of the strategy to trade
- asynchronous (bool, optional) — Send the order asynchronously (false). Otherwise we'll block until it fills
- tag (str, optional) — String tag for the order (optional)
- order_properties (IOrderProperties, optional)
Sequence of order tickets
List[OrderTicket]
buy(symbol, quantity)
[source]Buy Stock (Alias of Order)
- symbol (Symbol) — string Symbol of the asset to trade
- quantity (int | float) — int Quantity of the asset to trade
The order ticket instance.
calculate_order_quantity(symbol, target)
[source]Calculate the order quantity to achieve target-percent holdings.
- symbol (Symbol) — Security object we're asking for
- target (float) — Target percentage holdings
Order quantity to achieve this percentage
float
combo_leg_limit_order(legs, quantity, tag=, order_properties=None)
[source]Issue a combo leg limit order/trade for multiple assets, each having its own limit price.
- legs (List[Leg]) — The list of legs the order consists of
- quantity (int) — The total quantity for the order
- tag (str, optional) — String tag for the order (optional)
- order_properties (IOrderProperties, optional)
Sequence of order tickets, one for each leg
List[OrderTicket]
combo_limit_order(legs, quantity, limit_price, tag=, order_properties=None)
[source]Issue a combo limit order/trade for multiple assets. A single limit price is defined for the combo order and will fill only if the sum of the assets price compares properly to the limit price, depending on the direction.
- legs (List[Leg]) — The list of legs the order consists of
- quantity (int) — The total quantity for the order
- limit_price (float) — The compound limit price to use for a ComboLimit order. This limit price will compared to the sum of the assets price in order to fill the order.
- tag (str, optional) — String tag for the order (optional)
- order_properties (IOrderProperties, optional)
Sequence of order tickets, one for each leg
List[OrderTicket]
combo_market_order(legs, quantity, asynchronous=False, tag=, order_properties=None)
[source]Issue a combo market order/trade for multiple assets
- legs (List[Leg]) — The list of legs the order consists of
- quantity (int) — The total quantity for the order
- asynchronous (bool, optional) — Send the order asynchronously (false). Otherwise we'll block until it fills
- tag (str, optional) — String tag for the order (optional)
- order_properties (IOrderProperties, optional)
Sequence of order tickets, one for each leg
List[OrderTicket]
exercise_option(option_symbol, quantity, asynchronous=False, tag=, order_properties=None)
[source]Send an exercise order to the transaction handler
- option_symbol (Symbol) — String symbol for the option position
- quantity (int) — Quantity of options contracts
- asynchronous (bool, optional) — Send the order asynchronously (false). Otherwise we'll block until it fills
- tag (str, optional) — String tag for the order (optional)
- order_properties (IOrderProperties, optional)
The order ticket instance.
is_market_open(symbol)
[source]Determines if the exchange for the specified symbol is open at the current time.
- symbol (Symbol) — The symbol
True if the exchange is considered open at the current time, false otherwise
bool
limit_if_touched_order(symbol, quantity, trigger_price, limit_price, tag=, order_properties=None)
[source]Send a limit if touched order to the transaction handler:
- symbol (Symbol) — String symbol for the asset
- quantity (int | float) — Quantity of shares for limit order
- trigger_price (float) — Trigger price for this order
- limit_price (float) — Limit price to fill this order
- tag (str, optional) — String tag for the order (optional)
- order_properties (IOrderProperties, optional)
The order ticket instance.
limit_order(symbol, quantity, limit_price, tag=, order_properties=None)
[source]Send a limit order to the transaction handler:
- symbol (Symbol) — String symbol for the asset
- quantity (int | float) — Quantity of shares for limit order
- limit_price (float) — Limit price to fill this order
- tag (str, optional) — String tag for the order (optional)
- order_properties (IOrderProperties, optional)
The order ticket instance.
liquidate(symbol_to_liquidate=None, tag=Liquidated)
[source]Liquidate all holdings and cancel open orders. Called at the end of day for tick-strategies.
- symbol_to_liquidate (Symbol, optional) — Symbols we wish to liquidate
- tag (str, optional) — Custom tag to know who is calling this.
Array of order ids for liquidated symbols
List[int]
market_on_close_order(symbol, quantity, tag=, order_properties=None)
[source]Market on close order implementation: Send a market order when the exchange closes
- symbol (Symbol) — The symbol to be ordered
- quantity (int | float) — The number of shares to required
- tag (str, optional) — Place a custom order property or tag (e.g. indicator data).
- order_properties (IOrderProperties, optional)
The order ticket instance.
market_on_open_order(symbol, quantity, tag=, order_properties=None)
[source]Market on open order implementation: Send a market order when the exchange opens
- symbol (Symbol) — The symbol to be ordered
- quantity (int | float) — The number of shares to required
- tag (str, optional) — Place a custom order property or tag (e.g. indicator data).
- order_properties (IOrderProperties, optional)
The order ticket instance.
market_order(symbol, quantity, asynchronous=False, tag=, order_properties=None)
[source]Market order implementation: Send a market order and wait for it to be filled.
- symbol (Symbol) — Symbol of the MarketType Required.
- quantity (int | float) — Number of shares to request.
- asynchronous (bool, optional) — Send the order asynchronously (false). Otherwise we'll block until it fills
- tag (str, optional) — Place a custom order property or tag (e.g. indicator data).
- order_properties (IOrderProperties, optional)
The order ticket instance.
market_order(security, quantity, asynchronous=False, tag=, order_properties=None)
[source]Market order implementation: Send a market order and wait for it to be filled.
- security (Security) — Symbol of the MarketType Required.
- quantity (float) — Number of shares to request.
- asynchronous (bool, optional) — Send the order asynchronously (false). Otherwise we'll block until it fills
- tag (str, optional) — Place a custom order property or tag (e.g. indicator data).
- order_properties (IOrderProperties, optional)
The order ticket instance.
on_assignment_order_event(assignment_event)
[source]Option assignment event handler. On an option assignment event for short legs the resulting information is passed to this method.
- assignment_event (OrderEvent) — Option exercise event details containing details of the assignment
on_order_event(order_event)
[source]Order fill event handler. On an order fill update the resulting information is passed to this method.
- order_event (OrderEvent) — Order event details containing details of the events
order(strategy, quantity, asynchronous=False, tag=, order_properties=None)
[source]Issue an order/trade for asset: Alias wrapper for Order(string, int);
- strategy (OptionStrategy) — Specification of the strategy to trade
- quantity (int) — Quantity of the strategy to trade
- asynchronous (bool, optional) — Send the order asynchronously (false). Otherwise we'll block until it fills
- tag (str, optional) — String tag for the order (optional)
- order_properties (IOrderProperties, optional)
Sequence of order tickets
List[OrderTicket]
order(symbol, quantity, asynchronous=False, tag=, order_properties=None)
[source]Issue an order/trade for asset: Alias wrapper for Order(string, int);
- symbol (Symbol) — Symbol of the MarketType Required.
- quantity (int | float) — Number of shares to request.
- asynchronous (bool, optional) — Send the order asynchronously (false). Otherwise we'll block until it fills
- tag (str, optional) — Place a custom order property or tag (e.g. indicator data).
- order_properties (IOrderProperties, optional)
The order ticket instance.
sell(strategy, quantity, asynchronous=False, tag=, order_properties=None)
[source]Sell stock (alias of Order)
- strategy (OptionStrategy) — Specification of the strategy to trade
- quantity (int) — Quantity of the strategy to trade
- asynchronous (bool, optional) — Send the order asynchronously (false). Otherwise we'll block until it fills
- tag (str, optional) — String tag for the order (optional)
- order_properties (IOrderProperties, optional)
Sequence of order tickets
List[OrderTicket]
sell(symbol, quantity)
[source]Sell stock (alias of Order)
- symbol (Symbol) — string Symbol of the asset to trade
- quantity (int | float) — int Quantity of the asset to trade
The order ticket instance.
set_benchmark(benchmark)
[source]Sets the benchmark used for computing statistics of the algorithm to the specified symbol
- benchmark (PyObject | Callable[datetime, float]) — The benchmark producing function
set_benchmark(ticker)
[source]Sets the benchmark used for computing statistics of the algorithm to the specified symbol
- ticker (str) — Ticker to use as the benchmark
set_benchmark(symbol)
[source]Sets the benchmark used for computing statistics of the algorithm to the specified symbol
- symbol (Symbol) — symbol to use as the benchmark
set_holdings(symbol, percentage, liquidate_existing_holdings=False, tag=, order_properties=None)
[source]Sets holdings for a collection of targets. The implementation will order the provided targets executing first those that reduce a position, freeing margin.
- symbol (Symbol) — string symbol we wish to hold
- percentage (int | float) — double percentage of holdings desired
- liquidate_existing_holdings (bool, optional) — liquidate existing holdings if necessary to hold this stock
- tag (str, optional) — Tag the order with a short string.
- order_properties (IOrderProperties, optional)
set_holdings(targets, liquidate_existing_holdings=False, tag=, order_properties=None)
[source]Sets holdings for a collection of targets. The implementation will order the provided targets executing first those that reduce a position, freeing margin.
- targets (List[PortfolioTarget]) — The portfolio desired quantities as percentages
- liquidate_existing_holdings (bool, optional) — True will liquidate existing holdings
- tag (str, optional) — Tag the order with a short string.
- order_properties (IOrderProperties, optional)
set_maximum_orders(max)
[source]Maximum number of orders for the algorithm
- max (int)
set_trade_builder(trade_builder)
[source]Set the ITradeBuilder implementation to generate trades from executions and market price updates
- trade_builder (ITradeBuilder)
shortable(symbol, short_quantity, update_order_id=None)
[source]Determines if the Symbol is shortable at the brokerage
- symbol (Symbol) — Symbol to check if shortable
- short_quantity (float) — Order's quantity to check if it is currently shortable, taking into account current holdings and open orders
- update_order_id (int, optional) — Optionally the id of the order being updated. When updating an order we want to ignore it's submitted short quantity and use the new provided quantity to determine if we can perform the update
True if the symbol can be shorted by the requested quantity
bool
shortable_quantity(symbol)
[source]Gets the quantity shortable for the given asset
- symbol (Symbol)
Quantity shortable for the given asset. Zero if not shortable, or a number greater than zero if shortable.
int
stop_limit_order(symbol, quantity, stop_price, limit_price, tag=, order_properties=None)
[source]Send a stop limit order to the transaction handler:
- symbol (Symbol) — String symbol for the asset
- quantity (int | float) — Quantity of shares for limit order
- stop_price (float) — Stop price for this order
- limit_price (float) — Limit price to fill this order
- tag (str, optional) — String tag for the order (optional)
- order_properties (IOrderProperties, optional)
The order ticket instance.
stop_market_order(symbol, quantity, stop_price, tag=, order_properties=None)
[source]Create a stop market order and return the newly created order id; or negative if the order is invalid
- symbol (Symbol) — String symbol for the asset we're trading
- quantity (int | float) — Quantity to be traded
- stop_price (float) — Price to fill the stop order
- tag (str, optional) — Optional string data tag for the order
- order_properties (IOrderProperties, optional)
The order ticket instance.
submit_order_request(request)
[source]Will submit an order request to the algorithm
- request (SubmitOrderRequest) — The request to submit
The order ticket
trailing_stop_order(symbol, quantity, stop_price, trailing_amount, trailing_as_percentage, tag=, order_properties=None)
[source]Create a trailing stop order and return the newly created order id; or negative if the order is invalid. It will calculate the stop price using the trailing amount and the current market price.
- symbol (Symbol) — Trading asset symbol
- quantity (int | float) — Quantity to be traded
- stop_price (float) — Initial stop price at which the order should be triggered
- trailing_amount (float) — The trailing amount to be used to update the stop price
- trailing_as_percentage (bool) — is a percentage or an absolute currency value
- tag (str, optional) — is a percentage or an absolute currency value
- order_properties (IOrderProperties, optional) — Optional string data tag for the order
The order ticket instance.
Benchmark
Benchmark
IBenchmark
Gets the default order properties
Gets the default order properties
IOrderProperties
Gets the Trade Builder to generate trades from executions
Gets the Trade Builder to generate trades from executions
ITradeBuilder
Transaction Manager - Process transaction fills and order management.
Transaction Manager - Process transaction fills and order management.
SecurityTransactionManager
Universes
Universes
add_universe(t, security_type, name, resolution, market, universe_settings, selector)
[source]Adds a new universe selection model
- t (PyObject) — The data type
- security_type (SecurityType) — The security type the universe produces
- name (str) — A unique name for this universe
- resolution (Optional[Resolution] | Resolution) — The expected resolution of the universe data
- market (str) — The market for selected symbols
- universe_settings (UniverseSettings) — The subscription settings to use for newly created subscriptions
- selector (List[BaseData, Symbol] | List[BaseData, str] | List[datetime, str] | PyObject | List[Fundamental, Symbol]) — Function delegate that performs selection on the universe data
add_universe(data_type, security_type, name, resolution, market, universe_settings, py_selector)
[source]Adds a new universe selection model
- data_type (Type) — The data type
- security_type (Optional[SecurityType] | SecurityType) — The security type the universe produces
- name (str) — A unique name for this universe
- resolution (Optional[Resolution] | Resolution) — The expected resolution of the universe data
- market (str) — The market for selected symbols
- universe_settings (UniverseSettings) — The subscription settings to use for newly created subscriptions
- py_selector (PyObject) — Function delegate that performs selection on the universe data
add_universe(date_rule, selector)
[source]Adds a new universe selection model
- date_rule (IDateRule)
- selector (List[BaseData, str] | List[Fundamental, Symbol] | List[BaseData, Symbol]) — Defines an initial coarse selection
add_universe(coarse_selector, fine_selector)
[source]Adds a new universe selection model
- coarse_selector (Callable[List[CoarseFundamental], List[Symbol]]) — Defines an initial coarse selection
- fine_selector (Callable[List[FineFundamental], List[Symbol]]) — Defines a more detailed selection with access to more data
add_universe(universe, fine_selector)
[source]Adds a new universe selection model
- universe (Universe) — The universe to be filtered with fine fundamental selection
- fine_selector (Callable[List[Fundamental], List[Symbol]]) — Defines a more detailed selection with access to more data
add_universe(py_object, pyfine)
[source]Adds a new universe selection model
- py_object (PyObject) — Defines an initial coarse selection or a universe
- pyfine (PyObject) — Defines a more detailed selection with access to more data
add_universe_options(underlying_symbol, option_filter)
[source]Creates a new universe selection model and adds it to the algorithm. This universe selection model will chain to the security changes of a given Universe selection output and create a new
- underlying_symbol (Symbol) — Underlying Symbol to add as an option. For Futures, the option chain constructed will be per-contract, as long as a canonical Symbol is provided.
- option_filter (Callable[OptionFilterUniverse, OptionFilterUniverse]) — User-defined filter used to select the options we want out of the option chain provided.
add_universe_options(universe, option_filter)
[source]Creates a new universe selection model and adds it to the algorithm. This universe selection model will chain to the security changes of a given Universe selection output and create a new
- universe (Universe | PyObject) — The universe we want to chain an option universe selection model too
- option_filter (PyObject | Callable[OptionFilterUniverse, OptionFilterUniverse]) — The option filter universe to use
Gets a helper that provides pre-defined universe definitions, such as top dollar volume
Gets a helper that provides pre-defined universe definitions, such as top dollar volume
UniverseDefinitions
Gets universe manager which holds universes keyed by their symbol
Gets universe manager which holds universes keyed by their symbol
UniverseManager
Gets the universe settings to be used when adding securities via universe selection
Gets the universe settings to be used when adding securities via universe selection
UniverseSettings