<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2161930665176028995</id><updated>2012-02-16T06:18:54.300-08:00</updated><title type='text'>Dennis Chen's blog</title><subtitle type='html'>Blog description</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dennis-d-chen.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2161930665176028995/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dennis-d-chen.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Dennis Chen</name><uri>http://www.blogger.com/profile/13099327728577615823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2161930665176028995.post-4926366012038298842</id><published>2009-07-31T00:05:00.000-07:00</published><updated>2009-08-25T23:27:04.707-07:00</updated><title type='text'>Algorithmic Trading</title><content type='html'>Algorithmic Trading has been a hot topic for equity/derivative trading over a decade. Many ibanks and hedge funds have built their own algorithmic trading systems. Simply speaking, Algorithmic Trading System is an Artificial Intelligence(AI) System to simulate human traders' doing but it can do it much faster and manage much more orders. From the aspect of purposes, there are two types of Algorithmic Trading strategies(algo) in the market. One type of algo being used by hedge fund or proprietary trading, the ultimate goal is to "buy low and sell high". The performance of this type of algo is measured by trading profit from the round trip of buy and sell. The other type being used by agency broker to improve client order execution quality from one trip in buy or sell. The performance of this type of algo is measured by benchmarks, e.g VWAP, arrival price, close price etc..&lt;br /&gt;&lt;br /&gt;This article is to discuss some of the popular agency(broker) trading algo.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;1. Algorithmic Trading System&lt;/h2&gt;An algorithmic Trading System is usually quite complicate and can be built quite differently from one broker to another. However, if we break it down into functional areas, a typical Algo system usually consists of the following components&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_Gulst6G1BnY/SnKbweUSYtI/AAAAAAAAABc/SGLanfRfUuc/s1600-h/algo+system.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5364521363225862866" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 379px; CURSOR: hand; HEIGHT: 400px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_Gulst6G1BnY/SnKbweUSYtI/AAAAAAAAABc/SGLanfRfUuc/s400/algo+system.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;h3&gt;1.1 OMS(client orders)&lt;/h3&gt;OMS stands Order Management System and it is the place where client orders are held. OMS sends client orders(e.g. DSA orders) to Algo Engine for algo execution. Algo Engine works on the client order according to the instruction and sends executions and order status back to OMS.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;1.2 Historical Market Data&lt;/h3&gt;This is usually a DataBase system which stores the raw and/or summarised historical market data that can be requested by Algo Engine for strategy decision. Examples are volume curve, average bid/ask volume, average bid/ask spread etc..&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;1.3 Real Time Market Data&lt;/h3&gt;Algo trading systems requires the real time market data to drive most of the tradings. e.g. bid/ask price, bid/ask volume. Broker can get market data directly from exchange or through vendors such as Reuters or Bloomberg, Wombat etc..&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;1.4 Exchange Access&lt;/h3&gt;Usually, an Algo Engine wont connect directly to exchange, it can make use of an exchange interface server which is shared by other trading system(e.g. high touch system), providing the latency is acceptable.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;1.5 Algo Engine&lt;/h3&gt;This is the core part of the algo trading system, where the artificial intelligence is and where all the algo strategies store.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;2. Some Basic Algo Concepts&lt;/h2&gt;This chapter is to talk about some basic but important concepts in algorithmic trading&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;2.1 Market impact&lt;/h3&gt;The orders require algo trading are usually large quantity orders. Those orders are quite likely to have huge impact to the market if whole or large part of quantity is released in one shot. Market impact by the order itself can drag the stock price towards the unfavourable side. To prevent a huge market impact, algo systems usually send many "slices" into the market over a period of time.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;2.2 Passive Queuing&lt;/h3&gt;To improve execution price, a general approach is to queue the order passively in bid side(for buy orders) or ask side(for sell orders). This is to avoid paying the buy/sell spread. Take an example HSBC(00005.HK) as of now price is HK$70, buy/selll spread is HK$0.05 or 7.14 base points. Lots of brokers offer execution cost lower than 7 bases points these days, so order passive queuing can make a huge difference in the execution cost and profit making.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;2.3 Aggressiveness&lt;/h3&gt;There are usually two goals for an algo order:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. Price improvement.&lt;/strong&gt;&lt;br /&gt;the algo should try to seek price improvement. This implies the order should stay passive and avoid paying the spread&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Completion of the order.&lt;/strong&gt;&lt;br /&gt;The algo should execute as much as the quantity of the order as it can towards completion within a defined time. This implies the order need to go aggressive, execute faster and cross the spread if the volume done is behind the trade plan.&lt;br /&gt;&lt;br /&gt;As you can see these two goals are not always consistent. Especially when the market is moving away, they are actually in conflict. Most of algos will provide one or a few risk parameters for clients to control the aggressiveness of the algo orders to balance the need of these two goals.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;3. Strategies&lt;/h2&gt;Some commonly used broker strategies are discussed below&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;3.1 VWAP&lt;/h3&gt;A VWAP strategy is benchmarked against market VWAP or order timed VWAP. A well implemented VWAP strategy should meet or beat the marke VWAP over the long run by &lt;span style="TEXT-DECORATION: underline"&gt;average&lt;/span&gt;(but not in every case!)&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Implementation&lt;/h4&gt;As we discuss above, to avoid market impact, we need to "slice" the order over the day with a number of market orders. A VWAP strategy usually requires the 20-60 days averaged historical volume curve from a stock to construct the trade plan. Base on the trade plan, VWAP strategy will try to complete % of the order at certain point of time. The following is an example of VWAP trade plan:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_Gulst6G1BnY/SnKd3cK96lI/AAAAAAAAABk/00j5N3NspOI/s1600-h/VWAP+Curve.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5364523681932241490" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 307px; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_Gulst6G1BnY/SnKd3cK96lI/AAAAAAAAABk/00j5N3NspOI/s400/VWAP+Curve.jpg" border="0" /&gt;&lt;/a&gt; In theory, the VWAP strategy should follow the historical volume as much as possible since the VWAP algo philosophy is "history will repeat itself". On the other hand, we want price improvement and we need to queue order passively, but the timing of passive order execution is unpredictable since it is subject to some one else in market hitting your order. To allow certain time frame for passive orders to fill and enforce the volume curve to be followed to certain extent, we can define an aggressiveness factor. This aggressiveness factor is effectively of a % of volume of slippage. In the chart shown above, the black series shows the historical VWAP curve. The x axis is the % of the time span. The y axis is the % of the order volume we should complete. The yellow line shows when we should stop putting passive orders into market. The purple line shows when we should cross the spread to catch up when passive orders are not getting filled.&lt;br /&gt;Basically we allow a zone of between yellow and purple lines for the passive order to operate in.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;h3&gt;3. 2 TWAP&lt;/h3&gt;TWAP is similar to VWAP except the the trade plan is a straight linear line up such that it doesn't require historical volume curve. TWAP is used when trader believe that a stock doesnt have any volume pattern to follow, e.g. a low liquidity stock.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;3.3 POV&lt;/h3&gt;A POV strategy can be benchmarked against both&lt;br /&gt;order timed VWAP and arrival price. POV usually aims to execute a large order in a short time. The philosophy of POV is to "follow the crowd".&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Implementation&lt;/h4&gt;The implementation of POV is relatively simple. Basically the algo system needs to listen to market trade volume and make sure our order follows it. Again, to allow the effect of passive queueing, we can define an aggressiveness factor like VWAP to let passive orders to operate within certain range of slippage.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;3.4 IS&lt;/h3&gt;IS(Implementation Shortfall) strategy is benchmarked against arrival price. The goal of this strategy is try to execute the order at a price of close to(or better than) the arrival price.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Implementation&lt;/h4&gt;The implementation of IS is to execute large amount of order at very begining then slow down the execution gradually. The implementation can be similar to POV but with high participation rate at begining and low participation rate towards the end.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;"In the money" and "Out the money"&lt;/h4&gt;When the stock price goes the same as or better than arrival price, this is called "in the money"; while the opposite is called "out the money". Some people suggest that the algo should execute the order more when it is "in the money", while some people suggest the price factor should be totally ignored.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;3.5 MOC&lt;/h3&gt;MOC(Market On Close) is benchmarked against close price. The strategy is to execute the order when the time is close to market end and take full advantage of close auction(if any).&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Implementation&lt;/h4&gt;MOC order usually contains a POV constraint instruction e.g. "30% of market on close." Even no such constraint on the order, we should still follow the magic number of 30% of market unless the client instruction is "must complete". The implementation of MOC is to look at the historical average volume curve of the stock. if the order quantity is over 30% of the close volume, we should start execute the order before the close auction and try to keep below 30% of the market.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;3.6 SNIPER&lt;/h3&gt;A sniper strategy is quite simple. It doesn't queue any passive order in the market. You define the criteria yourself e.g. if best bid price &amp;gt; $100 and bid volume &amp;gt;5000, the algo will send a marketable order into the market when the criteria is met. SNIPER strategy is used for orders which client doesnt want to expose the intention of participation. Examples are those low liquidity stocks.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;4. Some Considerations and Techniques&lt;/h2&gt;The is chapter is to discuss some common considerations on algo execution and tecniques.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;4.1 Gaming&lt;/h3&gt;As of today, AI system is dumb as comparing to human brain. The merit of AI system is all about its speed, which translate to the capability of working on massive volume of data on a well defined and quantified domain. One consideration of algo implementation is to avoid the "dumb" AI system being gamed by other participants in the market. The techniques include(but not limit to) the following:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Avoid falling into a pattern. Add some randomness to your order slices and timing. Do not strictly follow an easy calculated formula. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Have some threshhold in price and/or volume of your order. Dont let the market lead your order to any price range, this is especiallly important for low liquidity stocks.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;With above, feel free to implement some alarm system to send alert to human trader if the market goes beyond your algo defined thresholds. This is when the human trader should consider pick up the order manually.&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;4.2 Spread Crossing&lt;/h3&gt;When market buy/sell spread is one price step, this is easy. But what if the buy/sell spread is as wide as 2+ price steps? When your order is falling behind the trade plan, do you cross multiple price spreads to catch up? This can be quite costly. Naturally, one might suggest that this can be done with price step by price step. e.g. post a passive order on best + 1 price step for a buy order and do so again if we don't get filled. One challenge of this&lt;br /&gt;implementation is the need of avoiding feedback loop. e.g. your best+1 order will change the best price in the market and which will drive your order send a new best + 1. The feedback loop effect will become worse when you have multiple orders of the same stock and same side, since each order will compete with other and quickly move the market price towards the unfavourable side.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;4.3 Multiple level queuing&lt;/h3&gt;Now we all know the benefit of passive queuing. To take this a step further, we can implement multiple passive orders to queue in different price level. The benefit is that we have further price improvement when market is moving rapidly towards us(e.g. someone in the market sending a market type of order to take out multiple price level of orders at your passive orders side). The cost of this is the implementation complexity plus you are telling the people in the market that "I am running an algo order".&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;4.4 Trading Risk&lt;/h3&gt;As any trading system, an algo system bears with trading risk and even more so than others for the obvious reason. Apart from testing perspective to make sure system is rock solid. There are a number of checks and thresholds that we can consider to implement to prevent an algo system go "rogue":&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;An abosulte price change vs close/open price. e.g. the aglo&lt;br /&gt;will only trade within 10% variation of the last close price.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;A "fair" price check. This can be done by some calculation&lt;br /&gt;with the combination of open price and last few price movement.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;ADV(Average Daily Volume) check. an order over 30% of this&lt;br /&gt;is considered to be risky and may need hand trading.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Trade frequency check. If a stock has only been traded average 10 times a day over the last month. Would you trust algo to trade it?&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;script language="javascript" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;h2&gt;5. Some Misconceptions on Algo&lt;/h2&gt;Algorithmic Trading System should be treated as a tool not a trader. It is good to know the strength and weakness where algo lies at.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;"A good algo system should always beat human trader"&lt;/h3&gt;Yes and no. Given an experienced human trader and a good algo system, and assign only one algo order(say a VWAP order) for them for a&lt;br /&gt;day, the human trader should beat the algo system. However, the human trader will struggle with 50+ VWAP orders, but a good algo system makes no difference of 1 order to hundreds of orders. The strength of algo system, just like any other computer system, lies at the processing power.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;"A good algo system should always beat market VWAP"&lt;/h3&gt;Not quite. Assuming doing VWAP orders, a good algo system doesn't beat&lt;br /&gt;market VWAP in every order(remember just like doing everything in real life, luck plays a factor here). However, a good algo system can beat market VWAP over the long run &lt;span style="TEXT-DECORATION: underline"&gt;by average&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;"A good algo system should work for low liquidity stocks"&lt;/h3&gt;As comparing to high liquidity stocks, an algo system usually&lt;br /&gt;perform poorly at low liquidity stocks, so be ready to take some risk. It's worth to mention SNIPER can work well with low liquidity stock, only if the target price is well defined.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2161930665176028995-4926366012038298842?l=dennis-d-chen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dennis-d-chen.blogspot.com/feeds/4926366012038298842/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dennis-d-chen.blogspot.com/2009/07/algorithmic-trading.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2161930665176028995/posts/default/4926366012038298842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2161930665176028995/posts/default/4926366012038298842'/><link rel='alternate' type='text/html' href='http://dennis-d-chen.blogspot.com/2009/07/algorithmic-trading.html' title='Algorithmic Trading'/><author><name>Dennis Chen</name><uri>http://www.blogger.com/profile/13099327728577615823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Gulst6G1BnY/SnKbweUSYtI/AAAAAAAAABc/SGLanfRfUuc/s72-c/algo+system.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2161930665176028995.post-253289885141170344</id><published>2009-07-07T02:08:00.000-07:00</published><updated>2009-07-07T02:09:52.283-07:00</updated><title type='text'>Electronic Trading</title><content type='html'>&lt;div align="left"&gt;This article is to discuss the operation model between Fund Managers(Client) and Broker Firms. They are usually referred as Buy Side and Sell Side.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;h1 align="center"&gt;High-Touch Model&lt;/h1&gt;&lt;div align="left"&gt;&lt;br /&gt;Traditionally, the Buy Side and Sell Side have been operating in the way of&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="left"&gt;&lt;span lang="EN-AU"&gt;Clients(fund managers) send order to sales trader. This can be by means of phone calling, email, FIX message or data exchanged through third party software.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;&lt;span lang="EN-AU"&gt;Sales Trader enters the orders into firms Order Management System(if its not electronically sent in) and assign them to different execution traders.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;&lt;span lang="EN-AU"&gt;Execution Trader(or Dealer) picks up the orders(and communicates to Sales Trader if necessary) and enter the order into Trader Workstation.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;&lt;span lang="EN-AU"&gt;The orders sent by Trader Workstation and get traded in exchange.&lt;?xml:namespace prefix = o /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div align="left"&gt;&lt;span lang="EN-AU"&gt;The diagram below illustrates the flow. Please note that it shows only the&lt;br /&gt;functional blocks. Some software system(such as &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Fidessa&lt;/span&gt;) combines both Sales Application and Dealer Trader Workstation into one GUI application.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://2.bp.blogspot.com/_Gulst6G1BnY/ShJIlsDrnFI/AAAAAAAAAAk/38FiO2q5DOk/s1600-h/High-Touch.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5337408320706419794" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 399px; CURSOR: hand; HEIGHT: 235px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_Gulst6G1BnY/ShJIlsDrnFI/AAAAAAAAAAk/38FiO2q5DOk/s400/High-Touch.jpg" border="0" /&gt; &lt;p align="center"&gt;&lt;/a&gt;&lt;br /&gt;(Click to view larger image)&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;The above flow is usually called High-Touch flow it requires broker firm to&lt;br /&gt;provide human intervention to the client orders.&lt;/p&gt;&lt;/span&gt;&lt;br /&gt;&lt;h1&gt;&lt;span lang="EN-AU"&gt;&lt;o:p&gt;Electronic Trading(Low Touch)&lt;/o:p&gt;&lt;/span&gt;&lt;/h1&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;Lately the concept of Electronic Trading has been popular and many broker firms have built the systems based on this concept to meet the changing client requirements:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Clients want more direct control on the orders in the exchange&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Clients want low latency trading on the competitive market&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Clients want the service of Algorithmic trading.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span lang="EN-AU"&gt;The diagram below shows a typical Electronic Trading System&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_Gulst6G1BnY/ShJKAMgdRqI/AAAAAAAAAAs/rSlyBootqrw/s1600-h/Low-Touch.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5337409875605276322" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 183px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_Gulst6G1BnY/ShJKAMgdRqI/AAAAAAAAAAs/rSlyBootqrw/s400/Low-Touch.jpg" border="0" /&gt; &lt;p align="center"&gt;&lt;/a&gt;(Click to view larger image)&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;&lt;o:p&gt;Some details about the flow:&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span lang="EN-AU"&gt;Client sends order through FIX protocol&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;The Client software can be from any vendor or house built, as long as it talks FIX protocol. Broker firm should discuss the support FIX versions with Client and usually some conformance tests should be done before going live.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;The broker FIX gateway receives the order and forwards it to FIX Router&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;FIX Router&lt;/h2&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;FIX Router needs to make a decision on where the order should be forward to. Subject to the system configuration and broker office setup, the FIX Gateway could be regional and OMS partitioning could be office or country specific. FIX Router needs to look at the instrument and client instruction to route order to specific OMS for next handling.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span lang="EN-AU"&gt;Electronic Desk Handling.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;An electronic order can go out to market without any human intervention from broker firm. &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;However, just like anything in life, it can go complicate:). Orders may run into some error state or failed Criteria Checks(Criteria Check is discussed in next section) due to various reasons, such as Client sends incorrect fields including unreasonable price/quantity, or even a bug in broker’s system itself. &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;This is when traders in Electronic Desk need to manually sort out the error by contacting Client if the error is in the order itself or broker firm’s support staff if the problem is in the broker firm system.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span lang="EN-AU"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span lang="EN-AU"&gt;Electronic Trading OMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;In addition to the traditional OMS functionalities which requires &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Showing the client order details&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Showing executions&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Operating on orders&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;An Electronic Trading OMS also needs to be able to perform&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Criteria Check&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Exception reporting and handling&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Order Routing&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Criteria Check&lt;/h3&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;Criteria Check is to prevent trading risk and meet the compliance requirement from stock exchange regulatory.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;Exception Reporting and Handling&lt;/h3&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;When an order has failed the criteria check or caused some internal system error, Electronic Desk needs to be informed immediately such that they can decide to inform client or remedy the problem in a timely fashion. &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;The last thing a broker firm wants to happen is to let the client find out the problem &lt;strong&gt;before&lt;/strong&gt; the broker firm do, which surely will upset the client and lose the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;firm's&lt;/span&gt; credibility. This is why Exception reporting and handling are important that can made or break the whole electronic trading system.&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;h4&gt;&lt;span lang="EN-AU"&gt;Presentation of the Exception:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;GUI alert to Electronic Desk&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Monitoring software notification to system support staff&lt;/span&gt;&lt;span lang="EN-AU"&gt; &lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;h4&gt;Severity of Exception&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Info&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Warning&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Error&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;&lt;span lang="EN-AU"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;DMA&lt;/span&gt; vs. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;DSA&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;A &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;DMA&lt;/span&gt; order goes straight into the market without any changes to the client order. &lt;/span&gt;&lt;span lang="EN-AU"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;DSA&lt;/span&gt; order will be routed to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Algo&lt;/span&gt; Server for strategy execution. Subject to the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;algo&lt;/span&gt; strategies offered by the broker firm, a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;DSA&lt;/span&gt; order can result in many “slices” of child orders to the market.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;span lang="EN-AU"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2161930665176028995-253289885141170344?l=dennis-d-chen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dennis-d-chen.blogspot.com/feeds/253289885141170344/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dennis-d-chen.blogspot.com/2009/07/electronic-trading_07.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2161930665176028995/posts/default/253289885141170344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2161930665176028995/posts/default/253289885141170344'/><link rel='alternate' type='text/html' href='http://dennis-d-chen.blogspot.com/2009/07/electronic-trading_07.html' title='Electronic Trading'/><author><name>Dennis Chen</name><uri>http://www.blogger.com/profile/13099327728577615823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Gulst6G1BnY/ShJIlsDrnFI/AAAAAAAAAAk/38FiO2q5DOk/s72-c/High-Touch.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2161930665176028995.post-6893660741235035169</id><published>2009-07-07T01:55:00.001-07:00</published><updated>2009-07-08T07:33:07.420-07:00</updated><title type='text'>Asia Stock Exchanges</title><content type='html'>hmm...Google blogger doesnt seem to be able to handle a slightly more complicate html file. The article is posted at this link below:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dennis4chen.wordpress.com/"&gt;&lt;span style="color:#cc6600;"&gt;Asia Stock Exchanges&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2161930665176028995-6893660741235035169?l=dennis-d-chen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dennis-d-chen.blogspot.com/feeds/6893660741235035169/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dennis-d-chen.blogspot.com/2009/07/asia-stock-exchanges.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2161930665176028995/posts/default/6893660741235035169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2161930665176028995/posts/default/6893660741235035169'/><link rel='alternate' type='text/html' href='http://dennis-d-chen.blogspot.com/2009/07/asia-stock-exchanges.html' title='Asia Stock Exchanges'/><author><name>Dennis Chen</name><uri>http://www.blogger.com/profile/13099327728577615823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2161930665176028995.post-8787021676154666046</id><published>2009-07-06T19:49:00.001-07:00</published><updated>2009-07-06T19:49:45.335-07:00</updated><title type='text'>Electronic Trading</title><content type='html'>&lt;div align="left"&gt;This article is to discuss the operation model between Fund Managers(Client) and Broker Firms. They are usually referred as Buy Side and Sell Side.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;h1 align="center"&gt;High-Touch Model&lt;/h1&gt;&lt;div align="left"&gt;&lt;br /&gt;Traditionally, the Buy Side and Sell Side have been operating in the way of&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="left"&gt;&lt;span lang="EN-AU"&gt;Clients(fund managers) send order to sales trader. This can be by means of phone calling, email, FIX message or data exchanged through third party software.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;&lt;span lang="EN-AU"&gt;Sales Trader enters the orders into firms Order Management System(if its not electronically sent in) and assign them to different execution traders.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;&lt;span lang="EN-AU"&gt;Execution Trader(or Dealer) picks up the orders(and communicates to Sales Trader if necessary) and enter the order into Trader Workstation.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;&lt;span lang="EN-AU"&gt;The orders sent by Trader Workstation and get traded in exchange.&lt;?xml:namespace prefix = o /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div align="left"&gt;&lt;span lang="EN-AU"&gt;The diagram below illustrates the flow. Please note that it shows only the&lt;br /&gt;functional blocks. Some software system(such as &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Fidessa&lt;/span&gt;) combines both Sales Application and Dealer Trader Workstation into one GUI application.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://2.bp.blogspot.com/_Gulst6G1BnY/ShJIlsDrnFI/AAAAAAAAAAk/38FiO2q5DOk/s1600-h/High-Touch.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5337408320706419794" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 399px; CURSOR: hand; HEIGHT: 235px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_Gulst6G1BnY/ShJIlsDrnFI/AAAAAAAAAAk/38FiO2q5DOk/s400/High-Touch.jpg" border="0" /&gt; &lt;p align="center"&gt;&lt;/a&gt;&lt;br /&gt;(Click to view larger image)&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;The above flow is usually called High-Touch flow it requires broker firm to&lt;br /&gt;provide human intervention to the client orders.&lt;/p&gt;&lt;/span&gt;&lt;br /&gt;&lt;h1&gt;&lt;span lang="EN-AU"&gt;&lt;o:p&gt;Electronic Trading(Low Touch)&lt;/o:p&gt;&lt;/span&gt;&lt;/h1&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;Lately the concept of Electronic Trading has been popular and many broker firms have built the systems based on this concept to meet the changing client requirements:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Clients want more direct control on the orders in the exchange&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Clients want low latency trading on the competitive market&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Clients want the service of Algorithmic trading.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span lang="EN-AU"&gt;The diagram below shows a typical Electronic Trading System&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_Gulst6G1BnY/ShJKAMgdRqI/AAAAAAAAAAs/rSlyBootqrw/s1600-h/Low-Touch.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5337409875605276322" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 183px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_Gulst6G1BnY/ShJKAMgdRqI/AAAAAAAAAAs/rSlyBootqrw/s400/Low-Touch.jpg" border="0" /&gt; &lt;p align="center"&gt;&lt;/a&gt;(Click to view larger image)&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;&lt;o:p&gt;Some details about the flow:&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span lang="EN-AU"&gt;Client sends order through FIX protocol&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;The Client software can be from any vendor or house built, as long as it talks FIX protocol. Broker firm should discuss the support FIX versions with Client and usually some conformance tests should be done before going live.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;The broker FIX gateway receives the order and forwards it to FIX Router&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;FIX Router&lt;/h2&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;FIX Router needs to make a decision on where the order should be forward to. Subject to the system configuration and broker office setup, the FIX Gateway could be regional and OMS partitioning could be office or country specific. FIX Router needs to look at the instrument and client instruction to route order to specific OMS for next handling.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span lang="EN-AU"&gt;Electronic Desk Handling.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;An electronic order can go out to market without any human intervention from broker firm. &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;However, just like anything in life, it can go complicate:). Orders may run into some error state or failed Criteria Checks(Criteria Check is discussed in next section) due to various reasons, such as Client sends incorrect fields including unreasonable price/quantity, or even a bug in broker’s system itself. &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;This is when traders in Electronic Desk need to manually sort out the error by contacting Client if the error is in the order itself or broker firm’s support staff if the problem is in the broker firm system.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span lang="EN-AU"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span lang="EN-AU"&gt;Electronic Trading OMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;In addition to the traditional OMS functionalities which requires &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Showing the client order details&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Showing executions&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Operating on orders&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;An Electronic Trading OMS also needs to be able to perform&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Criteria Check&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Exception reporting and handling&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Order Routing&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Criteria Check&lt;/h3&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;Criteria Check is to prevent trading risk and meet the compliance requirement from stock exchange regulatory.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;Exception Reporting and Handling&lt;/h3&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;When an order has failed the criteria check or caused some internal system error, Electronic Desk needs to be informed immediately such that they can decide to inform client or remedy the problem in a timely fashion. &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;The last thing a broker firm wants to happen is to let the client find out the problem &lt;strong&gt;before&lt;/strong&gt; the broker firm do, which surely will upset the client and lose the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;firm's&lt;/span&gt; credibility. This is why Exception reporting and handling are important that can made or break the whole electronic trading system.&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;h4&gt;&lt;span lang="EN-AU"&gt;Presentation of the Exception:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;GUI alert to Electronic Desk&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Monitoring software notification to system support staff&lt;/span&gt;&lt;span lang="EN-AU"&gt; &lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;h4&gt;Severity of Exception&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Info&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Warning&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Error&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;&lt;span lang="EN-AU"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;DMA&lt;/span&gt; vs. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;DSA&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;A &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;DMA&lt;/span&gt; order goes straight into the market without any changes to the client order. &lt;/span&gt;&lt;span lang="EN-AU"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;DSA&lt;/span&gt; order will be routed to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Algo&lt;/span&gt; Server for strategy execution. Subject to the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;algo&lt;/span&gt; strategies offered by the broker firm, a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;DSA&lt;/span&gt; order can result in many “slices” of child orders to the market.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;span lang="EN-AU"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2161930665176028995-8787021676154666046?l=dennis-d-chen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dennis-d-chen.blogspot.com/feeds/8787021676154666046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dennis-d-chen.blogspot.com/2009/07/electronic-trading.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2161930665176028995/posts/default/8787021676154666046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2161930665176028995/posts/default/8787021676154666046'/><link rel='alternate' type='text/html' href='http://dennis-d-chen.blogspot.com/2009/07/electronic-trading.html' title='Electronic Trading'/><author><name>Dennis Chen</name><uri>http://www.blogger.com/profile/13099327728577615823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Gulst6G1BnY/ShJIlsDrnFI/AAAAAAAAAAk/38FiO2q5DOk/s72-c/High-Touch.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2161930665176028995.post-7243817002047545928</id><published>2009-06-03T20:32:00.000-07:00</published><updated>2009-07-13T22:04:27.610-07:00</updated><title type='text'>Stock Exchange Simulator</title><content type='html'>&lt;h2&gt;Exchange Simulator&lt;/h2&gt;&lt;p&gt;Google project link: &lt;a href="http://code.google.com/p/webcurvesim/"&gt;http://code.google.com/p/webcurvesim/&lt;/a&gt;&lt;/p&gt;If you work for financial industry especially in Equity/Derivative trading area, often you may want a stock exchange simulator for your application testing. There are a few reasons for this:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The test exchange gateways provided by exchange may not be always available. e.g. some are not available after working hours or in the weekend.&lt;/li&gt;&lt;li&gt;The test exchange gateways provided by exchange are shared by other brokers and your testing may be interfered by other people.&lt;/li&gt;&lt;li&gt;An exchange simulator provides you the freedom of total controling when and how to use it since you own the simulator.&lt;/li&gt;&lt;li&gt;You could perform load testing on your application against the simulator where its usually prohibited on the test exchange since it might overload the system and affect testers from other brokers.&lt;/li&gt;&lt;li&gt;It's extreme useful for algorithmic trading testing due to&lt;/li&gt;&lt;/ul&gt;&lt;ol style="MARGIN-LEFT: 40px"&gt;&lt;li&gt;"you own the market" such that you could generate any scenario for your testing&lt;/li&gt;&lt;li&gt;you can replay the market data for your back testing and even play different strategies or same strategy with different parameters against the replay market to fine tune performance.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;h2&gt;Features&lt;/h2&gt;WebCurve simulator provides the following features for you with an open sourcelicense(its basically free, please read the license for details):&lt;br /&gt;&lt;ul&gt;&lt;li&gt;A set of core functions to simulate the exchange behavior.&lt;/li&gt;&lt;li&gt;A FIX gateway supported by QuickFIX/J for your FIX application testing&lt;/li&gt;&lt;li&gt;Market making simulation to provide a simulated market&lt;/li&gt;&lt;li&gt;Market replay function to support replay live market data&lt;/li&gt;&lt;/ul&gt;Known limitation&lt;br /&gt;&lt;ul&gt;&lt;li&gt;No stock, price, price step, lot size validation. This would require a huge database implementation.&lt;/li&gt;&lt;li&gt;Only support FIX 4.2. I am happy to implement other versions in a later stage if there are enough interest out there.&lt;/li&gt;&lt;li&gt;Webecurvesim.jar provides a generic interface to java 6/5/1/1.4.2. The sample programs main()s are written and compiled with java 5 so you need to get java 5/6 runtime to play. If your application is at 1.4.x, you are stillable to the webcurvesim.jar lib but just need to write your interface program in 1.4.x way.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;There are 4 sample programs come with this bundle which demonstrate how WebCurve simulator works. Feel free to contact me at &lt;a href="mailto:dennis_d_chen@yahoo.com"&gt;dennis_d_chen@yahoo.com&lt;/a&gt; if you have any questions or want to see any features to add.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Samples Programs&lt;/h2&gt;Please unzip webcurvesim.zip to a directory. You can find 4 windows batchfiles test1.bat, test2.bat, exchange.bat and trade.bat. Unix users should find it simple to convert them into shell scripts.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Test1&lt;/h3&gt;This demonstrates how to use the core Exchange class and OrderBook class in a basic way.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Test2&lt;/h3&gt;This demonstrates how to get order and trade updates in a call back way.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Exchange&lt;/h3&gt;This demonstrates the exchange simulator in a GUI application with the following features&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Order transaction in interactive way&lt;/li&gt;&lt;li&gt;Market activity simulation&lt;/li&gt;&lt;li&gt;Market replay&lt;/li&gt;&lt;li&gt;Serves as a FIX gateway server(see next)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;Trade&lt;/h3&gt;&lt;p&gt;This demonstrates how a simple OMS system interacts with exchange simulator through FIX 4.2 protocol. This sample program requires the above &lt;strong&gt;Exchange&lt;/strong&gt; sample program running as server. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold; TEXT-DECORATION: underline"&gt;Usage&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Create client orders(parent order) with "Enter Order" button.&lt;/li&gt;&lt;li&gt;Select one or many client orders then send child orders with "Split Order" button.&lt;/li&gt;&lt;li&gt;Amend client order or child order with "Amend Order" button. Only allow amend down quantity and amend price.&lt;/li&gt;&lt;li&gt;Cancel client order or child order with "Cancel Order" button.&lt;/li&gt;&lt;/ul&gt;&lt;span style="FONT-WEIGHT: bold; TEXT-DECORATION: underline"&gt;Known issues&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;No quantity check between parent orders and child orders. It is possible to overfill order.&lt;/li&gt;&lt;li&gt;Some time you may hit some GUI refresh problems when expanding the order tree.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h2&gt;Dependent Packages&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;QuickFIX/J&lt;/li&gt;&lt;li&gt;Appache MINA required by QuickFIX&lt;/li&gt;&lt;li&gt;SF4J&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;Contact Me&lt;/h2&gt;Author: &lt;a href="mailto:dennis_d_chen@yhoo.com"&gt;mailto:dennis_d_chen@yhoo.com&lt;/a&gt;&lt;br /&gt;Feel free to contact me if you have any comments/questions/suggestions.&lt;br /&gt;&lt;h2&gt;Release History&lt;/h2&gt;r1.0.0 first release on 3 June 2009&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2161930665176028995-7243817002047545928?l=dennis-d-chen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dennis-d-chen.blogspot.com/feeds/7243817002047545928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dennis-d-chen.blogspot.com/2009/06/stock-exchange-simulator.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2161930665176028995/posts/default/7243817002047545928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2161930665176028995/posts/default/7243817002047545928'/><link rel='alternate' type='text/html' href='http://dennis-d-chen.blogspot.com/2009/06/stock-exchange-simulator.html' title='Stock Exchange Simulator'/><author><name>Dennis Chen</name><uri>http://www.blogger.com/profile/13099327728577615823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2161930665176028995.post-3121855242039257965</id><published>2009-05-18T22:14:00.000-07:00</published><updated>2009-06-02T20:58:19.888-07:00</updated><title type='text'>Electronic Trading</title><content type='html'>&lt;div align="left"&gt;This article is to discuss the operation model between Fund Managers(Client) and Broker Firms. They are usually referred as Buy Side and Sell Side.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;h1 align="center"&gt;High-Touch Model&lt;/h1&gt;&lt;div align="left"&gt;&lt;br /&gt;Traditionally, the Buy Side and Sell Side have been operating in the way of&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="left"&gt;&lt;span lang="EN-AU"&gt;Clients(fund managers) send order to sales trader. This can be by means of phone calling, email, FIX message or data exchanged through third party software.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;&lt;span lang="EN-AU"&gt;Sales Trader enters the orders into firms Order Management System(if its not electronically sent in) and assign them to different execution traders.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;&lt;span lang="EN-AU"&gt;Execution Trader(or Dealer) picks up the orders(and communicates to Sales Trader if necessary) and enter the order into Trader Workstation.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;&lt;span lang="EN-AU"&gt;The orders sent by Trader Workstation and get traded in exchange.&lt;?xml:namespace prefix = o /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div align="left"&gt;&lt;span lang="EN-AU"&gt;The diagram below illustrates the flow. Please note that it shows only the&lt;br /&gt;functional blocks. Some software system(such as &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Fidessa&lt;/span&gt;) combines both Sales Application and Dealer Trader Workstation into one GUI application.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://2.bp.blogspot.com/_Gulst6G1BnY/ShJIlsDrnFI/AAAAAAAAAAk/38FiO2q5DOk/s1600-h/High-Touch.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5337408320706419794" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 399px; CURSOR: hand; HEIGHT: 235px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_Gulst6G1BnY/ShJIlsDrnFI/AAAAAAAAAAk/38FiO2q5DOk/s400/High-Touch.jpg" border="0" /&gt; &lt;p align="center"&gt;&lt;/a&gt;&lt;br /&gt;(Click to view larger image)&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;The above flow is usually called High-Touch flow it requires broker firm to&lt;br /&gt;provide human intervention to the client orders.&lt;/p&gt;&lt;/span&gt;&lt;br /&gt;&lt;h1&gt;&lt;span lang="EN-AU"&gt;&lt;o:p&gt;Electronic Trading(Low Touch)&lt;/o:p&gt;&lt;/span&gt;&lt;/h1&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;Lately the concept of Electronic Trading has been popular and many broker firms have built the systems based on this concept to meet the changing client requirements:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Clients want more direct control on the orders in the exchange&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Clients want low latency trading on the competitive market&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Clients want the service of Algorithmic trading.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span lang="EN-AU"&gt;The diagram below shows a typical Electronic Trading System&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_Gulst6G1BnY/ShJKAMgdRqI/AAAAAAAAAAs/rSlyBootqrw/s1600-h/Low-Touch.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5337409875605276322" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 183px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_Gulst6G1BnY/ShJKAMgdRqI/AAAAAAAAAAs/rSlyBootqrw/s400/Low-Touch.jpg" border="0" /&gt; &lt;p align="center"&gt;&lt;/a&gt;(Click to view larger image)&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;&lt;o:p&gt;Some details about the flow:&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span lang="EN-AU"&gt;Client sends order through FIX protocol&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;The Client software can be from any vendor or house built, as long as it talks FIX protocol. Broker firm should discuss the support FIX versions with Client and usually some conformance tests should be done before going live.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;The broker FIX gateway receives the order and forwards it to FIX Router&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;FIX Router&lt;/h2&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;FIX Router needs to make a decision on where the order should be forward to. Subject to the system configuration and broker office setup, the FIX Gateway could be regional and OMS partitioning could be office or country specific. FIX Router needs to look at the instrument and client instruction to route order to specific OMS for next handling.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span lang="EN-AU"&gt;Electronic Desk Handling.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;An electronic order can go out to market without any human intervention from broker firm. &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;However, just like anything in life, it can go complicate:). Orders may run into some error state or failed Criteria Checks(Criteria Check is discussed in next section) due to various reasons, such as Client sends incorrect fields including unreasonable price/quantity, or even a bug in broker’s system itself. &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;This is when traders in Electronic Desk need to manually sort out the error by contacting Client if the error is in the order itself or broker firm’s support staff if the problem is in the broker firm system.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span lang="EN-AU"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span lang="EN-AU"&gt;Electronic Trading OMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;In addition to the traditional OMS functionalities which requires &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Showing the client order details&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Showing executions&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Operating on orders&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;An Electronic Trading OMS also needs to be able to perform&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Criteria Check&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Exception reporting and handling&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Order Routing&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Criteria Check&lt;/h3&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;Criteria Check is to prevent trading risk and meet the compliance requirement from stock exchange regulatory.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;Exception Reporting and Handling&lt;/h3&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;When an order has failed the criteria check or caused some internal system error, Electronic Desk needs to be informed immediately such that they can decide to inform client or remedy the problem in a timely fashion. &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;The last thing a broker firm wants to happen is to let the client find out the problem &lt;strong&gt;before&lt;/strong&gt; the broker firm do, which surely will upset the client and lose the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;firm's&lt;/span&gt; credibility. This is why Exception reporting and handling are important that can made or break the whole electronic trading system.&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;h4&gt;&lt;span lang="EN-AU"&gt;Presentation of the Exception:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;GUI alert to Electronic Desk&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Monitoring software notification to system support staff&lt;/span&gt;&lt;span lang="EN-AU"&gt; &lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;h4&gt;Severity of Exception&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Info&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Warning&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-AU"&gt;Error&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;&lt;span lang="EN-AU"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;DMA&lt;/span&gt; vs. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;DSA&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;A &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;DMA&lt;/span&gt; order goes straight into the market without any changes to the client order. &lt;/span&gt;&lt;span lang="EN-AU"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;DSA&lt;/span&gt; order will be routed to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Algo&lt;/span&gt; Server for strategy execution. Subject to the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;algo&lt;/span&gt; strategies offered by the broker firm, a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;DSA&lt;/span&gt; order can result in many “slices” of child orders to the market.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-AU"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;span lang="EN-AU"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2161930665176028995-3121855242039257965?l=dennis-d-chen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dennis-d-chen.blogspot.com/feeds/3121855242039257965/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dennis-d-chen.blogspot.com/2009/05/electronic-trading.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2161930665176028995/posts/default/3121855242039257965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2161930665176028995/posts/default/3121855242039257965'/><link rel='alternate' type='text/html' href='http://dennis-d-chen.blogspot.com/2009/05/electronic-trading.html' title='Electronic Trading'/><author><name>Dennis Chen</name><uri>http://www.blogger.com/profile/13099327728577615823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Gulst6G1BnY/ShJIlsDrnFI/AAAAAAAAAAk/38FiO2q5DOk/s72-c/High-Touch.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
