Bot Entry Conditions Guide

Bot Entry Conditions

Every bot needs to know how and when to enter a new trade. Whether it's conditions for entry, position size, or which strike(s) to select, you'll define this under the Entry Conditions for the bot.

Sizing

Allocation Type

When entering a new trade, a bot can determine allocation/trade size either by a fixed number of contracts or a percentage of your portfolio at risk.

Fixed Contract Quantity

Provide the bot a specific number of contracts to open. The bot will user this number of contracts for all new positions.

Percent of Portfolio

When a new trade is entered, the bot will check your account balance minus any pending deposits and allocate the percentage you define to the bot to trade. If there is not enough available buying power in your account for your bot configuration, the bot is still going to try and enter the trade per your allocation settings, and your broker may reject the order due to insufficient buying power. You can view your available balance according to Whispertrades by viewing your broker connection.

  • For defined risk positions like Put Credit Spreads, the risk per position will be based on spread width.
  • For long options, risk is the premium paid for the option.
  • For undefined risk positions like Short Puts, risk is 20%* of the notional value of your strike price.

NOTE: You can lose more than 20% notional for a naked position. However, our bots will always assume 20%. If you wish to account for a different loss amount, you can do this by adjusting the allocation percent for your bot. Be aware of available margin in your account.

Entry Speed

When bots enter new positions, they pick a starting price relative to the bid/ask spread, enter a limit order, let the order sit for a few seconds, and if it doesn't fill, adjust the limit price again. Repeat with multiple price adjustments until the order fills. If the order does not fill after a certain amount of time, the bot will cancel that order and start the process again with a new strike and limit price.

This order process has a few different variables at play, namely:

  • Starting price relative to bid/ask spread
  • Time to wait for each order to wait for a fill
  • Dollar amount to adjust between order attempts
  • Number of attempts to make before quitting and trying a new strike

We do not offer control over these parameters individually, but we do offer three different pre-configured groups of parameters: Patient, Normal, and Aggressive. Your bot has a setting to determine which to use for order entry.

Patient

Patient entry speed is our slowest setting. This will tell a bot to start on the favorable side of the bid/ask spread for you and to slowly adjust price over time. It will also linger during the order process longer than Normal or Aggressive. This is best for symbols with low liquidity and/or those with bid/ask spreads that do not move quickly. It will do the best job at getting you a good fill, but at the risk of allowing a fast-moving market to run away from you.

Normal

This is a nice balance between Patient and Aggressive and will suit most instruments. If you don't have a compelling reason to use Patient or Aggressive, we recommend using Normal. It uses a reasonable balance between speed at which to chase a fill while still allowing time for the market to come to you.

Aggressive

This is ideal when you want to ensure very quick fills. For highly liquid and/or rapidly moving markets, this may be the best setting for entry fill. This will attempt to get a fill very quickly. It may not be an ideal fill price, but it is your best defense against a market running away from you. The Aggressive setting will also not attempt too many times before failing and pulling down a new strike for entry.

Timing

Target Days to Expiration

When it's time to enter a new position, your bot will look at the current option chain and select a strike that is closest to this number of days to expiration. You can optionally specify minimum and maximum values for days to expiration as well.

Earliest Entry Time of Day (Optional)

If you would like for your bot only to enter positions after a certain time during the day, you can specify that time here. With this set, a bot will not enter any new positions before this time. Instead, it will enter a new position the first time it runs beyond your latest entry time. If this field is left blank, a bot will enter a new position the next time it runs with no open position.

Latest Entry Time of Day (Optional)

If you would like for your bot only to enter positions before a certain time during the day, you can specify that time here. With this set, a bot will not enter any new positions after this time. Instead, it will enter a new position at the start of the next market session. If this field is left blank, a bot will enter a new position the next time it runs with no open position.

Strike Selection

Target Delta

When it's time to enter a new position, your bot will look at the current option chain and select a strike that is closest to this target delta. You can optionally specify minimum and maximum values for deltas well.

Spread Width (Spreads Only)

For Put Credit Spreads and Call Credit Spreads, you'll need to tell the bot how to select a strike for the long side of your spread. You can do this using either a fixed, static width or a variable width based on price/premium of the long strike.

Fixed Width Spread

Provide your desired spread width, and the bot will select a long strike that is closest to this width.

Variable Width Spread

Provide a target price for the long strike. The bot will search the option chain and select the first strike with a mid price that meets your target price. The bot can't guarantee a fill at your target price but will just select a strike with your target price at the mid. If you just want the cheapest strike in the chain, you can enter $0.00 into the target premium field. The bot will select the closest strike with the lowest bid-ask spread. You can optionally specify a minimum and/or maximum width to control the size of your variable width.

If you have a target price for the long strike and that strike is outside of the minimum or maximum width that you provide, then the bot will select the strike at the minimum or maximum width even if that strike does not meet your target price.