Labels

_fuxi (75) _IV (146) _misc (5) {610610 (30) algo (1) automatedTrading (8) banking/economy (3) book (14) c++misc (125) c++real (15) c++STL/java_container (7) cppTemplate (1) db (13) DB_tuning (4) deepUnder (1) dotnet (69) eTip (17) excelVBA (12) finance+sys (34) financeMisc (24) financeRisk (2) financeTechMisc (4) financeVol (21) finmath (17) fixedIncome (25) forex (16) IDE (24) invest (1) java (43) latency (4) LinearAlgebra (3) math (30) matlab (24) memoryMgmt (11) metaPrograming (2) MOM (15) msfm (1) murex (4) nofx (11) nosql (3) OO_Design (1) original_content (4) scriptUnixAutosys (19) SOA (7) socket/stream (15) sticky (1) subquery+join (2) swing (32) sybase (6) tech_orphan (12) tech+fin_career (30) telco (11) thread (21) timeSaver (13) tune (10) US_imm (2) US_misc (2) windoz (20) z_algo+dataStructure (4) z_arch (2) z_c#GUI (30) z_career (10) z_career]US^Asia (2) z_careerBig20 (1) z_careerFinanceTech (11) z_FIX (6) z_forex (31) z_hib (2) z_ikm (7) z_inMemDB (3) z_j2ee (10) z_oq (14) z_php (1) z_py (26) z_quant (4) z_skillist (3) z_spr (5)
Showing posts with label financeVol. Show all posts
Showing posts with label financeVol. Show all posts

Saturday, April 11, 2015

option math : thin -> thick -> thin

Many topics I may have to give up for lack of bandwidth. For the rest of the topics, let's try to grow the "book" from thin to thick then to thin.

-----

+ PCP

+ delta hedging

+ graphs of greeks

+ arbitrage constraints on prices of European calls, puts etc. Intuition to be developed

+ basic strategies like straddle                     

 

LG American options

LG GBM

LG binary options but ..

+ Roger's summary on N(d1) and N(d2)

LG div

LG most of the stoch calc math but ..

LG vol surface models

+ some of the IV questions on martingale and BM

 

Saturday, June 7, 2014

what-if - (binary) option valuations - develop intuition

as T -> inf
C_0 -> S_0
P_0 -> 0.0
binary Call price ->
binary Put price ->
as t -> T
C_0 ->
P_0 ->
binary Call price ->
binary Put price ->

as S -> K
C_0 ->
P_0 ->
binary Call price ->
binary Put price ->
as S -> 0
C_0 ->
P_0 ->
binary Call price ->
binary Put price ->
as S -> inf
C_0 ->
P_0 ->
binary Call price ->
binary Put price ->

as R_disc -> inf
C_0 ->
P_0 ->
binary Call price ->
binary Put price ->
as R_ disc -> 0
C_0 ->
P_0 ->
binary Call price ->
binary Put price ->

as R_grow -> inf
C_0 ->
P_0 ->
binary Call price ->
binary Put price ->
as R_grow -> 0
C_0 ->
P_0 ->
binary Call price ->
binary Put price ->

as K -> inf
C_0 ->
P_0 ->
binary Call price ->
binary Put price ->
as K -> 0
C_0 ->
P_0 ->
binary Call price ->
binary Put price ->

as sigma -> inf
C_0 ->
P_0 ->
binary Call price ->
binary Put price ->
as sigma -> 0
C_0 ->
P_0 ->
binary Call price ->
binary Put price ->

Thursday, January 16, 2014

PCP -> div, delta, fwd-contract ...

How do we internalize the PCP implications? They are hard to remember, easy to get wrong. We need to know the limitations/assumptions of each "rule of thumb". Some rules are more fundamental than other rules.

PCP is more fundamental than BS.

PCP is more fundamental than GBM.

PCP equation applies to both 1) terminal values and 2) pre-maturity values. In fact, given 2 replicating portfolios, their values must match at all times. What if one of the securities involved is non-tradable, like a dividend-paying stock? See posts on PCP+dividend.

PCP applies only to European options, not American or binary options.

Thursday, December 12, 2013

path-dependent options

http://www.investopedia.com/terms/p/pathdependentoption.asp points out American, Asian, and barrier options are path-dependent.

European options aren't. Whatever happens in the interim is not relevant to the stipulated payout.

Friday, November 15, 2013

exp(-rT) is applied to K only

In all optional pricing formulas, ....

Wednesday, April 24, 2013

attributes of an option instrument

When we say "I am short 30 OTM July IBM put option struck at 103", we mix static instrument attributes with a non-static attribute

A call option is always a call option (unless in FX). The underlier and the call/put attribute are part of the product static data.
The strike/expiry are also part of the product static data. These are the 4 defining attributes of an option instrument in real
business conversation. It's important to notice the difference between static and dynamic attributes.

Moneyness (ITM/OTM) is a dynamic attribute. Moneyness is like indebtedness. You can be in-debt now but later become debt-free.

A negative vega position is always negative vega. This characteristic never changes. It's like a person's ethnicity. However, this
is not an instrument attribute, but a position attribute. Ditto for the quantity.

Thursday, January 31, 2013

arb between 2 options with K1, K2

It's not easy to get intuitive feel about arb inequality involving European put/calls of 2 strikes K1 < K2. No stoch or Black/Scholes required. Just use hockey stick diagram i.e. range-of-possibilities payoff diagram.

Essential rule #1 to internalize -- if a (super-replicating) portfolio A has terminal value dominating B, then at any time before maturity, A dominates B. Proof? arbitrage. If at any time A is cheaper, we buy A and sell B and keep the profit. At maturity our long A will adequately cover our short B.

----Q1: Exactly four assets are available: The bond Z with Z0 = $0.9; and three calls. The underlying is not available for you to trade. The calls have identical expiry T, strike K = 20; 22.5; 25, and time-0 price C0(K), where C0(20) = 6.40; C0(22.5) = 4.00; C0(25) = 1.00. Any arbitrage

Consider the portfolio B {long C(22.5) short C(25)} and A {25 Z - 22.5 Z} = {2.5 Z}

At maturity, A is worth $2.5 since the bond has maturity value $1 by definition.
At maturity, B < $2.5, obvious by hockey stick. This is the part to get intuitive with.

By Rule #1, any time before maturity, A should dominate B. In reality, A0 = 2.5 Z0 but B0 = $3 -> arb.

This trick question has some distractive information!

----Q2: P141 [[xinfeng]] has a (simple) question -- put {K=80} is worth $8 and put {K=90} is worth $9. No dividend. Covered on Slide 30 by Roger Lee. Need to remember this rule -- 80/90*P(90) should dominates P(80) at time 0 or any time before expiry, otherwise arb.

Consider portfolio A {80/90 units of the K=90 calls} vs B {1 unit of the K=80 call}

If stock finishes above $80 then B = 0 so A >= B i.e. dominates
If stock finishes below $80, then B = 80-S. Hockey stick shows A = 80 - S*80/90 so A dominates.

Therefore at expiration A dominates and by Rule #1 A should be worth more at time 0. In reality, A0=B0.

Saturday, October 27, 2012

PCP - 3 basic perspectives

#) 2 portfolio asset values - at expiration  or pre-expiration. This simple view IGNORES premium paid
See http://bigblog.tanbin.com/2011/06/pcp-synthetic-positions-before.html

#) 2 traders' accounts each starting with $100k cash. This angle takes premium into account.

#) current mid-quote prices of the put/call/underlier/futures should reflect PCP, assuming good liquidity. In reality?

Friday, October 19, 2012

CIRP vs PCP

I feel CIRP is a stronger arbitrage rule than (european) PCP. I feel the 4 prices involved in CIRP are more liquid than the 3 prices in a PCP.
 
Note American options don't follow PCP.
 

Tuesday, September 25, 2012

sticky delta - bit of clarification

http://www.columbia.edu/~mh2078/FX_Quanto.pdf says "as the exchange rate moves, the volatility of an option with a given strike is also assumed to move in such a way that the volatility skew, as a function of delta, does not move". By "skew" I take it to mean curve shape. By "function" I take it to mean a curve with delta as the x-axis.

If you refresh your USD/JPY vol surface every hour, you will see the surface moves.  Let's keep things simple and just focus on the 1-year smile curve. This curve moves but its shape stays fairly constant. It stays constant if you plot (imp) vol against delta. I believe the shape doesn't stay constant if you plot vol against strike. We say FX vol is sticky delta not sticky strike.

Sunday, July 15, 2012

Nomura FX option IV via video link to London

Q: what are the products traded on your desk
%%A: stock/ETF/index options + var swap for flow vol. For EFS, there are a lot – digital options, barrier options, Asian style options, structures with 2 underliers

Q: how do you monitor the barriers – discrete or continuous or …?
Q: what does a typical quant library API function looks like?
Q: You said c++ is more challenging, but what technical challenges do you see using c++ compared to java?
(Now I would say pointer, memory mgmt, STL, undefined behaviors...)

Q: how is a libor yield curve constructed?
Q: what's the rationale for using swap rates to derive spot rates for a long tenor?
Q: what's the rationale for using libor futures rates to derive spot rates? 
Q: for risk management, what features of the vol surface are measured/monitored?
%%A: skew bump, tail bump. Wings are known to be problematic.
Q: did you work on PnL explain?
Q: Our trades are often long gamma. What happens to their thetas?

Monday, July 2, 2012

nomura FX op system

-- Products traded --
vanilla fx options
Barriers options
digital options
multiple barriers
fx option strips
Target Redemption notes (TARN)

-- system function --
real time risk,
scenario risk -- more flexible,
GUI changes -- possibly no one will take it on except you.

Quants give the order.

Friday, June 15, 2012

Nomura FX option IV

Q: Does your system cover tenor based risk?

Q: Between Equity vol and FX vol systems, do you monitor the same greeks?
%%A: in eq, it's about delta gamma vega and theta. In FX, I believe these are all important. But I guess rho is probably more important than in eq, since FX is very sensitive to interest rate and there are 2 interest rates in each currency pair.
A: delta/gama/vega/theta are the big 4. rho is insignificant in both eq and FX. See http://bigblog.tanbin.com/2011/06/rho-of-vanilla-fx-option.html

Q: You mentioned that you build thousands of Libor yield curves each day? How do you do that?
%%A: using deposit rates, futures rates, swap rates, and year-end turns

Q: You mentioned EOD marking that feeds into downstream PnL attribution. How do you do that?

What Unit test tools did you use?

What's a good unit test?

In java how do you compare 2 strings?

Why is java string designed to be immutable (c++?) ?

Wednesday, May 30, 2012

Tuesday, May 29, 2012

IV - local volatility - OCBC

Q: tell me 1 or 2 low-latency challenges in your projects.
Q: what's a variance swap?
Q: what's your favorite messaging vendor product? (MQ is firm standard but too slow for this team.)
Q: Where do you get your implied vol numbers? From exchange or you do your own inversion? (I guess exchanges do publish quotes in vol.)
Q: how many tenors on your vol surface?
Q: how do you model term structure of vol?
Q: how do you perform interpolation when you query the vol surface?
Q: you mentioned various vol models (taylor, cubic etc) but how do you decide which model to use for each name?
Q: describe BS equation in simple language, and what are the inputs?
Q: FX vol is delta sticky. On X-axis you see 25 delta, 10 delta, atm vol etc. How about eq?
Q: any example of structured vol products?
Q: what's dv01?
Q: which asset class are you most comfortable with?
Q: in your systems there are often multiple languages. How do you make them interoperable?
Q: what's java generic?
Q: value type vs reference type in c#
%%Q: who will validate the prices and decide if it's a reasonable or valid price?
A: traders. Even though they aren't fully trained as quants are. Some managers also have pricing knowledge. Perhaps no real quants.
---------
Q1: what's fwd vol vs local vol?
Q: you said variance is additive? Can you elaborate?
Q: have you heard of total variance?
Q3: what's put-call parity?
%%A: C + K = P + F. Each of the 4 can be synthesized using the other 3

Q3b: can you show me one synthetic portfolio, say a synthetic long call?
Q: Can you explain PCP in terms of deltas?

Q: you mentioned code bloat due to c++ templates, so how does c++ deal with that?
Q: have you heard of c++ strong exception guarantees vs basic exception guarantees?
A: http://en.wikipedia.org/wiki/Exception_guarantees

Q: how does java generic differ from c++ and c# -- take a hashmap for example?
Q: c# hashmap of integer? Is it special?
Q: you mentioned java hashmap of integer involves autoboxing, so what happens during autoboxing?
Q: What smart pointers have you used?
Q: if i were to use a smart pointer with my legacy class, do I have to modify my class?

Q7: you mentioned java generic was designed for backward compatibility, but why not add a new type HashMap<K, V> in addition to the old non-generic HashMap class?
%%A: old and new must be interoperable

Q7b: what do you mean by interoperable?

Q: tell me one project with low latency

-- some answers revealed --
A1: local vol is designed to explain skew. During the diffusion, instantaneous vol is assumed to be deterministic, and a function of spot price at that "instant" and TTL.

I guess what he means is, after 88 discrete steps of diffusion, the underlier could be at any of 888888 levels (in a semi-continuous context). At each of those levels, the instantaneous vol for the next step is a function of 2 inputs -- that level of underlier price and the TTL.

A3: easiest way is "call premium - put premium == fwd price" (cash amount to be added to LHS?)

Monday, April 16, 2012

neg vega, briefly

short option positions

 

spread trades


Sunday, April 8, 2012

steps in pricing a vanilla European option using implied vol

These steps are observed for a vanilla European call/put. Not sure about other options.

) prepare funding information -- interest rates ...
) prepare dividend information
) formula-based premium calculation
) derive the greeks

All input data fields are represented as a sturct. You can also use a data holder class, a DTO, or a property set.

Monday, February 20, 2012

why call provision lower a bond's value

P 227 [[Thomas Ho]]

Also explains why call provision poses a "call risk" to the bond holder.

Friday, January 21, 2011

a call buyer is long vol?

An IBM call buyer obviously is long the stock, but is he also long its volatility?

I guess yes since vega is positive.

Tuesday, January 18, 2011

learning topics in options

A few loose "topics" --
a) option valuation at expiration and before
b) PCP
) log normal
) std dev
1) basic long/short positions => strategies like collar, condor, butterfly...
2) volatility and 1)
3) delta (and other greeks) and1)2)
4) hedging with 1)2)3)
) skew
) random variable
) binomial pricing tree

First realize that options are more complex than futures (which is more complex than forward contracts) --

* There are 2 prices -- exercise and premium (bid/offer).
* There's call and put, which are often related.
* option prices are sensitive to (the 3 Greeks)
** vol swings
** underlying asset price swings
** expiration date approaching

Next, focus --

- Focus on OTC. I feel listed options are more complex. Exchange must create a pair and maintain margins.
- Focus on American options. All listed options are American style.
- Focus on stock. Avoid index options as they involve cash settlement. FI options are way too complex. Currency option is also more complex as there's no clear distinction between what we pay (premium and strike) vs what we get -- both are "money".
- Focus on long positions. Shorts are less intuitive but still important.
- Focus on calls first but soon you must deal with puts