Upload
merilyn-thomas
View
213
Download
1
Embed Size (px)
Citation preview
Our market “risk” Measure• Position adjusted sensitivity using 1 basis point change• Example of “bond risk”:
• Price (pv): 85.731991 (that’s a total amount of $857.31 the bond is worth)• DV01: 0.092519 (how much price moves with a 1/100 of 1% change in yield = .01)• amount: 10000 (10,000 is 10MM “position”)• Position risk: 9.251928 (that’s $9,251 change to position value given a 1bp move)
static double
bond_risk( const SBB_bond_calculator_interface* bond_calc_ptr,
const SBB_instrument_fields* bond_record_ptr,
double dv_bump_amount)
{
double pv = bond_calc_ptr->PV(bond_record_ptr->Yield() );
double dv = bond_calc_ptr->dv_bump(bond_record_ptr->Yield(), pv, dv_bump_amount);
double position_risk = bond_record_ptr->Amount() * dv/100.0;
return position_risk;
}
Units Examples• $10,000,000 of a bond
• 9% coupon, 20 years to maturity - current price: 134.672 and yield is: 6%
• Market value is:
$10,000,000 * 1.346722 = $13,467,220
• Bump yield by up by 100 basis points (1%) and price is now: 121.3551
• Our data file has amounts in 000’s so $10,000,000 would be entered as 10000
• Dollar Value of an “01” (DV01) - price diff between starting yield and 1/100th of a percent move of yield, or 1 basis point, (1/100th of above example). Additionally, it is the average of two shifts: the absolute value of the differences resulting from both an up and down move.
• “Risk” for us is defined as Amount * DV01/100 and thus stays in thousands since Amount is in thousands.
• Risk of 44.123 means for every basis point change in yield we would gain/lose $44,123.
double yield_delta_abs = fabs(bump_amount);
// yield goes up, price goes down double down_price = PV(base_yield + yield_delta_abs); double price_delta_down = base_price - down_price;
// yield goes down, price goes up double up_price = PV(base_yield - yield_delta_abs); double price_delta_up = up_price - base_price;
dv01 = (price_delta_up + price_delta_down ) / 2.0;
Bonds are typically priced “relative”
• Generally:• Lower quality is priced relative to higher quality• Lower liquidity is priced relative to higher liquidity
• Relative to what?– Individual bond– Collection of bonds (like an index)
• “Spread” pricing:– Yield of Treasury = 4.68%– Yield of Corporate = 5.68%– Spread of Corporate = 100bp
• Spread is measure of credit risk– Base interest rate + spread– Base interest rate + risk premium– Spread = risk premium
Pricing Bonds off a “Yield Curve”
• Collection of liquid, high quality bonds (like an index)• Price using “spread” off matching benchmark bond• Match on maturity - the bond’s “remaining term” to “closest” benchmark• “Yield Curve” constituent criteria:
– Type of Issuer– Issuer’s perceived credit worthiness– Term of maturity of the instrument– Others: optionality, taxability, expected liquidity…
• The benchmark we will use is: – Current (most recently issued) “Treasuries” – “On-the-run” vs “Off-the-run”
• Example:– “Trading 30 over the 10 year”– Means: “yield of the quoted bond is 30 basis points more yield than the treasury bond yield
which has a maturity of 10 years”
• “Treasuries” (no credit risk, highest quality, highest liquidity - benchmark to the world)• What is the “normal” shape of the “yield curve”?• How do the treasury yields come to be?
– Fed funds rate, discount rate, auction results
Deliverables for Oct 23
• Build a yield curve class• 4 bonds in curve:
• 2, 5,10,30 year maturities• Load in new yield curve data file
– Special version of existing “data.txt”– Bonds with ticker “T”
• Load new bond data file which will include a new field:– Spread : “30bp” and tag “SPREAD” or “YIELD”
• Price and run risk for the book using the curve• Our scenarios will be different yield curves:
– Parallel up/down, tilts (flatter, steeper)