How to Use Rival Algos

Edited

Rival One provides several pre-built synthetic order types, allowing for advanced order management within the parameters of the algos. These algos can be accessed from the Ladder or from the Order Ticket.

Using the A/B/C Algo buttons in the Ladder, users can select any algo from the list. Once an order is submitted using an algo, that algo will be assigned to the button from which it was opened, allowing for quicker entry of subsequent algos of the same type.

From the Order Ticket, an algo may be selected from the dropdown menu

Universal Algos

These algos can be used on any instrument type

Eye on the Fly Eye on the Fly (EOTF) has only one input, which is Price. Eye on the Fly will work the user's specified price on the Rival gateway, without exposing the order to the market. Once the specified price level is met, Eye on the Fly will submit a Limit order at the specified price. This is also sometimes referred to as a 'Sniper' order.

Submit on Open Submit on Open will hold an order at the user's specified price level and will submit a Limit order automatically when the market moves from Pre-open to Open state. The only additional input for Submit on Open is Payup Ticks. Payup Ticks specifies the number of ticks the user is willing to sacrifice (pay up or pay down) when the order is submitted to the market.

OCO Orders and Bracket Orders OCO (One Cancels Other) and Bracket Orders use the same inputs. An OCO order allows the user to work two orders simultaneously--one to take a profit with the other capping losses with a Stop order. When one order is filled, the other is cancelled automatically. For simplicity, assume a Buy order in the description.

  • Profit Offset. The number of ticks away from the current market (LTP) at which the user wishes to work a bid.

  • Stop Loss Offset. The number of ticks away from the current market (LTP) at which the user wishes to place a Buy Stop order.

A Bracket order is an OCO order which is spawned after an execution. For Bracket orders, the functionality is the same as OCO. The difference is that the two parameters are based on executed price of the original Limit order, rather than current market price (LTP)


Take Diminishing Size Take Diminishing Size (abbreviated TDS) allows user to work an order with an eye on the total quantity on the other side of the market. When the quantity on the opposite side drops below the user's defined threshold, TDS will pay up (or down) into the market in an attempt to capture the diminishing size of the bid or offer. This algo is sometimes referred to as 'With-a-Tick.'

For simplicity in all examples below, assume a Buy order

  • Payup Ticks. The number of ticks to pay up in the case that the TDS algo fires. Users may use a larger value in this field to avoid missing a trade in the case that the market is thin or volatile.

  • Fade Threshold. This value represents the minimum size required to join the bid. In the above screenshot, if placing a buy order at 4464.50, as long as Fade Threshold is 75 or lower, the algo will join the 4464.50 bid. If Fade Threshold = 100, for example, the algo would join the bid at 4464.25.

  • Max Move Ticks. This value represents the maximum number of ticks the user is willing to allow the market to move against him before paying up, regardless of the entry price of the order. If the last traded price exceeds the Max Move Ticks set in this parameter, TDS will pay up to the current market price.

  • Contracts Threshold. The maximum number of contracts offered before the algo pays up to the next level. In the above screenshot, if the user sets Contracts Threshold to 50, TDS will work a 4464.50 bid and montior the quantity offered at 4464.75. If that quantity drops below 50, TDS will pay up to the next price level.

Trailing Stop and Trailing Stop Limit A Trailing Stop order seeks to maximize profit by working a Stop order a specified number of ticks away from the current market (LTP). A Trailing Stop order will trail the market in one direction only. For buy orders, Trailing Stop will follow the bid down, remaining X ticks away from LTP, but will not follow the bid up. For sell orders, Trailing Stop will follow the offer up, remaining X ticks away from LTP, but will not follow the offer down.

The only input for Trailing Stop orders is Ticks, which specifies the number of ticks away from LTP that the Stop order will work and trail. Trailing Stops will be submitted as a Market order when triggered.

For Trailing Stop Limit orders, an additional parameter is introduced. Additional Offset allows the user to specify the number of payup ticks when the Trailing Stop Limit order is triggered, thus submitting a Limit order, rather than a Market order, which would be the case for a Trailing Stop order.

Volume Stop Algo: Volume Stop (abbreviated VST) allows users to enter a synthetic Stop order, managed internally, with a price trigger--as is associated with a traditional Stop order--and an additional Quantity threshold.

Volume Stop will submit a limit order to the exchange at the user's specified stop price, provided that the market quantity on the opposite side is below the user's specified contracts threshold.

  • Contracts Threshold. This input determines the maximum quantity on the opposite side of the market, below which Volume Stop will trigger.

  • Payup Ticks. Since Volume Stop submits a Limit order once both trigger conditions are met, users may wish to add some price protection to their order. Payup Ticks determines the number of ticks above the trigger price (for Buy orders) or below the trigger price (for Sell orders) to submit the order to the market. Payup ticks may be set to zero if desired.

  • Example: In the ESH3 market below, the user wants to submit a Stop order to buy 10 contracts at a price of 3882.50. However, to avoid paying into a large offer, the user only wants the order submitted when the quantity on the offer at 3882.50 is less than 100 contracts.

User will enter a quantity of 10, a Contracts Threshold of 100, and--for this example--a Payup Tick of 1. Once the Algo parameters have been selected, user will enter the order from the Ladder at the desired trigger price.

Order Book will reflect the state of the order, the Algo type, and the trigger price.

Option-specific Algos

Autohedge: Any option orders can be autohedged. While this is classified as an option-specific algo, there are no standard inputs. Autohedge will automatically trade the underlying instrument when an option order is filled, in order to make the trade delta-neutral. Autohedge will use Rival's calculated delta to determine the appropriate quantity of the underlying contract to trade against the option order.

Any outright option or option spread can be autohedged by toggling the setting to ON in the Order Ticket.

In addition, this setting can be defaulted to ON in User Settings. If defaulted to ON, users will still have the ability to manually toggle Autohegde OFF within Order Ticket for any order.

Note in the above screenshot, the setting for Hedge Threshold. Hedge Threshold determines the minimum quantity of an underlying contract in order for an Autohedge order to be sent. In this example, if the required underlying quantity is less than 0.7 contracts, no hedge order will be sent.

If the required underlying quantity is, for example, 15.6, Autohedge will send an order for 15 underlying contracts. If the required quantity is 15.7, Autohedge will send an order for 16 underlying contracts.

Vol Orders: Users have the ability to place orders on options and option strategies in volatility terms rather than price terms. To enter a Vol Order, select VOL from the dropdown in Order Ticket.

Once a volatility level has been specified and the order entered, Rival's Vol Algo will adjust the price of the order automatically when the underlying contract moves, in order to maintain the desired volatility level.

When VOL is selected, the additional Price Move Throttle field is exposed. Price Move Throttle determines the number of ticks required in order to update the order. This is used to manage heavy messaging to the exchange. With 0 ticks set, the order will re-price with no restrictions. With, for example, 2 ticks set, the order will not reprice until a two tick price change is required.

The default value for this setting can be managed from Trading Settings.

Minimum Edge Algo: This algo allows users to specify a minimum amount of edge vs Rival's calculated theoretical value in order for the option order to be maintained. Users will select Minimum Edge from the algo dropdown, exposing the edge field.

Once a Limit order is placed, Minimum Edge Algo will work the order as long as there is at least 0.05 edge (in this example). If the difference between the limit price and the theoretical value falls below 0.05, the order is cancelled automatically.

The default value for Min Esdge can also be configured in Trading Settings. Note, however, that the default value is entered in terms of ticks. This is to ensure consistency regardless of the contract being traded. The default value can be overridden in the Order Ticket for any order.

Contingent Orders: Allows the user to work an option order while leaning on the underlying price to determine when the order can be entered. Once Contingent is selected from the algo dropdown, the underlying contract and price fields are displayed.

By default, the assigned underlying contract is displayed, and the LTP is displayed in the Price field. Contingent Algo reads Rival's calculated delta in order to determine the direction required for the contingent underlying price. For example, if the option has a positive delta and the order is a Buy, the option order will only be sent if the underlying price is at or above the user's specified level. If the option has a positive delta and the order is a Sell, the option order will only be sent if the underlying price is at or below the user's specified level.

Default Algo

For option algos, users can set a default algo which will be presented in the Order Ticket each time a new order is staged but can be overridden for an individual order in the Order Ticket.

Was this article helpful?

Sorry about that! Care to tell us more?

Thanks for the feedback!

There was an issue submitting your feedback
Please check your connection and try again.