1 / 5

Introduction to Credit Risk

Introduction to Credit Risk. Credit Risk vs Market Risk Credit Risk is the risk of the other side not paying! This is a “ default ” … Failure to pay an interest amount or return all of principal amount How do we typically measure it? How do we manage it?

tiana
Download Presentation

Introduction to Credit Risk

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to Credit Risk • Credit Risk vs Market Risk • Credit Risk is the risk of the other side not paying! This is a “default”… • Failure to pay an interest amount or return all of principal amount • How do we typically measure it? • How do we manage it? • Pledged collateral, posted margin, keep loss reserves, hedging with CDS • You can think of “credit risk” as: • Issuer Risk • Counterparty Risk • Settlement Risk (the time it takes until it’s inventory) • Counterparties are sometimes Issuers… • Probability of Default : “PD” • Loss Given Default : “LGD” • Expected Loss : “EL” • Simplified Formula : EL = PD * LGD • Look up LGD’s by quality code (in SBB_ratings.h/cc - an example is ifdef’d) • LGD is a fraction so the total LGD of the position = Amount * LGD • This is the amount we would lose if counterparty defaulted • A type of credit risk sensitivity: • How does my credit risk change on a ratings downgrade?

  2. Mid-Term Submission Reqs – Due Oct 23 • An executable which will build and run on either Linux or Mac using GNU • Deliver an archive tar file named “yourname.tar” - create using: “tar cvf yourname.tar .” in your directory • Build by typing “make all”, launch with shell script “run.sh” • Direct debug to stderr, file descriptor 2 (see run.sh) • Encapsulate your main with “START_TIMER() and END_TIMER() • Price and calculate for each for bond position in file • Given YIELD or SPREAD, compute price, dv01 and risk • Handle both coupon bearing and zero coupon types (key off coupon value - either zero or non-zero) • Our definition of “risk” is: “dv01/100 * amount” - dv01 is in percent and amount is in thousands • Search positions in our portfolio according to below criteria and write out to separate file (“results.txt”) • Largest long position (write out the Amount) • Largest short position (write out the Amount) • Position with most risk (can be either long/positive) or short/negative (Write out the Risk number) • Total risk for the whole portfolio (write out the total Risk number) • Load input files will be called: “tradingbook.txt” and “yieldcurve.txt” • For spread priced bonds find closest maturity treasury bond. On a tie choose shorter maturity treasury. • Required output format • For the individual bond results append to the end of each line read in from tradingbook.txt • … Price dv01 risk LGD • LGD will be adjusted by amount (like risk) • For portfolio measures write out 4 numbers (one per line) to file “results.txt” • The timer output writes out to stdout by default so: • Execute run.sh to call your executable and the only thing displayed should be the timer output • Units: • Show 3 decimal places for all measures • Amounts will be in thousands - 1,000 means 1 million “face amount” • Code example

  3. Upcoming deliverables after mid term… • One week before mid-term submission • NYU is officially closed HOWEVER I will have office hours to answer questions. I’ll have my laptop to show examples. • Reachable by email • Mid-term submission lecture • First phase submission of project on thumb drive (done individually) • Have teams formed for upcoming phases (from here on we will work in teams) • Surgeon (lead) • Tester (second graded phase will be a test harness client-side driver that hits our to be built server, Co-pilot/toolsmith/language lawyer… • One week after mid-term lecture • Second quiz of MMM chapters 7-13 • Three weeks after mid term lecture: • Second phase submission • Server built with version 1 of your message set defined • Stub client in python • Your regression harness is now your executable loading tradingbook.txt with answers inserted • The tradingbook.txt and results.txt file will be posted on class page after mid term submission • Submission will be a server and a client • The client will write results to stdout • Specification of results to follow…

  4. The “Risk” Measure (market) • 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; }

  5. 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;

More Related