self.submit_order

strategies.strategy.Strategy.submit_order(self, order)

Submit an order for an asset

Submits an order object for processing by the active broker.

Parameters

order (Order object) – Order object containing the asset and instructions for executing the order.

Returns

Processed order object.

Return type

Order object

Example

>>> # For a market buy order
>>> order = self.create_order("SPY", 100, "buy")
>>> self.submit_order(order)
>>> # For a limit buy order
>>> order = self.create_order("SPY", 100, "buy", limit_price=100.00)
>>> self.submit_order(order)
>>> # For a stop loss order
>>> order = self.create_order("SPY", 100, "buy", stop_price=100.00)
>>> self.submit_order(order)
>>> # For a stop limit order
>>> order = self.create_order("SPY", 100, "buy", limit_price=100.00, stop_price=100.00)
>>> self.submit_order(order)
>>> # For a market sell order
>>> order = self.create_order("SPY", 100, "sell")
>>> self.submit_order(order)
>>> # For a limit sell order
>>> order = self.create_order("SPY", 100, "sell", limit_price=100.00)
>>> self.submit_order(order)
>>> # For buying a future
>>> asset = Asset(
>>>    "ES",
>>>    asset_type="future",
>>>    expiration_date="2020-01-01",
>>>    multiplier=100)
>>> order = self.create_order(asset, 100, "buy")
>>> self.submit_order(order)
>>> # For selling a future
>>> asset = Asset(
>>>    "ES",
>>>    asset_type="future",
>>>    expiration_date="2020-01-01"
>>>    multiplier=100)
>>> order = self.create_order(asset, 100, "sell")
>>> self.submit_order(order)
>>> # For buying an option
>>> asset = Asset(
>>>    "SPY",
>>>    asset_type="option",
>>>    expiration_date="2020-01-01",
>>>    strike_price=100.00,
>>>    right="call")
>>> order = self.create_order(asset, 10, "buy")
>>> self.submit_order(order)
>>> # For selling an option
>>> asset = Asset(
>>>    "SPY",
>>>    asset_type="option",
>>>    expiration_date="2020-01-01",
>>>    strike_price=100.00,
>>>    right="call",
>>>    multiplier=100)
>>> order = self.create_order(asset, 10, "sell")
>>> self.submit_order(order)
>>> # For buying a stock
>>> asset = Asset("SPY")
>>> order = self.create_order(asset, 10, "buy")
>>> self.submit_order(order)
>>> # For selling a stock
>>> asset = Asset("SPY")
>>> order = self.create_order(asset, 10, "sell")
>>> self.submit_order(order)
>>> # For buying a stock with a limit price
>>> asset = Asset("SPY")
>>> order = self.create_order(asset, 10, "buy", limit_price=100.00)
>>> self.submit_order(order)
>>> # For selling a stock with a limit price
>>> asset = Asset("SPY")
>>> order = self.create_order(asset, 10, "sell", limit_price=100.00)
>>> self.submit_order(order)
>>> # For buying a stock with a stop price
>>> asset = Asset("SPY")
>>> order = self.create_order(asset, 10, "buy", stop_price=100.00)
>>> self.submit_order(order)
>>> # For buying FOREX
>>> asset = Asset(
    symbol=symbol,
    currency=currency,
    asset_type="forex",
)
>>> order = self.create_order(asset, 10, "buy")
>>> self.submit_order(order)
>>> # For selling FOREX
>>> asset = Asset(
    symbol="EUR",
    currency="USD",
    asset_type="forex",
)
>>> order = self.create_order(asset, 10, "sell")
>>> self.submit_order(order)
>>> # For buying an option with a limit price
>>> asset = Asset(
>>>    "SPY",
>>>    asset_type="option",
>>>    expiration_date="2020-01-01",
>>>    strike_price=100.00,
>>>    right="call")
>>> order = self.create_order(asset, 10, "buy", limit_price=100.00)
>>> self.submit_order(order)
>>> # For selling an option with a limit price
>>> asset = Asset(
>>>    "SPY",
>>>    asset_type="option",
>>>    expiration_date="2020-01-01",
>>>    strike_price=100.00,
>>>    right="call")
>>> order = self.create_order(asset, 10, "sell", limit_price=100.00)
>>> self.submit_order(order)
>>> # For buying an option with a stop price
>>> asset = Asset(
>>>    "SPY",
>>>    asset_type="option",
>>>    expiration_date="2020-01-01",
>>>    strike_price=100.00,
>>>    right="call")
>>> order = self.create_order(asset, 10, "buy", stop_price=100.00)
>>> # For selling a stock with a stop price
>>> asset = Asset("SPY")
>>> order = self.create_order(asset, 10, "sell", stop_price=100.00)
>>> self.submit_order(order)
>>> # For buying a stock with a trailing stop price
>>> asset = Asset("SPY")
>>> order = self.create_order(asset, 10, "buy", trailing_stop_price=100.00)
>>> self.submit_order(order)
>>> # For selling a stock with a trailing stop price
>>> asset = Asset("SPY")
>>> order = self.create_order(asset, 10, "sell", trailing_stop_price=100.00)
>>> self.submit_order(order)