Trade Smarter with Automation

Bull Put Opportunity

Open, monitor and close bullish vertical put spreads.

Opening

Call $bot.open with type 'bullput' and options to select the correct option series and leg strike prices:

$bot.open({
    type: 'bullput',
    symbol: 'AAPL',
    legs: [150, 153],           // leg strike selection
    days: 30,                   // series filter
    monthlyOnly: true           // series filter
});

Shortcut
Use a Spread object ($spread below) returned by the $data.spreads service instead of other filtering options:

$bot.open({
    type: 'bullput',
    spread: $spread
});

Options:

  • String

    'bullput'

  • String

    The underlying ticker symbol (e.g. 'JPM')

  • Array

    An array containing the strike prices of the options in the spread, e.g. [55, 56].

  • Spread

    A Spread object returned by $data.spreads. If you provide spread then symbol, legs and other filtering options are ignored.

  • Number

    Filter option series by days to expiration. Optional if a expiration is provided.

  • String/Date

    Filter for the first option series that expires on or after the expiration date. Optional if a days is provided. Date formats...

  • String

    Filter option series by expiration style.

    Valid values are *, weeklys, monthlys, eom, standard, quarterlys. Defaults to *. Use a comma separated list to include more than 1 (e.g. 'weeklys,quarterlys').
  • String

    Filter option series by settlement style.

    Valid values are *, open, close. Defaults to close.
  • Boolean

    Filter option series to only include standard monthly series that expire on the 3rd friday of each month.

  • Mixed

    A fixed limit price, array of prices or price settings object. If you don't provide a price, Smart Pricing will automatically try limit orders between the bid/ask spread.

  • Number

    The quantity for the order. If you don't provide a quantity, Alta5 will automatically calculate the quantity based on the bot's opportunity draw limit. More info...

  • Number/String

    The number of seconds to keep the order open, 'day' for the rest of the day or 'gtc' for good-til-canceled. More info...

  • Object

    Any storable data you want to attach to the opportunity.

  • String

    A memo message displayed in the app when viewing the opportunity.

  • String

    A comma separated list of tags.

API

Once the bot has opened the opportunity, it can be accessed via the $bot.opps collection:

// the first bullput opportunity
var opp = $bot.opps.first('bullput');

Properties

  • Number

    The total amount paid to close the opportunity.

    closeCost will be negative for long and positive for short opportunities.
  • Date

    The date the opportunity was closed.

  • Date

    Total P/L for any closed positions of this opportunity.

  • Number

    The total trade commissions for the opportunity.
    * Paper trading commission values are not real charges and are solely for performance analysis.

  • Number

    The total amount paid to open the opportunity.

    The value will be negative for opportunities that collect premium.
  • Object

    The storable data passed to $bot.open. (See data option above)

  • Number

    The number of days until expiration.

  • Number

    The number of days this opportunity has been open.

  • Number

    The delta greek value for the spread.

  • Number

    The highest amount of capital drawn by this opportunity at any time.

  • Number

    The highest amount of capital drawn by this opportunity today.

  • Date

    The expiration date for the spread.

  • Number

    P/L as a decimal percent of capital drawn.

    Returns either markGain or marketGain, depending on your settings (under "Advanced Settings" in the app).
  • Number

    The gamma greek value for the spread.

  • String

    The id of this opportunity.

  • String

    The id of the bot that opened this opportunity.

  • Boolean

    true if this opportunity is closed.

  • Boolean

    True if the spread is expired.

  • Boolean

    True if the spread is in the money (ITM).

  • Number

    The amount of capital or margin reserved to secure this opportunity.

  • Number

    P/L as a decimal percent of capital drawn by this opportunity.

    Calculated using marketPnl and highDraw.
  • Number

    P/L for the opportunity using the market asking price(s).

  • Number

    The current value of the opportunity using the market asking price(s).

  • Number

    P/L as a decimal percent of capital drawn by this opportunity.

    Calculated using markPnl and highDraw.
  • Number

    P/L calculated using the mark price(s) midway between the bid/ask spread.

  • Number

    The current value of the opportunity using the mark price(s) midway between the bid/ask spread.

  • Date

    The date the opportunity was opened.

  • Date

    The total capital drawn by open positions.

  • Number

    The total P/L.

    Returns either markPnl or marketPnl, depending on your settings (under "Advanced Settings" in the app).
  • Number

    The total premium collected when opening the opportunity.

  • Number

    The % of premium that has been won at current prices.

    Calculation:
    pnl > 0 ? $$(pnl / premium, 8) : 0

    pnl is either markPnl or marketPnl, depending on your settings (under "Advanced Settings" in the app).

  • Number

    The % of premium that has been won at current market prices.

    Calculation:
    marketPnl > 0 ? $$(marketPnl / premium, 8) : 0
  • Number

    The rho greek for the spread.

  • Spread

    A $data.spreads object for the spread.

  • Number

    The strike price for the short option.

  • Number

    The theta greek value for the spread.

  • String

    'bullput'

  • Security

    A Security object for the underlying.

  • Number

    The current $ value of the opportunity.

    Returns either markValue or marketValue, depending on your settings (under "Advanced Settings" in the app).
  • Number

    The vega greek value for the spread.

Functions

close(opts)

Close the opportunity.

Options
  • String

    Memo text displayed in the application.

  • Mixed

    A fixed limit price, array of prices or price settings object. If you don't provide a price, Smart Pricing will automatically try limit orders between the bid/ask spread.

  • Number/String

    The amount of time to keep the order open. More info...

Usage

Can be called with an options object or by passing a memo directly.

$bot.opp.close('Profit taking at 75%');
or
// timeout in 300 seconds (5 minutes)
$bot.opp.close({memo: 'Profit taking at 75%', timeout: 300});