Download NYU_class5

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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)