Abstract
Value at Risk (VaR) is a widely used measure for qualifying risk. It specifies the maximum loss a portfolio can suffer in N days' time with confidence level X%. A bank's portfolio usually consists of thousands of risky assets. To be able to quickly evaluate the VaR of a large portfolio is challenging. In this work, we have developed a multi-threaded program on shared-memory multi-processor systems that calculates the VaR of large portfolios. We follow the delta-gamma Monte Carlo approach. To replace the matrix-matrix multiplications in the gamma term by matrix-vector multiplications we diagonalised the gamma term and represented it by the productions of its eigenvectors and eigenvalues. We used Intel's MKL functions for the operations on the matrices and vectors. Joe and Kuo's pre-computed direction numbers were fed into MKL's random number generator to generate Sobol' quasi-random sequence. The simulation stage was parallelised by creating POSIX threads and assigning each created thread an equal number of the trial paths. The program was tested by a portfolio of 4000 assets. The parallel simulation ran more than 4 times as fast as the simulation parallelised by MKL's vectorised automatic multi-threading functions.
Original language | English |
---|---|
Journal | Lecture Notes in Engineering and Computer Science |
Volume | 2210 |
Issue number | January |
Publication status | Published - 2014 |
Event | International MultiConference of Engineers and Computer Scientists, IMECS 2014 - Kowloon, Hong Kong Duration: 12 Mar 2014 → 14 Mar 2014 |
Keywords
- Deltagamma approximation
- Monte Carlo simulation
- Parallel computing
- Sobol' sequence
- Value at Risk