What Is a Bot?
A bot - short for “robot” - is simply a tool that executes and manages a trading strategy inside a portfolio.
When I trade, I tend to repeat activities. First, I start scanning, looking for trading opportunities. When I find a potential trade, I analyze data, make a series of decisions, and then start opening new positions. Next, I start monitoring my positions, checking for profit and loss targets, watching for changes in indicators I use, and dozens of other things as I manage my trades.
These are activities traders do over and over.
Option Alpha’s bots follow my instructions using recipes, do exactly what I tell them to do, automate all the decisions, and take the necessary actions of my trading plan that I would otherwise have to perform manually.
This means instead of being forced to remember (and have the time to make) all the decisions, bots can run entire trading strategies for me, from start to finish, with consistency, speed, and efficiency.
How Bots Work
So you’re interested in bots, and they sound pretty cool? Seeing is believing, so let’s walk through how they work. As we mentioned above, bots are an automated version of what you do now, just better.
Let’s assume you want to use a simple trend indicator to automate a trend following strategy.
Let’s say you want to sell a put credit spread when the market is in an uptrend and avoid selling them when the market is in a downtrend. You can easily automate this type of simple, systematic strategy with bots.
Is this all you can do with bots? No way! We’re just starting with a simple example to show you how it works. We’ll show you a lot more examples later to get your creative juices flowing!
Setting Up Your Bot
To create a new bot, select “Create Bot” from the Bots homepage. Then, define the bot’s settings.
- Bot Name and Icon - The name and custom icon you give it (have fun).
- Allocation - Tells the bot how much of your trading capital it can use to open positions.
- Daily Position Limit - The maximum number of positions a bot can open in one day.
- Total Position Limit - The maximum number of open positions available for the bot.
Defining capital and position limits lets you safely allocate capital between different trading strategies.
Trading involves countless repetitive tasks done over and over. Automations efficiently execute those activities for me.
Automations are instruction manuals for a bot that tell it what to do and when. Bot automations move through a framework of decision criteria in a logical progression. You can build automations to run continuously, on a defined schedule, or at the push of a button. There are three automation types:
- Scanners - scan for new opportunities
- Monitors - manage existing positions
- Events - are triggered on a schedule or when some other action happens
Automations include decision recipes. Decision recipes are the set of instructions a bot follows to determine yes and no answers. For example, the bot can check if a ticker symbol is above or below a moving average, what the IV rank is, when expiration is, and much more. There are dozens of recipes to choose from.
The Automation Editor is where you tell the bot what decision to make and/or what actions to take. It follows “Yes” and “No” paths in a step-by-step format as it moves through your bot’s decisions or takes actions. To start adding instructions to the automation, select the “+” icon.
Automations can be as simple or complex as you like. They can be saved and organized with folders in your Automation Library. You can reuse an automation in as many bots as you want. Reusing an automation saves you the time of recreating the entire strategy.
You can edit automations. Changing an automation applies the changes to every bot using the automation. You can copy an automation if you want to make changes but preserve the original. Copies let you modify the automation’s actions without affecting the original automation.
Reusing automations is a timesaver that significantly increases the scalability of autotrading. However, many traders trade different tickers with different criteria, which may make reusing automations difficult. No problem. Enter custom inputs.
Custom inputs are dynamic tools used in decision recipes across different bots and automations to give you added flexibility. Custom inputs allow you to manually input variable fields, such as the ticker symbol or numerical values, and link fields together within an automation.
Scanning for Trades
My trading used to involve scanning watchlists for opportunities, analyzing data, making decisions, and then opening new positions. Now, I use scanner automations to offload those tasks so that I can focus on strategic thinking.
Scanner automations run on defined time intervals and look for opportunities to enter new positions based on the decision recipes I choose. For example, if a bot’s objective is to sell a put credit spread when a security is above a long-term moving average, a scanner can do just that. Scanners look for opportunities as long as there is room within the bot’s allocation and position limits.
Select the “Automations” tab in the bot dashboard and click the “+” icon in the Scanners section to create a new scanner automation. When I select “New Automation,” the automation editor opens. To start adding instructions to our automation, we’ll select the “+” icon.
- Create a New Scanner Automation - Name the automation, and save it to the library.
- Add Decisions - There are dozens of different decision actions available with limitless customization options. Decisions are often used at the beginning of a scanner automation so the bot can filter through specific market data before entering a position. You can add as many decisions as you like down both the “Yes” and “No” paths of the automation editor.
- Add an Open Position Action - Select a position type, customize the position to fit the strategy, and set the SmartPricing criteria.
Option Alpha’s proprietary SmartPricing technology is awesome. SmartPricing places timed limit orders in a sequence, traversing the bid-ask spread until you reach your final price. Simply said: it finds the best possible price for your order.
By default, order pricing is set to Normal SmartPricing and 100% of the bid/ask spread. There are four different SmartPricing settings that you can customize:
- Normal - Starts at approximately 50% of the bid/ask spread and works towards 100% through four evenly distributed prices in 10-second intervals.
- Speedy - Begins at approximately 50% of the bid/ask spread but works towards 100% through only three prices in 5-second intervals.
- Patient - Begins at approximately the mid price and tries up to five prices, waiting 20-seconds at each price before moving to the next price level.
- Off - You can always turn off SmartPricing and a limit order will be sent to your broker at 100% of the bid/ask spread. When SmartPricing is turned off, the order will automatically cancel after five minutes if it is not filled.
Remember, you are in complete control of your bots. You tell the bot when to turn on, what to look for, when to open positions, when to exit positions, and much more. Next, we’ll tell the bot how to exit positions.
When you open a new position, you’ve got to manage it!
Different traders manage positions using different management styles. Sometimes even the same trader manages different types of strategies with different management styles.
Before autotrading, I would set profit and loss targets or create alerts to help manage positions. Or, sometimes, I would sit in front of the screens watching the price action and looking for the right time to get out of the position.
With bots, the process is much simpler. Monitor automations manage positions. An army of bots could watch 200 different positions with ease. Monitors continuously watch open positions and look to exit or adjust positions based on my decision criteria. Like scanner automations, monitors run on defined time intervals.
To create a new monitor automation, select the “+” icon in the Monitors section of the bot dashboard.
- Create a New Monitor Automation - Name the automation, and save it to the library.
- Add a Position Loop - These tell the monitor to loop through the same actions for all positions of a certain type. Loops make it incredibly efficient to manage multiple positions.
- Add Decisions - Remember, there are dozens of different decision recipes available, so the sky is the limit for what you can create! SmartStops is just one example of a decision you can use in a Monitor Automation. SmartStops trail a position once a profit target is hit, and could help you get more out of your positions.
- Add a Close Position Action - Set your SmartPricing criteria and exit the trade.
Monitors only run if there’s an open position. Monitor automations can be as simple or complex as you like and designed to monitor different position types, multiple underlying securities, or all positions within a bot.
Events convert scheduled, predetermined tasks I already do manually into automated actions. Whether it is dollar-cost averaging, laddering entries, or opening and closing positions at specific times each week, I repeat a lot of activities on a regular basis. Event automations take those repetitive actions and systemically implement them for me.
Unlike monitor automations, which continuously manage positions at defined intervals, events can be scheduled for specific dates and times, run as a contingency when another position is opened or closed, or run immediately at the click of a button.
There are multiple types of events that can be automated:
- On a Specific Date - You can run an event on a specific date or time in the future. For example, if you wanted to enter a position on the first trading day of every month, you could schedule it with an event automation.
- On a Repeating Schedule - You can run an automation on a repeating schedule. For example, you can schedule an automation to run every Monday and Friday at 3:00 p.m.
- Open New Position and Close Position - An automation is triggered to run one time if a new position is opened or an existing position is closed.
- Buttons - Buttons are events that run an automation at the click of a button. Any time the button is clicked, it will immediately run the automation. Customized buttons can be created for any scanner or monitor automation and added to the bot dashboard.
Create Your First Bot
Ready to create your first bot? There are multiple ways to get the ball rolling:
- Create a bot from scratch. Build a bot to automate your strategy from start to finish.
- Start with these sample bots. Genesis 1.0, 2.0, and 3.0 progressively demonstrate bot features.
- Watch us build an RSI swing trading bot. Follow along and see the step-by-step process.
- Clone a template from the Community. Choose a strategy from hundreds of templates.
Bots allow you to take your strategy, your approach, your process, and implement it systematically.
What else can bots do?
Oh, the possibilities are endless. You can:
- Import positions from your brokerage account for your bots to manage.
- Set up automated profit targets and stop losses.
- Filter trade opportunities based on dozens of variables and indicators.
- Avoid expiration and assignment risk.
- Open and close positions with the click of a button.
- Test automations in real-time.
- Check a position’s rate of return.
- Check the probability of profit before opening a position.
- Send yourself custom notifications.
- Automatically hedge positions.
- Avoid trading when volatility spikes.
- And so much more...
You can do whatever you want with your time while the bots work for you. Now doesn’t that sound great?