The Ampersand

Strategy and Tips for the Hollywood Stock Exchange (HSX)

Making the Virtual Specialist Real — December 17, 1999

A few months ago, some enterprising soul on Ticker Talk (my thanks go out to you, but also my apologies, since I forget who you are) posted HSX’s patent application for the Virtual Specialist. As you may or may not know, the Virtual Specialist is HSX’s market trading program, which runs all aspects of trading on HSX. This includes all of the administrative stuff — making sure you get the shares that you bought, keeping track of your port, executing limit orders, etc. Which is all well and good, but rather boring.

More interestingly, the Virtual Specialist also does things like determine market price changes and maintain liquidity in the market. In this article, I’ll try to explain how it does so and what implications (if any) that has for traders. A word of caution: much of this discussion, while containing several tidbits that might be good for your edification if nothing else, will necessarily be dry and academic. It’s also 6 printed pages long, so you may want to take this one section at a time, or print it out and read it at your leisure.

First off, I should mention that the full text of the patent can be found here. I should also mention that the patent was filed March 25, 1996, so some of this information may be out of date. Most of it still seems consistent with the observable data, though.

What Happens When Traders Trade

All of us have probably been introduced to chuckage at one time or another. Chuckage is shorthand for the discrepancy between the price you are quoted at the confirm screen and the price you actually paid. For example, you might have noticed that MNICA had dipped to a new low of $0.69. You chug over to the broker box, type in MNICA and max and click buy, and the confirm screen says,
“Buy : 50,000 shares of MNICA at an estimated price of H$0.69?”
Excited, you hurriedly click Confirm, and you get the screen
“Order Receipt – Thank you for your order.
The Virtual Specialist is currently executing your order on the floor of the Hollywood Stock Exchange. Your portfolio will be updated within 5 minutes. Information about orders that cannot be processed due to insufficient funds or a trading halt can be found under your Transaction History. Check your Transaction History for final order confirmation.
Estimates are based on the last price of the security. The total amount debited depends on the price at the time of execution.”

When you then check your Transaction History, it might tell you that your transaction went through not at $0.69 like you were hoping, but at $1.69. Where did the extra $1 of chuck come from?

Well, this is what the patent has to say on the subject:

Block 206 is a decision block that represents the server computer 14 determining whether it received a request to submit a buy order from the client computer 12 for a particular derivative financial instrument, e.g., stock or bond. If so, block 208 represents the server computer 14 processing the buy order by placing it in a queue in the memory of the server computer 14. The buy order is a data structure comprising: trader’s account number; trader’s name; the time and date of the order; the stock or bond to buy; the cash balance in the trader’s account; a text-field where the trader may enter the total number to buy (generally in multiples of 100); The buy order waits in the queue for the expiration of a predetermined “sweep pricing cycle“. In the preferred embodiment, the sweep pricing cycle occurs every 15 minutes although other intervals could be used. The market price the trader actually pays for the derivative financial instrument is determined by the aggregate supply/demand for the derivative financial instrument at the end of the sweep pricing cycle during which the order was placed. The market price is set by the pricing/trading program executed by the server computer, which is described below in FIG. 3. The trader’s account is then charged the market price for the derivative financial instrument.

Basically, the point is that a stock’s price changes at set intervals (the patent suggests that they’re 15 minutes apart, but nowadays it’s probably around 3 minutes). At these intervals, the Virtual Specialist first determines the new price (based on the number of buys/sells taking place since the last interval) and only after that is done does it credit the transactions at the new price.

One thing to note is that all transactions done within the same interval get executed at the same price, regardless of what order they came in. For example, say many people have a sell limit order set on a bond adjust. If the bond price is not frozen, then, since all of their limit sells theoretically get triggered simultaneously (e.g., put into the queue), they should all get chucked the same amount. (This may or may not happen in practice, since checking for all of the limit orders and placing them into the queue takes some non-zero amount of time, and the pricing cycle might happen in the middle of it.)

Note also that this tells us how trading a price-frozen security affects the price movement after it is unfrozen. In particular, we see that it probably doesn’t. We know that price-frozen stocks still go through the pricing cycle mechanism, since transactions go through. I imagine that the only thing that changes in that cycle is that price-change algorithm is not triggered. Thus, when the stock is unfrozen, the transactions that occur within cycles that have already completed are no longer tallied.

This is consistent with actual results. If our theory is correct, one would expect that if a bond is frozen longer after adjust, more traders would sell it without affecting the price, and thus the “rebound” effect would be smaller. Based on my observations, this has generally been the case. For example, Annabeth Gish was frozen for about a week and a half after her adjust to $1667 for Double Jeopardy, and still languishes over the $1600 mark two months after the adjust, while Taye Diggs has already fallen $500 from his unfrozen $1125 adjust for House on Haunted Hill less than a month ago.

All of this naturally raises the question of how the price movements are calculated.

In measuring the imbalance between buy and sell orders, as represented by block 400, the absolute difference between the number of sells and the number of buys is defined as the net movement in sweep (NMS). A sweep increment variable (SIV) is defined as the increase or decrease in price caused by an incremental imbalance in the number of buy orders and sell orders. A lot movement variable (LMV) represents the incremental lot size that will result in a price increase or decrease of one SIV. The projected price movement (PM) can be expressed as: PM = (NMS/LMV)*SIV. For example, with 42,000 buy orders and 30,000 sell orders for a particular stock, the NMS = (42,000 – 30,000) = 12,000. With SIV = $ 0.25 and LMV = 5000, the price movement of the particular stock will be (12,000/5,000)*0.25 = $ 0.50. Thus, the market price of the particular stock will be $ 0.50 greater than the last trading price.

Mac has stated on several occasions that shorts/covers are treated exactly like buys/sells when it comes to pricing, so it would seem logical that HSX now calculates NMS using the formula Buys + Covers – Sells – Shorts. If NMS is positive, the Virtual Specialist increases the price in increments of the SIV, and vice versa. Note that the (NMS/LMV) seems to be a DIV operation instead of a straight ‘divided by’; that is, they drop the remainder when doing the division. Thus, if LMV is 50001 shares, and the net buy order during the last interval was 50000, there is no change in price. If the buy order were 50001, the price would change by 1 SIV. Based on observed price movements, it seems to me that SIV is different for each security, and is generally larger for more expensive securities. You’ll never see a $100 dollar stock move in increments of 1/8, for example. My guess is that a stock is given a new SIV daily (with each price reset) based on its price. Currently, it seems that SIV = 1/8 if the price is less than $30, 1/4 if the price is between $30 and $50, 3/8 if between $50 and $70, and 1/2 if higher. (I’ve noticed some exceptions for movies that are already released; I have no idea why.)

LMV is a harder variable to pin down. Its function, though, is pretty clear — it is the easiest way for HSX to fiddle with the volatility. Crank LMV up, and volatility slows to a crawl; drop it, and prices go wild. As HSX gets more and more traders, LMV probably goes up across the board. What is not clear, though, is whether LMV is different for different stocks. Honestly, I haven’t much of a clue. I can think of a few scenarios that they might have chosen. First off, LMV might be the same for all stocks. Another possibility is that it varies with trading activity – the most actively traded stocks have a higher LMV to protect against huge price swings. A third possibility is that LMV varies with price (higher priced items have higher LMVs), although this would seem to counteract the effects of the SIV scaling to some extent. I have, however, noticed that stocks priced under $1 move very infrequently (at least lately); perhaps LMV on those has recently been pushed higher to prevent wild percentage swings.

Behind-the-scenes Trading by the Virtual Specialist

The Virtual Specialist does more than just determine pricing, however. It also maintains its own portfolio (also called The Twins), which contains tons of every single security traded on HSX. This portfolio, and the trades made out of it, is probably the single biggest lever that HSX can use to influence the market.

You might know that there is not a set number of shares for a given security; the Virtual Specialist program is able to create enough shares out of thin air to meet the demand. The total number of shares of each security is called the ‘float’, and can be seen on the stock’s HSX profile page (ignore the ‘x1000′, though). This number can vary from one million to several hundred million shares, as new shares are created as more investors try to buy in. However, the number of shares created is not quite on a one-to-one ratio with shares demanded by traders. Rather, a certain portion of the buy orders are filled with shares from the Twins’ portfolio. At the end of each sweep pricing cycle, if the net movement is a certain number of buys, the Twins put a sell order for some of their shares in the queue for the next sweep pricing cycle. If the cycle generates a net sale, the Twins put in a buy order.

Here is how the Virtual Specialist determines how much to buy or sell:

Block 500 is a decision block that represents the server computer 14 determining whether or not the price movement during the sweep pricing cycle is greater or equal to an adjusted price movement threshold (APT). The APT is a constant in the memory of the server computer 14. If the APT is greater than the price movement, then the server computer 14 does not trade in the market. If the price movement is greater than or equal to the APT, then the server computer 14 trades out of a virtual specialist portfolio. The level of trading by the server computer 14 is determined by the amount that the price movement exceeded the APT. The greater the price movement, the more shares the server computer 14 trades to offset the price movement. In an exemplary embodiment of the present invention, the APT= 1.25 and the server computer 14 performs the following steps: if PM = APT then the server computer 14 matches 10% of unmatched shares; if PM = APT + 0.25 then the server computer 14 matches 20% of unmatched shares; if PM = APT + 0.50 then the server computer 14 matches 30% of unmatched shares; if PM = APT + 0.75 then the server computer 14 matches 40% of unmatched shares; if PM = APT + 1.0 then the server computer 14 matches 50% of unmatched shares; if PM = APT + 1.25 then the server computer 14 matches 60% of unmatched shares; if PM = APT + 1.50 then the server computer 14 matches 70% of unmatched shares; or if PM = APT + 1.75 then the server computer 14 matches 80% of unmatched shares. Block 502 represents the server computer 14 generating a buy or a sell order to offset the price movement. The buy or sell order generated by the server computer 14 is placed in the queue with the trader buy and sell orders to be processed during the next sweep cycle.

This general strategy still seems to be in place today. I checked the movement on recent IPO BUNNY. On December 8, its first day of trading, investors bought 11,218,331 (long) shares of BUNNY and shorted 356,000 shares : a total volume of 11,574,331 shares (I’ve subtracted the tiny number of sells and covers). However, the float listed on December 9 was only 7,346,573 shares, just 63% of the day one volume. What accounts for this discrepancy? My guess is that Twins have sold the difference of ~4 million shares due to their trading protocol, and that the procedure that calculates float somehow subtracts this figure from the total number of shares. Similarly, AEARH’s first non-zero float figure was 3,202,304, despite a total of 3,705,846 shares bought (and 948,667 shares shorted) on day one of trading. Unfortunately, HSX’s data server was made password-protected in the middle of my writing this article, so I was unable to track the data beyond the first day. Mac has long said that shorts and buys affect prices equally. However, examining the role of APT, one can tell how HSX might precipitate a panic even without adjusting the balance between longs and shorts or the market pricing mechanism described above. All they have to do is lower the APT for upward price movement and raise the APT for downward price movement. Thus, if trader net volume of a security during one pricing interval nudges the price of a security up even a little, the Twins automatically step in during the next interval and sell some of their stock, pushing the price back down. However, when market forces push the price down, the normal slight push back up by the twins does not occur, and the price stays down.

This would go a long way towards explaining why it is that the most actively traded stocks are the first ones to take a dive in any Twins-induced crash. If it’s just a regular day, price movements on most stocks will more or less balance out, some positive, some negative, and so will the Twins’ buys and sells. However, if the APT has been altered, the Twins will no longer buy their shares on the downward price ticks. The most active stocks are the ones with the most jiggles in price movement, and therefore the most behind-the-scenes Twins action. Thus, when HSX induces a crash, these securities are the ones that are deprived of the most Virtual Specialist buys, and hence fall fastest.

Of course, doggedly following this strategy might eventually get the Twins’ portfolio into a bind – it would run out of quickly-rising securities or get burdened with tons of a stock that was plummeting if there were no corrective mechanism. The patent therefore offers a way out:

In order to maintain a balanced virtual specialist portfolio, and provide some liquidity to the market, the server computer 14 generates additional buy and sell orders to offset orders generated in response to the price movement exceeding the APT. Block 504 represents the server computer 14 generating timed buy and sell orders. In one embodiment of the invention, the server computer 14 assess each stock and each bond in the virtual specialist portfolio. The server computer 14 determines the deficit or surplus in the item, and then place 1/288th of the deficit as a “timed recovery order” into each successive 15 minute segment for the next 3 days. When the pricing/trading program 255 matches buy and sell orders as represented by block 320, the pricing/trading program 255 includes any “timed recovery orders” outstanding for the last 3 days in the sweep. These orders are matched with the traders’ buy and sell orders.

Since the process of determining the deficit or surplus in each security on HSX takes some time, I assume that it’s done at most daily (probably at the same time that the prices and float totals are reset), perhaps only a couple times a week. Basically, this, combined with the first mechanism, lets the Virtual Specialist spread any sharp market movement over a few days. If there are some sudden spikes in the price of a stock one afternoon, the Twins sell off some of their shares according to the APT formula after each spike. These sales lessen the immediate impact of the price spikes, but create a deficit in the Twins’ portfolio. That night, when the deficit is discovered, the Virtual Specialist thus creates these timed recovery orders, which gradually buy back the shares that the Twins had sold off, and thus providing gradual upward pressure on the price.

 

What does this all mean?

So what practical advice can you, the average HSX trader, take away from all this theoretical blather? Well, not all that much, unfortunately. Here are a couple suggestions (your results may vary).

Don’t chuck yourself. I’m fairly confident (based on trial and error) that the lot movement variable (LMV) on most stocks is higher than 50,000. That is, one max trade in a single pricing cycle will not trigger a price change. However, if you are planning to switch your position from a long to a short, the combination of a max sell and a max short in the same pricing cycle would cause some chuck on both transactions. Thus, you might want to wait until the max sell shows up in your account history to do the max short. Similarly, if you have a sell and a short limit order on the same stock, you might want to make sure that they don’t go off at the same time. (Naturally, don’t follow this strategy if you think other investors might simultaneously be making the same trades as you.)

On a similar note, one should realize that an identical total of buys/covers and shorts/sells does not necessarily translate into a zero price change. First off, the numbers on data.hsx.com probably do not count Virtual Specialist transactions. Also, the concept of LMV relates price movement to the amount of shares traded in a non-linear way. As an extreme example, let’s say LMV on STCKX is 50,001. In the first pricing cycle of the day, 50,001 shares are sold, triggering a price drop. During each subsequent pricing cycle, there are exactly 50,000 shares bought, triggering no price changes. For the day, STCKX is down a little, even though the trades for the day are overwhelmingly on the plus side of the ledger. Basically, the Virtual Specialist’s pricing model rewards clumping – a bunch of buys spread out over many pricing cycles would cause less upward movement than the same amount of buys concentrated within the same pricing cycle.

Slightly more risky and harder to take advantage of, but potentially worth more, is this tidbit: Figure out which way the Twins are going, and for how long. This is, however, very difficult, since the evidence that we can use to figure out what the Twins are doing is very limited and circumstantial. We don’t have access to the HSX data server any more, so the only information available are the price fluctuations from HSB&R’s graphs.

However, there might be ways to ascertain the Twins’ leanings from just those graphs. If the Virtual Specialist were trying to replenish its supply of STCKX yesterday, what price pattern would show up? First off, we should note that any trader-induced market action in either direction would vastly outweigh the Twins’ effects. Thus, unless the market movement during peak trading hours (I’m guessing 5 AM – 9 PM Pacific/HSX Time) is random and doesn’t do much overall, we won’t be able to detect the Twins’ market presence. If that condition is satisfied, though, we should see some movements during the off-peak hours.

We should note that the Twins’ buys are not enough to cause price movement in and of themselves; periodically buying 1/288 of the deficit in their portfolio is nowhere near enough to cause upticks every 15 minutes. However, when combined with trader transactions, it just might do the trick. Consider: at night, transactions are fairly sparse. Usually, there will only be 1 transaction per cycle – if the LMV is just a tad over 50,000, then most cycles will go by without affecting the price. However, if we add the Virtual Specialist buys to one max trader buy in a cycle, that might be enough to top the LMV and cause a price hike. Thus, one would see a price jump for every buy, but no price change for a sell or short, and the trend would be upward. Once trading starts full scale, though, the Twins’ effects would then be unobservable in the mess of daytrading, much in the same way that stars are best viewed at night.

So, let’s say we saw yesterday’s graph for STCKX, and we noticed that between 12 and 4 in the morning Pacific/HSX Time, and again between 9 and 12 at night, the price trended up, whereas in between, the movement appeared random and didn’t do much of anything overall. If, in addition, we see that this trending did not occur during the late PM hours of the day before yesterday, but only started with the roll of the numbers, we might conclude that yesterday was the first day of a 3-day period of Twins’ buying. Thus, assuming there is no big movement today, we might guess that the Twins’ buying would happen again tonight, and buy in hoping to ride the trend.

Admittedly, there are a lot of assumptions built into these theories. I personally don’t care enough to take the time and energy to actually put my suggested techniques into practice, but if you do, I’d love to hear the results. Also, if you have any other theories for certain peculiar market behaviors (like why there always seems to be a crash after a stock is run up for a few days, or why MNICA used to rise sharply every morning before tapering off in the afternoon, back in the MNICA heyday of 1998), questions about other market peculiarities that I haven’t explored, or new ways to milk the knowledge of the Virtual Specialist for cash, I’d love to hear them: email me at dpr@hsbr.org. If there are enough, I’ll run them in a follow-up column… assuming, of course, that the Virtual Specialist doesn’t succumb to a certain 3-letter bug we all know and love. Happy New Year to you, too.


Posted by Ultimate Frisbee in Strategy Guide (January 1, 2007 at 8:59 pm) / Permalink

Comments: 0

No comments for Making the Virtual Specialist Real — December 17, 1999 »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

(required)

(required but not published)