How is VaR applied/validated? Used in Limits, Industry standard component to regulatory capital calc Multipliers - stress testing or just multiply VaR. –stress testing implies heavyweight re-pricing vs estimated “greeks approach” Validated by comparing to “clean” PnL (PnL due to market moves vs. fee based pnl) We “backtest” by comparing to actual “clean PnL” With greeks approach we need to store relevant pre-calculated sensitivities for that day Storing greeks allows us to avoid full re-pricing (won’t have to instantiate calculators) –and a quick way to do “attribution” –We will “attribute” PnL to 3 changing variables: Price, Spread, Yield Good VaR quote: “One to three times VaR are normal occurrences. You expect periodic VaR breaks. The loss distribution typically has fat tails, and you might get more than one break in a short period of time. … So an institution that can't deal with three times VaR losses as routine events probably won't survive long enough to put a VaR system in place.Three to ten times VaR is the range for stress testing. Institutions should be confident they have examined all the foreseeable events that will cause losses in this range, and are prepared to survive them. …Foreseeable events should not cause losses beyond ten times VaR. If they do they should be hedged or insured, or the business plan should be changed to avoid them, or VaR should be increased. It's hard to run a business if foreseeable losses are orders of magnitude larger than very large everyday losses. It's hard to plan for these events, because they are out of scale with daily experience. Of course there will be unforeseeable losses more than ten times VaR, but it's pointless to anticipate them, you can't know much about them and it results in needless worrying. Better to hope that the discipline of preparing for all foreseeable three-to-ten times VaR losses will improve chances for surviving the unforeseen and larger losses that inevitably occur. A risk manager has two jobs: make people take more risk the 99% of the time it is safe to do so, and survive the other 1% of the time. VaR is the border."
How is VaR applied? Cont… In April 1995, the Basle Committee came forth with another set of proposals, which was nothing short of a regulatory innovation: the Internal Model approach. For the first time banks would be allowed to use their own risk management models to determine their VaR and with it their capital requirement. This capital requirement follows simply by multiplying the VaR by an add-on factor. This add-on factor, sometimes called the “hysteria factor”, may vary between three and four, depending on the accuracy of the bank model in the past. The hysteria factor is intended to provide additional protection against environments that are much less stable than historical data would lead to believe. As a result of above, Investment Banks set about justifying their risk models to regulators…
Problems with VaR More recently David Einhorn and Aaron Brown debated VaR in Global Association of Risk Professionals Review[14][23] Einhorn compared VaR to an airbag that works all the time, except when you have a car accident. He further charged that VaR:David EinhornAaron Brown Global Association of Risk Professionals Review[14][23] 1.Led to excessive risk-taking and leverage at financial institutions 2.Focused on the manageable risks near the center of the distribution and ignored the tails 3.Created an incentive to take excessive but remote risks. 4.Was potentially catastrophic when its use creates a false sense of security among senior executives and watchdogs. (also: with greeks approach, won’t capture path-dependent features)
VaR Implementation Notes Load historical data file - one per security. You can use SBB_io.h/.cc Build a separate “PnL Vector” for each bond using the SBB_var_input_file class You will have to instantiate 1 io object per file, then 1 pnl vector per file: –Assume all historical files will live in a sub dir “./var”. –For each SecID in our book(s), have to look up a file named “SecID.txt” in that dir Once you have a vector for each unique bond, multiply by current position to get Amount adjusted PnL Need to derive the % change in price for each day transition Add up all vectors to get a portfolio vector Ascending sort gives you biggest PnL daily change Sort in Ascending Order Largest negative is worst case loss Depending on our confidence interval and number of days this may or may not be our VaR. Sign is important - amount to multiply is either long or short (+ or -) Refer to lecture 12 materials: var_example.xls
Credit Risk Implementation Our credit risk measure is LGD - Loss Given Default For detailed coverage of LGD refer to online paper: –Basel Committee on Banking Supervision “An explanatory Note on the Basel II IRB Risk Weight Functions July 2005 Expected Loss = Probability of Default * Loss Given Default Probability of Default - per rating grade, which gives the average percentage of obligors that default in this rating grade in the course of one year Loss Given Default - per rating grade, which gives the percentage of exposure the bank might lose in case the borrower defaults –EL = PD * LGD –We solve for LGD : LGD = EL / PD –Refer to SBB_ratings.h/cc and refer to #ifdef TEST_DRIVER!
Regulatory Capital Capital is needed to cover the risks of peak losses, and therefore it has a loss absorbing function. (Black Jack analogy) Good quote: “The worst case one could imagine would be that banks lose their entire credit portfolio in a given year. This event, though, is highly unlikely, and holding capital against it would be economically inefficient. Banks have an incentive to minimize the capital they hold, because reducing capital frees up economic resources that can be directed to profitable investments. On the other hand, the less capital a bank holds, the greater is the likelihood that it will not be able to meet its own debt obligations, i.e., that losses in a given year will not be covered by profit plus available capital, and that the bank will become insolvent. Thus banks and their supervisors must carefully balance the risks and rewards of holding capital.” How to manage it? –Pricing of Credit Exposures –“Provisioning” (putting reserves from revenues aside) –Hedging with “protection” (insurance) - e.g., Credit Default Swaps
Client / Server Protocol Simulating synchronous Header/body - probably switch off an enum… Granularity of calls Message format: –Structure –Data in fixed positions –Token separated strings –Format conversion - (atoi, atof) Match screen layout or make generic? Balance generalness with efficiency… Refer to.xls spec
For next week Clarifications/Questions on Requirements? I’ll post files day1.txt and day2.txt Day1.txt will be today (tradingbook.txt), day2.txt will be yesterday Spread case to implement for next week: –10, 20, 30, 40 bps for the 4 mat buckets Historical data files for each security contained in our day1.txt file They will be.tar’d up on the class site Next week please submit a working server with thin client or executable