Opportunistic Target Completion (OTC) - AlgoJi

Symphony provides Opportunistic Target Completion strategy which is good for both automated trading and manual trading. It is similar to the Best Execution provided by MasterTrust.

OTC is an execution strategy to achieve better average price rather than the limit price defined by the Strategy (or the manual order). OTC tracks market quotes and changes the bid/ask price and places part-order to exchange, thereby enhancing the overall buy/sell price.

Strategy Logic:

Strategy will subscribe market data for a given symbol. Total traded quantity at start will be stored and will be checked with the volume parameter after sending sliced order to market. After getting the first price in the symbol the strategy starts. Strategy pushes the order in the market for Highest Bid value + one tick value for Buy order and Highest Ask value – one tick value for sell order. Once the sliced order is sent to the market, it wait for execution for the given user input time; if not executed, cancel the order and change the price based on the Highest Bid/Ask Price. If partial executed, cancel the remaining quantity after the given time and place a fresh order for complete slice order; order slice quantity will only change when the one slice order quantity is higher than the total remaining quantity required.

The strategy notes the total traded volume at the start of the strategy. After placing initial orders the strategy compares the change in total traded volume at start & the current total traded volume. The difference is compared with our total traded quantity. The strategy will place fresh orders only if this percentage of our total traded quantity to the difference of the total market volume matches with the volume % parameter.

Strategy Parameters:

Order Price Range–Price range in which the scrip needs to be executed. Based on the input of Stop Loss Mode- the Lower and upper limits work.

From and To Time: Time Range in which the strategy will try to execute the order.

Slice %: Total required quantity will be pushed in the slice of given input percentage value.

Total Lots: Required total position quantity; in Derivative trades, the value will be no of lots needs to be traded.

Timeout (Sec): The time value is given in seconds; the time denotes the waiting period to execute to the sliced quantity; if not executed or partially executed, the remaining quantity will be cancelled.

Stop Loss Mode: true/false dropdown value: if true, the Bid (for buy)/ Ask (sell) needs to be of Upper & Lower price range; once the Bid/Ask value is lower/upper in the market only than the strategy will start pushing orders to the market for execution.

Volume %: the given % value will work as stop strategy point; The strategy notes the total traded volume at the start of the strategy. After placing initial orders the strategy compares the change in total traded volume at start & the current total traded volume. The difference is compared with our total traded quantity. The strategy will place fresh orders only if this percentage of our total traded quantity to the difference of the total market volume matches with the volume % parameter ; 0 means “do not consider the field”

Scrip details: all scrip details required to place order such as exchange name, segment, symbol, maturity, option type, strike price, side(Buy/Sell)