Abstract: A technique for designing, implementing and deploying a generic algorithmic/automated Algorithmic Trade Execution system is disclosed. This invention relates to trading technology area, and more particularly to trading algorithms and execution algorithms. Present day technology costs are high for the traders. Further the present solutions require a large time to market. Further, no online risk checks and blocks are available to designing trading algorithm. The proposed system provides the essential building blocks of the algorithm to create/build trading algorithms in a short span of time at relatively low cost. Further, the trader can edit any pre-existing algorithm at the server and deploy it in no time. He can also extend on existing algorithms depending on market conditions without need for any software development.
FIELD OF INVENTION
[001] This invention relates to trading technology area, and more particularly to trading algorithm and executing algorithm.
BACKGROUND OF INVENTION
[002] Trading securities, such as stocks, futures, options, bonds, and foreign currencies, have been always a time consuming process for investors. It is a long and intensive procedure to perform non-stop monitoring of the fluctuations in the market. If the information available to the investor is different to what is actually happening in real time, all the subsequent automated monitoring, calculation, decision and execution effort would become meaningless. Especially, for active day investors, few seconds or even milliseconds of delay, or incorrect sequenced quote could mean a substantial damage to the trading results.
[003] This encourages investors to hire professional traders to do the trading on behalf of him. Investors send their investment strategy to their professional trader for further processing. But the efficiency of professional traders is limited due to large amount of data they have to handle and the specific requirements of the investor. Traders have access to algorithmic trading, where the algorithm executes specific tasks as set by the trader, which may be as per instructions from the investor. Using algorithms, the trader may take various factors such as timing, volume, individual price trends, market trends, sector trends, etc. into account to determine whether to enter trade orders and what parameters to select for those trade orders. The factors considered and the manners in which those factors are incorporated or 5 weighted in the trading algorithm are a function of the particular strategy developed by the trader as per the instructions of the investor. Algorithmic trading uses strategies that exploit short-lived market opportunities and depend highly on execution speed. Essentially, set software programs decide when, how and where to trade, without the need for human intervention. In some instances, where large block or orders have to be executed, executing them in one order will adversely affect the market. In such cases, the algorigthm puts in series of small orders and keeps track of them so counter parties cannot use the large order information to their advantage.
[004] However, the professional trader has to modify the trading algorithm manually. If an investor wants to modify his trading strategy, the trader has to edit the program to reflect the new requirements of the investor. Further, the investor is required to test the trading algorithm before implementing this trading algorithm. This is a time consuming process and places a burden of having programming skills on the trader or it depends on the skills of another programmer.
OBJECT OF INVENTION
[005] The principal object of this invention is to allow a trader with little or no programming expertise to create/design one or many efficient automated trading execution algorithms.
STATEMENT OF INVENTION
[006] Accordingly the invention provides a method for managing the trading of securities, the method comprising of creating at least one algorithm for performing specific operations related securities by a trader using a 10 management module, wherein the algorithm is based on at least one input provided by a trader or a client; and running the at least one algorithm by the management module in association with an exchange, on pre-specified conditions being met.
[007] Also, disclosed herein is a system for managing the trading of 15 securities, the system comprising at least one means configured for creating at least one algorithm for performing specific operations related securities by a trader, wherein the algorithm is based on at least one input provided by at least one of a trader or a client; and running the at least one algorithm in association with an exchange, on pre-specified conditions being met.
[008] These and other aspects of the embodiments herein will be better appreciated and understood when considered in conjunction with the following description and the accompanying drawings. It should be understood, however, that the following descriptions, while indicating preferred embodiments and 5 numerous specific details thereof, are given by way of illustration and not of limitation. Many changes and modifications may be made within the scope of the embodiments herein without departing from the spirit thereof, and the embodiments herein include all such modifications.
BRIEF DESCRIPTION OF FIGURES
[009] This invention is illustrated in the accompanying drawings, through out which like reference letters indicate corresponding parts in the various Figures. The embodiments herein will be better understood from the following description with reference to the drawings, in which:
[0010] FIG. 1 depicts the process of accessing exchange by client as
well as trader through management module, according to embodiments as disclosed herein;
[0011] FIG. 2 depicts the process of accessing exchange by client as well as trader through management module by employing FIX protocol,
20 according to embodiments as disclosed herein;
[0012] FIG. 3 is a block diagram depicting the various components involved in the process of accessing exchange by client as well as trader through management module, according to embodiments as disclosed herein;
[0013] FIG. 4 is a block diagram depicting main window of the tool 5 and its plug-in, according to embodiments as disclosed herein;
[0014] FIG. 5 is a block diagram displaying Algo order entry screen, according to embodiments as disclosed herein;
[0015] FIG. 6 is a block diagram displaying adding/editing an algorithm screen, according to embodiments as disclosed herein;
[0016] FIG. 7 is a block diagram displaying editing distribution screen, according to embodiments as disclosed herein; and
[0017] FIG. 8 is a block diagram displaying parameters of Parent order, according to embodiments as disclosed herein.
DETAILED DESCRIPTION OF INVENTION
[0018] The embodiments herein and the various features and advantageous details thereof are explained more fully with reference to the 5 non-limiting embodiments that are illustrated in the accompanying drawings and detailed in the following description. Descriptions of well-known components and processing techniques are omitted so as to not unnecessarily obscure the embodiments herein. The examples used herein are intended merely to facilitate an understanding of ways in which the embodiments herein 10 may be practiced and to further enable those of skill in the art to practice the embodiments herein. Accordingly, the examples should not be construed as limiting the scope of the embodiments herein.
[0019] The embodiments herein achieve a technique for designing algorithmic/automated trading by providing systems and methods thereof.
Referring now to the drawings, and more particularly to FIGS. 1 through 8, where similar reference characters denote corresponding features consistently throughout the Figures, there are shown preferred embodiments.
[0020] The proposed system proposes a tool which enables traders to reconfigure and roll out a range of sophisticated algorithms with ease and less time to market. The system enables the traders to build customized directional execution algorithms and may be accessed in two ways, though the traders' front end/User interface and/or using Direct Market Access (DMA) through FIX protocol. It provides the essential building blocks of the algorithms by the virtue of which the trader can create/build their own algorithms as well as variations of existing algorithms in a short span of time at low price. This 5 system can be used by dealers as well as DMA clients through FIX. Direct Market Access (DMA) trading allows investors to trade shares (and other asset classes) on the exchange without intervention of a broker. The orders pass thru the broker systems but are not managed by the broker dealers or employees. DMA is often combined with algorithmic trading giving access to many different trading strategies. DMA offers low transaction cost to the investor. Further, it provides better management of transaction along with better security and transparency. The Financial Information eXchange (FIX) Protocol is a real-time trade information protocol which employs a series of trade related transactions for the electronic communication. DMA was employed to speed the financial transactions. To manage transactions and to reduce the latency FIX protocol is used. Now the mainstream trade communication language is being extended specifically to deal with algorithms and shorten the time it takes to deploy new strategies.
[0021] FIG. 1 depicts the process of accessing exchange by the client as well as the trader through management module, according to embodiments as disclosed herein. The figure demonstrates the method, where a dealer accessing the exchange via trader Graphical User Interface (GUI) .The Client 101 interacts with management module 103 through a weblink 102. The trader 106 directly communicates with management module 103 through User 5 Interface or Front end. The two parties who wish to engage are physically connected over a suitable telecommunication link using a suitable network protocol that regulates the telecommunication link. This link can be a telephone line, leased line, ISDN, LAN, WAN or VPN etc. Client 101 communicates with the trader 106 via management module 103, in order to inform the trader 106 about his/her requirements. The trader 106 makes note of the clients 101 requirement and makes corresponding changes in the management module 103. Management module 103 communicates with exchange 105 through server 104. Tasks specified in the management module 103 by the trader 106 are executed by server 104 in communication with the exchange 105.
[0022] FIG. 2 depicts the process of accessing exchange by client as well as the trader through management module by employing FIX protocol, according to embodiments as disclosed herein. Clients 101 who are interested in DMA, interacts with FIX engine 201 through the weblink 102. This weblink could be any suitable network protocol that regulates the telecommunication link. E.g. WAN, LAN, VPN or internet. Client 101 request is passed to FIX engine 201. FIX engine 201 help in fast and quick development of connectivity with DMA Clients 101. It provides specific components and plug-in to client 101. The engine 201 may provide customized 5 analysis and real-time reporting of data to client 101 through customizable plug-ins. After establishing a physical connection, the client 101 sends a Logon message. FIX connector 202 establishes a connection between the client 101 and the management module 103. FIX specifications ensure secure and reliable connections and protect users from system downtime and loss of revenue. The trader 106 directly communicates with management module 103 through a User Interface or Front end. Client 101 communicates with the trader 106 via management module 103, in order to inform the trader 106 about his/her requirements. The trader 106 makes note of the clients 101 requirement and makes corresponding changes in the management module 103. Management modules 103 are configured according to client's requirement. Management module 103 communicates with Server 104. A data store 203 is connected to server 104. Server 104 executes algorithms stored in the data store 203 configured through management module 103. Task specified in management module 103 by the trader 106, is executed by server 104 with respect to exchange 105. The data store 203 saves all the data captured from th exchange 105 and management module 103. The Intermediate Message Layer (IML) 204 members develop their own trading front ends and interface with the Exchange 105 through the IML. The software that interfaces with Central Trading System (CTS) is called the Intermediate Message Layer (IML) while 5 TAP 204 is network device that is supported by software. TAP simulates Ethernet device and help in delivering data from exchange to user-space program (management module 103) attached to the device.
[0023] In another embodiment herein, the client and/or the trader may access the exchange using an Independent Vendor (IV); wherein the IV may be another third party provider who is in turn connected to the exchange natively.
[0024] FIG. 3 is a block diagram depicting the various components involved in the process of accessing exchange by client as well as trader through management module, according to embodiments as disclosed herein;
Clients 101 who are interested in Direct Market Access (DMA), interacts with the management module 103 through a weblink 102 as described in FIG. 1. Further, the client can interact with the management module with FIX engine 201 through the weblink 102 as described in FIG. 2. This weblink 102 could be any suitable network protocol that acts as a communication interface 301 between client 101 and FIX engine 201. The communication interface 301 could be any suitable network protocol that regulates the telecommunication link. E.g. WAN, LAN, VPN or internet. The trader 106 directly communicates with task management module 303 through a User Interface 302 or Front end. This user interface 302 may be a graphical user interface, where the trader can configure the algorithms according to the requirements of clients 101. The 5 graphical user interface 302 helps the trader to select and use a predefined algorithm and also helps in adding new algorithms, deleting the existing algorithms and editing the algorithms. The tasks and algorithms created by the trader 106 will be submitted to the task management module 303. The task management module 303 communicates with the
server 104 for accessing the exchange 105, as described in FIG. 1. Further, there exists a database 304 connected to the server as described in FIG. 2. The database 304 stores the algorithms that are configured through task management module 303 by the trader 106. Server 104 executes algorithms stored in the database 304. The database 304 saves all the data captured from the exchange 105 and task management module 303. TAP simulates Ethernet device and helps in delivering data from exchange to task management module 303 and then it can be communicated to the client 101 through communication interface 301, which acts as a weblink 102 between client and task management module.
[0025] FIG. 4 is a block diagram depicting main window of the tool and its plug-in, according to embodiments as disclosed herein. When the tool is run, main window 401 GUI pops up. Plug-in window 402 is invoked from the main window 401 on which several options like Algo Interface 403, etc are displayed. These options are selected depending upon the requirement. Start Plug-in button 404 in the plug-in window 402 is selected to launch the tool.
[0026] Once the plug-in of the tool starts, another window pop-ups.
This window hereinafter referred as Entry screen 501. FIG. 5 is a block diagram displaying Algo order entry screen, according to embodiments as disclosed herein. The trader can perform various functions with this entry screen 501. The trader can select and use a predefined algorithm or an algorithm created in the past from the dropdown menu of Algo name 502. Further, the trader can add a new algorithm by selecting Add algo button 503 depending upon request. The trader can also edit or delete an existing algorithm by selecting edit algo button 504 and delete algo button 505 respectively. Furthermore, the trader can add a new distribution by selecting add distribution 510 or edit an existing distribution by selecting edit distribution 511 button on entry screen 501. A distribution is a mandate to trade a certain percentage of total ordered quantity or market volume during a user-defined time interval. Entry screen 501 displays several parameters like parent order 507, child order 508 and order modification parameters 509.
Parent order 507 parameters are selected by the trader to create an algorithm based on execution requirement of the algorithm. Child order 508 parameters control the order of execution. Order modification parameters 509 are used to specify certain threshold levels that should be met during order execution. To delete an existing algorithm, the trader can select the algorithm from drop 5 down button of Algo name 502 and select the delete Algo 505 button.
[0027] When add/edit algo button is selected, a window pop-ups. The screen of the window displays several parameters. FIG. 6 is a block diagram displaying adding/editing an algorithm screen, according to embodiments as disclosed herein. The trader can start building its algorithm by entering a name for an algorithm in Algo name 601 and writing its description in the description box 602. It displays number of parameters that can be mixed-and-matched to build a number of algorithms. Parameters are selected depending upon the algorithm to be built. Each parameter is provided with several options to set a state for that parameter. Various states could be like required, optional not required or fixed. Required parameter is mandatorily filled in to use algorithm. Optional parameter is optional and does not need to be filled with a value for the algorithm to execute. Not required parameter is disabled on the screen while Fixed parameter takes a pre-defined value and its value cannot be modified. Fixed parameters values are set by selecting Set Fixed Value 603 button. Further, it provides different execution styles like aggressive, normal. passive, etc for each algorithm that is built. Different execution styles provide different variant in terms of speed and style of execution of any given algorithm.
[0028] A distribution is a mandate to trade a certain percentage of total 5 market volume or total ordered quantity during a defined time interval. The trader can add a new distribution by selecting Add Distribution button. FIG. 7 is a block diagram displaying editing distribution screen, according to embodiments as disclosed herein. When the trader selects an Add distribution 510 button, a screen pop-ups which display several parameters. The trader can provide the distribution name through distribution name button 701 and description in description box 702 and symbol in trading symbol box 703. The trader can edit any existing distribution by selecting edit distribution 511 button. Further, the trader needs to mention the percentage (of the total order quantity) that the trader wants to execute against the provided time intervals.
This can also be achieved through a backend file upload to save the user from manually enetering the distribution for each of the symbols.
[0029] FIG. 8 is a block diagram displaying parameters of Parent order, according to embodiments as disclosed herein. The trader selects parent parameters to create an algorithm based on whether they are required/not required/optional for the successful execution of the algorithm. Various parameters are selected in parent order like Pro 701, Client ID 702, Product type 703, execution style 704, symbol 705, etc in order to execute the requested algorithm. To run an algorithm, the specific algorithm is selected from the drop down menu of Algo name and all its related parameters are filled 5 and the submit button is selected to execute the algorithm from the front end/User interface. The algorithm submitted is stored in management module in accepted status. Several algorithms can be designed by client by providing several parameters. Some of the algorithms which could be designed and executed by the proposed method are mentioned below.
[0030] In an embodiment herein, small orders are posted into the market and smaller portion of the order are shown to the market than the total order size. The algorithm places a limit order with the defined price and quantity. Parameters like time period, price limit and display size are entered by the trader. Once the order is filled, the algorithm automatically enters 15 another slice with the same parameters as the first and so on until the orders is completed. The display size algorithm is suitable for trading an order where the duration of the order is not important.
[0031] Another embodiment disclosed herein is a liquidity-capturing algorithm which executes the order at the best available price, while minimizing market impact and information leakage. Parameters like time period, price limit are entered by the trader.
[0032] Another embodiment disclosed herein tracks the real-time market volume and tries to match the target participation rate. It is ideal for 5 trading large orders in liquid instruments where controlling market impact is a priority. The algorithm attempts to complete once a favourable price appears in the market. Parameters like time period, price limit, percentage of volume, get it done, etc are specified by the trader.
[0033] An embodiment herein tracks the real-time market volume and tries to match the participation rate which adjusts itself according to price movements between the pre-defined Limit/Would price band. Price Band automatically adjusts the targeted participation rate according to the price until the order is completed. Parameters like time Period, price bands, POV (Percentage of Volume), get it done, etc are specified by the trader.
[0034] While these embodiments are shown as examples of the capability of this concept, it is not limited to these. The Trader can develop and deploy his own algorithms and can execute them on the fly.
[0035] Risk Management System can be employed at server and configured to perform checks before the orders are released to the exchange.
Risk management system can perform checks on a variety of factors, the factors comprising of Trading Limits, Position limits, Exposure taken by client based on risk assessment, credit quality and available margins of the client, Quantity Limits, Price Range Checks, Order Value, Credit Checks and so on. The Risk Management system also provides check for Order Quantity. Any 5 order which has an order quantity more than the limit specified would be rejected by the Risk Management system. The system has the ability to check whether the Order Price falls within the Daily Price Range prescribed by the exchange. The Price range is updated from the exchange files. However, there is a facility provided to update the Price range based on the trader needs if the trader needs to change the same. When an order is received it is checked whether the price prescribed falls within the Price range. If the order price is within this range then the order is accepted else the order is rejected. This check is done for both the initial order as well as order modification requests. The Risk management system can perform FII limit checks by blocking FII clients from buying when security caps are breached, thereby restricting access to the RMS. The RMS validates orders and accordingly it sends and accepts message. Risk management system provides online market wide position limit checks. Rules can be set by checking the limits of DMA by selecting appropriate rules while configuring category.
[0036] In order to set limits for securities, the trader can perform blocking or unblocking of orders.
[0037] The method is implemented in a preferred embodiment through or together with a software program written or several software modules being 5 executed on at least one hardware device. The hardware device can be any kind of portable device that can be programmed. The device may also include means which could be e.g. hardware means like e.g. an ASIC, or a combination of hardware and software means, e.g. an ASIC and an FPGA, or at least one microprocessor and at least one memory with software modules
10 located therein. The method embodiments described herein could be implemented partly in hardware and partly in software. Alternatively, the invention may be implemented on different hardware devices, e.g. using a plurality of CPUs.
[0038] The foregoing description of the specific embodiments will so ftilly reveal the general nature of the embodiments herein that others can, by applying current knowledge, readily modify and/or adapt for various applications such specific embodiments without departing from the generic concept, and, therefore, such adaptations and modifications should and are intended to be comprehended within the meaning and range of equivalents of the disclosed embodiments. It is to be understood that the phraseology or terminology employed herein is for the purpose of description and not of limitation. Therefore, while the embodiments herein have been described in terms of preferred embodiments, those skilled in the art will recognize that the embodiments herein can be practiced with modification within the spirit and 5 scope of the embodiments as described herein.
STATEMENT OF CLAIMS We claim:
1. A method for managing the trading of securities, said method comprising of Creating at least one algorithm for performing specific operations related securities by a trader using a management module, wherein said algorithm is based on at least one input provided by a trader or a client; and
Running said at least one algorithm by said management module in association with an exchange, on pre-specified conditions being met.
2. The method, as claimed in claim 1, wherein said client interacts with said management module using at least one of
Financial Information eXchange (FIX) protocol; Native connectivity to the exchange; An Independent Vendor (IV);
third party connectivity via an Application Programming Interface (API); or
A web link.
3. The method, as claimed in claim 1, wherein said management module runs said at least one algorithm on conditions associated with said algorithm being met.
4. The method, as claimed in claim 3, wherein said conditions are set by at least one of Said trader; or Said client.
5. A system for managing the trading of securities, said system comprising at least one means configured for Creating at least one algorithm for performing specific operations related securities by a trader, wherein said algorithm is based on at least one input provided by at least one of a trader or a client; and
Running said at least one algorithm in association with an exchange, on pre-specified conditions being met.
6. The system, as claimed in claim 5, wherein said system is further configured for enabling said client or said trader to interact with said system using at least one of Financial Information eXchange (FIX) protocol; Native connectivity to the exchange; An Independent Vendor (IV);
third party connectivity via an Application Programming Interface (API); or A web link.
7. The system, as claimed in claim 5, wherein said system is further configured for running said at least one algorithm on conditions associated with said algorithm being met.
| # | Name | Date |
|---|---|---|
| 1 | 1229-CHE-2011 POWER OF ATTORNEY 29-07-2011.pdf | 2011-07-29 |
| 1 | 1229-CHE-2011-FER.pdf | 2020-01-09 |
| 2 | 1229-CHE-2011 FORM-1 29-07-2011.pdf | 2011-07-29 |
| 2 | abstract1229-CHE-2011.jpg | 2012-10-29 |
| 3 | 1229-CHE-2011 CORRESPONDENCE OTHERS 09-04-2012.pdf | 2012-04-09 |
| 3 | 1229-CHE-2011 CORRESPONDENCE OTHERS 29-07-2011.pdf | 2011-07-29 |
| 4 | Power of Authority.pdf | 2011-09-03 |
| 4 | 1229-CHE-2011 ABSTRACT 09-04-2012.pdf | 2012-04-09 |
| 5 | Form-5.pdf | 2011-09-03 |
| 5 | 1229-CHE-2011 CLAIMS 09-04-2012.pdf | 2012-04-09 |
| 6 | Form-3.pdf | 2011-09-03 |
| 6 | 1229-CHE-2011 DESCRIPTION(COMPLETE) 09-04-2012.pdf | 2012-04-09 |
| 7 | Form-1.pdf | 2011-09-03 |
| 7 | 1229-CHE-2011 DRAWINGS 09-04-2012.pdf | 2012-04-09 |
| 8 | 1229-CHE-2011 FORM-2 09-04-2012.pdf | 2012-04-09 |
| 8 | Drawings.pdf | 2011-09-03 |
| 9 | 1229-CHE-2011 POWER OF ATTORNEY 09-04-2012.pdf | 2012-04-09 |
| 10 | Drawings.pdf | 2011-09-03 |
| 10 | 1229-CHE-2011 FORM-2 09-04-2012.pdf | 2012-04-09 |
| 11 | Form-1.pdf | 2011-09-03 |
| 11 | 1229-CHE-2011 DRAWINGS 09-04-2012.pdf | 2012-04-09 |
| 12 | Form-3.pdf | 2011-09-03 |
| 12 | 1229-CHE-2011 DESCRIPTION(COMPLETE) 09-04-2012.pdf | 2012-04-09 |
| 13 | Form-5.pdf | 2011-09-03 |
| 13 | 1229-CHE-2011 CLAIMS 09-04-2012.pdf | 2012-04-09 |
| 14 | Power of Authority.pdf | 2011-09-03 |
| 14 | 1229-CHE-2011 ABSTRACT 09-04-2012.pdf | 2012-04-09 |
| 15 | 1229-CHE-2011 CORRESPONDENCE OTHERS 09-04-2012.pdf | 2012-04-09 |
| 15 | 1229-CHE-2011 CORRESPONDENCE OTHERS 29-07-2011.pdf | 2011-07-29 |
| 16 | abstract1229-CHE-2011.jpg | 2012-10-29 |
| 16 | 1229-CHE-2011 FORM-1 29-07-2011.pdf | 2011-07-29 |
| 17 | 1229-CHE-2011-FER.pdf | 2020-01-09 |
| 17 | 1229-CHE-2011 POWER OF ATTORNEY 29-07-2011.pdf | 2011-07-29 |
| 1 | INPASSSearchStrategy_28-11-2019.pdf |
| 1 | SearchStrategy_28-11-2019.pdf |
| 2 | INPASSSearchStrategy_28-11-2019.pdf |
| 2 | SearchStrategy_28-11-2019.pdf |