Algo trading systems need the right approach
There are two types of triggers: one is event-based, for example, an earning report can be a triggering event; the other is a technical trigger, such as a bear cross, which happens when the 50-day moving average crosses below the 200-day moving average. This is a technical sell signal. Both types of triggers can be used to execute strategies.
For the event-based trigger to work, the system may choose to subscribe to a news service that may supply 200-400 pieces of news a day. Users may choose to focus on a subset of news through a list of events of interest. A calendar module is needed to help prepare the list in advance.
Based on the list, a parsing module can be used to decipher news events. However, parsing news is only part of the job. Catching proper market reaction is much more difficult. For example, a beat on both top line and bottom line should result in a buy trigger. However, market reaction to the news is different in different times.
When JP Morgan reported better-than-expected earnings and revenue on April 14, 2010, the stock advanced 3.1% to $47.27. However, when the company reported better-than-expected earnings and revenue on July 15, 2010, it led to a 2.2% drop in the stock. Parsing news does not guarantee catching market reaction properly. JP Morgan is a bellwether stock, and a 2%-3% move in the stock affects major U.S. stock indexes. If a trading system cannot reliably catch market reactions to these events, it cannot be trusted.
This is where the human element thrives. Upon observation that JP Morgan advanced 11% the week before the July report, a trader may conclude that optimism has already been priced into the stock. In this case, JP Morgan would need much better-than-expected earnings for even further advancement. Behavioral finance is at work here. Behavioral finance combines cognitive, emotional factors with market statistics in making decisions. Behavioral finance at times plays an important role in forming direction. To account for this, human input is needed to determine buy or sell triggers.
A weight applied to a trigger is one way to accomplish this. When the weight is above system default triggering level, the trigger is executed. If the weight falls below the default triggering level, the trigger is in a "wait" state. A human operator can intervene at any time to alter the weight of the trigger. The weight is effective even after the trigger is executed. By strengthening or weakening the weight, a human operator can affect trading in action.
Assuming the system default triggering level is 0.6, the human operator can set the default weight for all triggers. Sensing market-wide optimism, the operator can set the default weight at 0.7. As a result, all triggering events as generated by the program will be executed as long as news parsing is satisfactory. Alternatively, if the operator believes the market is pessimistic, the default weight can be set to 0.5. Under this circumstance, trading is executed only when the operator adds weight to a selected set of triggers.
Note that weight still exists even after the trade is triggered. What is implied here is that the trade is always broken into a number of sub trades. The rule for breaking the trade is determined by the trading cost. Each sub trade is executed only when the weight is above the system default triggering level.
Take the JP Morgan trade. With lingering concerns about the European sovereign debt crisis and Federal Reserve concerns about the U.S. economy, the operator may choose to set the system default weight at 0.5. No trigger is executed without supervisor approval. If the operator decides that good earnings have already been priced in, the weight might remain as is. A buy is not triggered. Alternatively, if the operator assigns a weight of 0.7 for the stock, buying would be started as the earning news is parsed. Sensing a drop in price, the operator may lower the weight. No further trades are executed. With flexible weight intervention, the JP Morgan trade can be prevented or limited at various levels.
By breaking a trade into smaller sets of sub trades and controlling the weight, human traders exert influence on triggers. Because trades are indirectly controlled through triggers, traders must monitor both market and triggers. As a result, this design calls for a wider monitoring of indexes, stocks of interest, news flow, trading results and triggers. When confident, traders delegate trading to computers. In times of precaution, trades can be controlled.
Of course, all of this can fail if it is not executed in an orderly fashion. This calls for an optimized design.