Saturday, June 4, 2011

why no early exercise of American option (my take

Suppose you have a microsoft American-style call, expiring end of next month, K = $20. You believe microsoft will drop to $19. Let me convince you that you should hold to expiration and never exercise the call.

(Assumptions: no dividend; short selling is nearly interest-free)

Strategy 1 (naive): exercise the call now and immediately sell the 100 shares for $2467. Hurry before it drops! Realized profit of $467. You get the intrinsic value and give up the time value.

Strategy 2 (slightly better): sell the call option immediately. You get (intrinsicValue + timeValue). This realized profit definitely exceeds intrinsicValue of $467. Why? Before expiration, a call is worth at least (underlyingSpotPrice - strikePrice) or (S - K) i.e. the intrinsic value. Remember in-the-money call option always sells slightly [1] above (S - K). Therefore it's always always always better to sell the option rather than exercise it then sell the shares. But should you sell it *now* because you feel Microsoft will drop to $19 by the expiration date?

Strategy 4 (recommended): short sell 100 shares at $24.67, and keep the call to limit potential shortfall.
If indeed $19 on expiration day, short earns $567. call expires worthless. At expiration,
If S@T = $20.01, profit = $466 (short) + (call) $1 = $467 realized at T i.e. expiration.
if S@T = $24.67 same as today, then your short-sell breaks even, but the American call earns $467.

Now let's try another perspective -- forget about expiration scenarios. Look at price movements after your short sell. As of today, when spot = $24.67, unrealized profit = ($0 from the short + value of the call). intrinsicVal + timeVal is above intrinsicVal of (S - K = $467).

- Tomorrow, if MSFT edges above $20 (ie K), the short position has an unrealized profit just below $467, but together with the call, total unrealized profit will exceed $467.
short's unrealized profit might be $466 (assuming S = 20.01)
intrinsicVal = $1
timeVal = some positive value
- Tomorrow, if MSFT is below $20,  the short alone would generate an unrealized profit exceeding $467.

==> Therefore, the short position + the call is better than $467 cash. Therefore, you should never exercise that American option (under above ASSUMPTIONS). Therefore the American call option and European version have identical values.

Strategy 3 (Reckless): sell the option and short the stock. You lose the protection from the option. If MSFT rises after your short sell, you would need the option to cover your losses. (Under those opening ASSUMPTIONS) Don't exercise and don't sell due to your view on the stock. I guess you should sell the option if you feel vol is going to drop.

[1] if volatility is assumed 0, then the gap (ie time value) would be 0

Update -- I always feel compared to an European option, an American option has an element of  timing, surprise and flexibility -- when the market condition is right, the owner should cash in. Now I feel there is indeed a time to sell -- when implied volatility is higher than reasonable, then you should sell the option, but not exercise it. However this applies to European options too.

No comments:

Total Pageviews

my favorite topics (labels)

_fuxi (302) _misLabel (13) _orig? (3) _rm (2) _vague (2) clarified (58) cpp (39) cpp_const (22) cpp_real (76) cpp/java/c# (101) cppBig4 (54) cppSmartPtr (35) cppSTL (33) cppSTL_itr (27) cppSTL_real (26) cppTemplate (28) creditMkt (14) db (65) db_sybase (43) deepUnder (31) dotnet (20) ECN (27) econ/bank` (36) fin/sys_misc (43) finGreek (34) finReal (45) finRisk (30) finTechDesign (46) finTechMisc (32) finVol (66) FixedIncom (28) fMath (7) fMathOption (33) fMathStoch (67) forex (39) gr8IV_Q (46) GTD_skill (15) GUI_event (30) inMemDB (42) intuit_math (41) intuitFinance (57) javaMisc (68) javaServerSide (13) lambda/delegate (22) marketData (28) math (10) mathStat (55) memIssue (8) memMgmt (66) metaProgram` (6) OO_Design (84) original_content (749) polymorphic/vptr (40) productive (21) ptr/ref (48) py (28) reflect (8) script`/unix (82) socket/stream (39) subquery/join (30) subvert (13) swing/wpf (9) sysProgram` (16) thread (164) thread_CAS (15) thread_cpp (28) Thread* (22) timeSaver (80) transactional (23) tune (24) tuneDB (40) tuneLatency (30) z_ajax (9) z_algoDataStruct (41) z_arch (26) z_arch_job (27) z_automateTest (17) z_autoTrad` (19) z_bestPractice (39) z_bold (83) z_bondMath (35) z_book (18) z_boost (19) z_byRef^Val (32) z_c#GUI (43) z_c#misc (80) z_cast/convert (28) z_container (67) z_cStr/arr (39) z_Favorite* (8) z_FIX (15) z_forex (48) z_fwd_Deal (18) z_gz=job (33) z_gzBig20 (13) z_gzMgr (13) z_gzPain (20) z_gzThreat (19) z_hib (19) z_IDE (52) z_ikm (5) z_IR_misc (36) z_IRS (26) z_javaWeb (28) z_jdbc (10) z_jobFinTech (46) z_jobHunt (20) z_jobRealXp (10) z_jobStrength (15) z_jobUS^asia (27) z_letter (42) z_linq (10) z_memberHid` (11) z_MOM (54) z_nestedClass (5) z_oq (24) z_PCP (12) z_pearl (1) z_php (20) z_prodSupport (7) z_py (31) z_quant (14) z_regex (8) z_rv (38) z_skillist (48) z_slic`Problem (6) z_SOA (14) z_spring (25) z_src_code (8) z_swingMisc (50) z_swingTable (26) z_unpublish (2) z_VBA/Excel (8) z_windoz (17) z_wpfCommand (9)

About Me

New York (Time Square), NY, United States
http://www.linkedin.com/in/tanbin