Wednesday, June 23, 2010

Selling Puts Vs. Selling Calls (Options Strategies)

This discussion outlines some of the simple differences between selling puts and selling calls.  To start with, it is good to understand that options trading, stock trading, and investing in the stock market can be risky.  Because of this risk, most investment houses require individual investors to use either covered calls, or cash covered puts.  

This article will focus on the situation where an investor is limited to 100% covered calls, and 100% cash covered puts.  Investors that are willing to assume more risk and leverage should take the quantitative principles outlined here, and apply them to the more highly leveraged margin based naked puts and naked calls.

Quick background:
First a quick refresher on buying and selling call and put options. With options there are basically 4 positions that you can take:
  • long the call option - in this case you are buying a contract that gives you the right to purchase an underlying on or before a future date at a predetermined ‘strike ’ price. You give up some money so that you can hold this right.
  • short the call option - in this case you are the party that sells a contract which gives someone else the right to purchase (from you) an underlying on or before a future date at the strike price.
  • long the put option - in this case you are buying a contract that gives you the right, but not the obligation, to sell an underlying on or before a future date at the strike price.
  • short the put option - in this case you are selling to someone else a contract that gives them the right, but not the obligation, to sell an underlying (to you) on or before a future date at the strike price.
Each of the four options mentioned above can be either in or out of the money.

 In order to fully understand Covered Calls, please see the article:
Buy-Write or Covered Call Strategy Analysis

Ground Rules:
Based on the ground rules which will be enforced here, an investor wanting to engage in selling calls will have to make 2 transactions each time he/she enters into the contract.  The investor will have to buy n*100 shares of a given stock or ETF, and sell n call contracts against it.  Some brokerage houses will actually make this a single atomic transaction.

Covered Call Outcomes:
  1. Stock price stays below the call strike price.  The option expires worthless, and the investor keeps the proceeds.
  2. Stock price moves above the call strike price, and the investor is forced to sell the stock at the strike price to a counter party.

In case 1, if the stock price remains relatively unchanged, then the investor did good because he/she generated cash flow from the owning of a stock.

In case 2, the investor did ok because he/she made money.  Which is good.

There is also a 3rd case, the stock drops in price.  This is the worst possible case because due to the investors long-stock position, the investor will loose money.

This position has 2 somewhat unfortunate issues, the first is that a strong bull market will outperform a covered call strategy, and in a bear market, an investor will only have the protection of the premium generated from the sale of the call. 

The maximum upside is the capital gain from the stock plus the proceeds from the sale of the call option.

In a very strong bull market, it is difficult to get out of this position before expiry.   What that means is that you may have a large amount of cash "tied up" and waiting for expiry.

Cash Covered Put:

Here one is selling a put, and using "Cash" to back the contract.  In this case, only 1 trade is required, that trade is the sale of n put contracts. 

This position allows an investor to exit the position very easily in a bull market because the investor can buy back the put cheaply in the event of a bull market, and if desired immediately re-sell another n put contracts with a higher strike price.  Because of this, this strategy does not have the opportunity cost associated with being forced hold an strategy until expiry.

Issue: in a strong bear market, this investor is forced to "buy" a depressed stock above the fair market value. 

Strategies to "Hedge" against a bear market include selling in-the-money puts, and buying out-of-the money puts.  This allows the investor to capitalize on the bull market, while protecting from a bear situation.

Concrete example:
6/22/2010:
Sell 4 contracts of Ford with a strike price of 12.00 USD,
Buy 4 contracts of Ford with a strike price of 10.00 USD,

Cash IN       292.98 (76 *4 - commission)
Cash OUT     44.01 (9*4 + commission)

At Expiry, the payout will exactly match the "intrinsic" value of the position:
Therefore, the maximum profit will be  292.98 - 44.01 = 248.97
The maximum loss will be 800.00 - 248.97 = 551.03

Max Profit:  248.97
Max Lost:    551.03

However, with options, at any time before expiry, the maximum loss will be less than 551.03 because as the stock price drops the put with a strike price of $12.00 will approach the intrinsic value, whereas the put option with a strike price of $10.00 will be composed mostly of its implied volatility value.

Of course as an investor if you find yourself in a position where the stock has taken a loss, you will have to make the decision to "close" out the position at a loss before expiry to ensure that you don't get caught with the maximum lost of 551.03.

Wednesday, March 03, 2010

Quick Notes and Tips On VMware Tuning

This is by no means a comprehensive of detailed list of tuning of a VM running in VMWare's ESX server.  However, I wanted to add a couple of hints or tips that others my find useful.

Windows as the Guest OS:
  •  High Context Switching:  If you are experiencing high context switching, it is best to try to understand why.  Several Things can cause this:
    • COM+ calls to out of process COM+ servers
      You may want to sacrifice memory and security by making the COM+ server an in-process call. This can reduce context switches.
    • System Calls
      Not much you can do here. 
    • Large Numbers of Threads running
      Reduce the number of threads that are servicing requests, for IIS you can just reduce threads, for a home grown application this will be done progromatically and should be configurable.
    • Page Faults
      This is a tricky one:  you may want to understand your "Working Set" size and ensure that your applications "Working Set" size is set large enough to accomodate all memory pages. Windows uses a 4K page Size or 4096 bytes per page, and working sets by default hold about 300 or so pages of memory.
ALL Virtulization Environments:
  • Disable all Screensavers, animations, or Xservers on Linux or windows.  Any background processing will be counted by VMware's virtulization statistics.  This also means that you should have any Virus Scanners well-tuned such that you are not doing on-access demain scanning for known secure directories.
  • Disconnect all unused devices on both the host and guest operating system.
  • CPU Bound Applications:  for applications that are CPU bound, CPU Virtulization will cause a degradation in performance.  For applications that are not CPU bound CPU Virtulization will have little perfromance degradation.
    • Use the minimum number of Virtual CPUs possible.
    • Note that in some guest operating systems, the Idle loop (nothing on the processor) still counts against that Virtual CPU in the VMware CPU statistics.
    • Multithreaded applications - Pin guest threasd or processes to Virtual CPUs.
    • Monitor the Idle Loop Spin Parameter.
    • Monitor the Service Console Activity with esxtop.
  • Memory Overhead
    • Virtulization Translation Activities.  OS (the guest os) will abstract memory for each process.   When the process needs to access memory, it will request that memory.  Here is the High level of what happens:
      • Request memory -> translate to Relative Page.
      • Guest OS Segments page -> get OS's physical Address.
      • VMWare translates OS's physical -> Get Real Physical Page.
    • Usage Overhead.  
      • Service Console uses < 300M.
      • VMWare kernal  uses a small amount of memory for various data structures.
    • Host memory Sizing - make sure that the host OS has more physical memory than all the ESX overhead plus the maximum of all the working set sizes of all the running applications in all the VMs.
    • Allocate Enough memory to each VM to hold all the workings sets of all the applications that will be run in that VM.
    • If Over Committed Memory is too large, the ESX sever may start swapping.  This will degrade performance significantly.
These are just some of the simple low-haning fruit.
VMWare has published a very comprehensive document:
www.vmware.com/pdf/vi_performance_tuning.pdf


    Friday, February 19, 2010

    Buy-Write Options Strategy (AKA Covered Call)

    The Buy-Write Options strategy (AKA covered call) is starting to gain some attention again.  The reason it is starting to gain attention again is because it is effective at reducing the impact of a bear market on your overall portfolio value, and because it is highly effective at generating cash flow during a neutral market.  The strategy will however consistently under perform the market during a bull run.

    Advantages of the Covered Call:

    • Generate Cash Flow from your long portfolio.
    • Reduce the effect of market volatility
    • Reduce your un-realized losses during a bear market.

    The strategy amounts to 2 simple steps:


    1. Buy N 100 share blocks of the stock where N is some integer 1 or more. This will obviously depend on how much money you have to invest. Some stocks that trade for 5 dollars will only cost you 500 dollars per block, while other stocks like Berkshire Hathaway will cost 11,000,010.00 per 100 share block as it is trading at 110,000.10 per share at the time of this writing. Also, just for completness BRK-A does not have exchange traded options written against it.
    2. Sell N Call contracts against the stock or ETF you just purchased, where N is the number of blocks you bought. The selling of the call will generate cash (put money into your account). However, if the call expires in the money you will be forced to sell the N blocks of stock you just bought.
     The image below shows the maximum profit that the portfolio can achieve during a "bull run" which shows the significant limitations of the strategy in a bull market.

    This posting is intended to wet your appetite for understanding the Buy-Write strategy.
    Much greater detailed discussion is presented at:
    Quantprinciple's Buy-Write/Covered Call Strategy

    And of course if you like the article, please digg it: http://digg.com/d31JMd3


    Q. Boiler

    Thursday, February 04, 2010

    A solution to the VirtualBox Under Linux Running a Windows Server 2003 Hangs

    VirtualBox is Free, runs on Windows, Linux, Mac, and other OSes.  Virtual box is lightweight and has some other nice features.  

    Using Sun's virtual box (Sun is no more, Sun got engulfed by Oracle) on Linux to run a Windows 2003 Server, I was not able to get the Server to start up.  The Server Windows 2003 VM would just hang when I pressed the run button.  So after searching a bit, I stumbled on the solution.  I am posting it back to this blog just to make it a bit easier to find the solution for others.


    The solution to this hang issue is to make sure that you check the "Enable IO APIC" box.  To find this box, go to:
    Settings -> Select "System" in the left -> "Motherboard" tab
    See the attached image: