Sunday, April 8, 2012

Stoch volatility and local-volatility, briefly

SV doesn't refer to the random walk of a stock price (or an forex rate). SV refers to the random walk of instant volatility value [2]. This instant volatility (IV) can take on a value of 10%pa now, and 11.5%pa an hour later [1]. If a stock price were to fluctuate constantly by the micro second, then we would be able to record these movements during each second and compute realized/historical IV values for each interval.

[1] Note all volatility values are annualized, just as we compare different rice brands by per-kg price.
[2] realized vol or implied vol? Irrelevant. In the BS theory, volatility is a concept related to Brownian motion. Both r-vol and i-vol are indications of that theoretical volatility. I feel in this /context/, there's no differentiation of implied vs realized vol. 

I feel many people agree that it's a sound assumption to assume IV follows a random walk, but there are very different random walks. For example, the stock price itself also follows a random walk, but that random walk is carefully modeled by the drift + the Brownian motion. That's one type of random walk. The IV random walk is different and I call it a special random walk (SRW), for want of a better word.

Basically, SV models assume
1) the stock price follows a random walk characterized by an IV variable, along with a drift
2) this variable doesn't assume a constant value as BS suggested, but follows a SRW. This SRW is described by a state variable, which depends on current stock price and has a mean-reverting tendency.

I find the mean-reversion assumption quite convincing (yes I do). In reality, if we measure the realized IBM volatility over each trading day and write down those realized-vol values on a table top calendar, we will see it surges and drops but always stays within a range instead of growing steadily. The stock price may grow steadily (drift) but the realized vol doesn't.

SABR and local vol are 2 models describing stochastic volatility, but veterans told me LV isn't stochastic at all.

LV -- when IV is described merely as a function of "mid-diffusion" underlier price St and of time t, we have a local volatility model. The local volatility model is a useful and simple SV model, according to some.

Another veteran in Singapore told me that local vol (like SV) is designed to explain skew. During the diffusion, IV is assumed to be deterministic, and a function of 2 inputs only -- spot price at that "instant" i.e. St and t. I guess what he means is, after 888888 discrete steps of diffusion, the underlier could be at any of 888888 levels (in a semi-continuous binomial tree). At each of those levels, the IV for the next step is a function of 2 inputs -- that level of underlier price and the TTL.

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