Disclaimer: I am not an investment advisor. When I describe my own trading activities, it is not intended as advice or solicitation of any kind.

26 February 2011

CiG Finally Closed

As I mentioned in my previous post, the Collaboration-is-Good trade signalled a Buy on S&P Futures on Tuesday at the close.  This is a fade trade -- others might call it a mean-reverting trade, but it isn't really, since there is no "mean" we're reverting to.  By fade trade, I mean that it buys on strong dips of otherwise up-trending markets, and sells on strong rallies of otherwise down-trending markets.  So when S&P Futures shed 28 points on Tuesday after trending up quietly and strongly for months, CiG jumped on it. 

I bought S&P futures in my fake-money account at the close on Tuesday for 1314.50.  Wednesday close was 1305.25 (down another 9.50) and Thursday was 1302.25 (down another 3).  If I had simply held that position throughout that time, by Friday morning it would have been down $612.50 per contract, or about 11%.  But I didn't. 

Wednesday morning before the stock market opened, I saw the hard sell-off at 2am from the mess in Libya, and I decided that although futures had come mostly back that night, I should move my stop up to 1312.  Sure enough right after the open, the S&P sold off and hit my stop.  I got a little lucky on the execution, and sold it for 1312.25, saving $12.50/contract in losses.

By the close on Wednesday, the trade was still signalled, so I rebought at 1306, starting at -$112.50/contract.  Thursday was quieter, moving mostly sideways and a little down, and my trailing stop-loss of 10 points ($500/contract) was never hit.  It was still a down day, however, so the trade stayed signalled.

Friday morning, my tour de force of trading skill failed me.  I saw that the rally had finally started, and I wanted to set a closer stop before heading off to work.  Somehow I mis-entered the price, and instead of putting in a stop order to get me out on another big sell-off, I accidentally sold at the market, then 1311, for a reversal in fortune to +$137.50/contract.  Nice to have a profit, for sure, but I didn't want out at that point.

After arriving at the office, I kept an eye on the market and managed to buy back in at 1310 about an hour before the markets opened.  I then set a 5-point trailing stop, which is generally way too little room for this trade, but I was pretty skittish of the stock market by this time; and got to work on my day job.  Somewhere around 11am, after rallying all morning, there was a little market dip that closed me out at 1313, for another $150/contract.  I saw no reason to press my luck further, and closed the trade.

Total profit: $287.50/contract, or about 5% on margin capital.  If I had not been so skittish with my stop order on Friday, the close signal would have come in the afternoon at around 1318.75, profiting $575/contract, or about 10%.  On the other hand, my discretionary trading had a positive impact: if I had just bought on Wednesday afternoon and held on, the trade-prescribed 100-tick stop-loss would have just barely not kicked in at the low on Thursday, so my open-to-close profit would have been $225/contract.  So to recap, my discretionary trading was good, but I got a little more nervous on Friday than I should have.

Making the decision to violate the rules of a mechanical trade in real-time is always a tough judgement call.  Mechanical trades are useful for finding entry and exit points when an emotional human might not be able to pull the trigger on his own.  But blindly following them is not a long-term profitable decision -- despite my active trading behaviors, I believe in an efficient market most of the time.  In this context, that means that if there were a profitable mechanical trade out there, someone has already done it so much that it has been used up. 

By carefully considering whether now is the time to stray off the path laid out by the mechanical trade plan, and using the plan to question his decisions and lend some objectivity to their logic, an experienced trader can enhance his returns.  I'm not experienced enough to do that reliably, but in this case I had the help of NeighborTrader to reason out the pluses and minuses of each individual trading decision, and it worked out very well.

Collaboration, it seems, is indeed good.

22 February 2011

Some Trades Are More Frightening Than Others

Not Frightening
Over the weekend, the Collar trade was assigned on its QQQQ calls, meaning that my QQQQ position was closed out at 58.  After the events over the weekend, and the markets today, that ended up being a great trade all by itself (QQQQ closed today at 57.03, down 1.70 on the day).

The QQQQ Collar trade has been one of the few that I have been running with real money, and it has been going for about 18 months now.  Over the last 18 months we have had, overall, a pretty significant up-trend to the market; and a limited-profit trade like a collar is going to underperform during strong up-trend periods.  Sure enough, I've made some pretty good money in the collar trade: just under 16% in 18 months.  But if I had just bought QQQQ and held it, I would have had a much better return: close to 39% over the same period.  Despite this drastic underperformance, the trade is a success - it is a super-long-term trade, and in losing years, its losses are much more limited than a simple buy-and-hold.  If it had not underperformed, that would be a signal that something wasn't being hedged correctly.

This trade is not without its problems, however.  First, there is a great deal of subjectivity about what strikes to use for the covered calls and the protective put - I tried to solve this problem by setting some range parameters.  Next, I have been running this trade in an online broker that is geared more toward stock traders than option traders.  As a result, its commissions for options are terrible: $10.75 for a one-way one-lot option trade, vs the $1.50 I negotiated with thinkorswim.  When I'm doing 14 option trades a year, plus the fairly frequent assignment fee of $25 followed immediately by the need to repurchase the QQQQ outright for $7 flat, it gets expensive fast.  Finally, I have noticed that the time value on the about-to-be-front-month options drains significantly over expiry weekend.  But since my online broker is very touchy about naked short options, I have to choose between an expensive fee-to-price ratio rolling trade, or letting the premium disappear over the weekend.

Since the collar essentially closed itself out over the weekend, I decided now would be a good time to transfer its required capital to thinkorswim and run it there.  I may retain the stock/call/put configuration, or I may run an equivalent position of a simple bullish vertical option spread.  If I do that, I lose the calendar component of the 6-month put vs the 6 1-month calls, but I'm not convinced that component is valuable anyway.  In any case, I have some research to do before the money transfer settles.

Back to fake money, the CiG trade lit up like a Christmas tree today, thanks to those crazy Libyans.  S&P futures sold off 28 points or about 2%, which signalled a Buy at the close.  I have been bearish S&P for about 6 months (it has gained 300 points during that time) but this is a mechanical trade -- my viewpoint doesn't figure into it.  Have you ever tried to make yourself buy something when you don't believe in it and it has just sold off by 2%? It isn't easy.

The gold futures trade last month wasn't easy, either, but it turned out fine; by the law of single-datapoint-patterns, that means this one should be just fine too.  Nevertheless, NeighborTrader and I did have some vertiginous fun imagining that we were each managing million-dollar accounts and thus had to buy 100 futures knowing that each point would make or lose $5000.  That would make today a $140,000 losing day for that account, had it been long that amount.  I think I'm happier in fake money for now.

I also had a preliminary Sell signal setting up in Ten Year Note futures... we'll see what tomorrow brings on that one.

Somewhere in Between
Rounding out the flurry of activity today, the sudden market downturn made the volatility indexes pop about 4 points.  Everyone has heard of the VIX, which measures implied volatility in options on the S&P 500.  Since my iron condor trade is on Russell (RUT), I use the VIX's cousin: RVX.  Anyway, the 4 point pop in the RVX was just what I needed to get a better price on opening an iron condor position, since it is a negative-vega trade.  I put on the 760/770/900/910 April Iron Condor, for a credit of $3.25/share.  Pretty respectable, considering the low-IV environment we've had the last few weeks.  If the RVX is predictive, however, I'll be in for a roller coaster ride this month.

04 February 2011

Booting Custom ISOs with Syslinux / Memdisk

Last night I needed to run Seagate's diagnostic utility, SeaTools, against an old Maxtor drive so I could verify it as viable for installing a new NAS onto (more on that nightmare of a project in a different post).  Seagate worked against me on this, instead of with me.

They have a version that runs in Windows, but this machine doesn't have Windows.  It has FreeNAS (based on FreeBSD) on another drive, but I preferred not to have that drive hooked up during the testing.

They have a bootable CD image in the form of an ISO, but this machine doesn't have a CD-ROM.  They claim it runs FreeDOS, so I naively figured I could use UNetBootin to throw it on a USB drive and boot from that.  No dice.

To make a long story short, I managed to get it working with a combination of syslinux, memdisk, and vanilla FreeDOS.  But I had a lot of trouble finding the information I need online.  Most of what I found didn't apply to me (search for "boot usb iso linux" and all you get is how to install Linux from USB, not how to boot a custom ISO from USB and create it from Linux), and some of it was misleading (e.g. "you must format it with FAT, erasing the boot sector, but not with mkdosfs" -- wrong).

So here's what I did, and hopefully someone else will find this useful:

  1. Download UNetBootin, use it to install FreeDOS onto the USB drive straight from the GUI
  2. Install syslinux onto the USB drive
  3. Copy the memdisk bootloader onto the USB drive
  4. Download the SeaTools ISO and copy it onto the USB drive
  5. Create a file called syslinux.cfg with the contents below, and copy it onto the USB drive, replacing the one that UNetBootin put there
LABEL SeaTools
LINUX memdisk

This gave me a bootable USB drive that went straight into Seagate's custom-boot environment.  I reckon I can use this same trick to boot any DOS-based utility like this.

Here's the command transcript:

$ sudo apt-get install p7zip-full syslinux
$ wget http://downloads.sourceforge.net/project/unetbootin/UNetbootin/494/unetbootin-linux-494
$ chmod u+x unetbootin-linux-494
$ sudo ./unetbootin-linux-494
$ sudo syslinux /dev/sdc1
$ sudo mount /dev/sdc1 /mnt/usb
$ cp /usr/lib/syslinux/memdisk /mnt/usb
$ wget http://www.seagate.com/staticfiles/support/seatools/SeaToolsDOS222ALL.576.ISO
$ cp SeaToolsDOS222ALL.576.ISO /mnt/usb
$ cat - > syslinux.cfg
LABEL SeaTools
LINUX memdisk
$ sudo cp syslinux.cfg /mnt/usb
$ sudo umount /mnt/usb