SUPPORT / SAMPLES & SAS NOTES
 

Support

Installation Note 51445: ICF J67007 for SAS® OpRisk VaR 5.1 is available for customer download by request only - optimization of severity fitting performance

DetailsHotfixAboutRate It

For SAS® OpRisk VaR, ICF J67007 is available for customer download by request only.

This ICF improves severity fitting performance when using a large number of operational risk (oprisk) losses, especially when using KRIs. Severity fitting involves optimization problems that are not closed form and are often inherently unpredictable. Problems during the fitting process that can occur include unacceptably long times and unsuccessful fits, that is, the inability of the fitting algorithms to improve the current parameter estimates. To reduce the long fitting times, the following are implemented in this ICF:

  • improved initialization of parameters
  • imposed iteration limits for the optimizer before the fitting process terminates.
There is a trade-off of fitting time used and achieving the largest number of successful fits. One factor that affects this trade-off is the specific operating system on which the SAS servers are running. The optimal settings for this trade-off depends on the specific customer needs and requirements.

To assist, some guidelines and detailed information are provided on how to fine tune the system. The only file that you should change for the fine tuning is orva_init_global_macros.sas, which is in the ucmacros folder in the main SAS OpRisk VaR installation directory on the SAS server. Ideally, that file should not be modified in place. Instead, a copy should be made and placed in the corresponding location in the configuration directory. In a Microsoft Windows environment, the typical location is C:\SAS\Config\Lev1\Applications\SASOpRiskVaR\5.1\ucmacros. Changes made to a copy of a macro that is placed in the configuration directory override the behavior of the macro of the same name that is located in the main installation directory. This is considered the best practice because it should be clear which file is the official SAS Institute Inc released code (in the installation directory) and the customizations made by the user (in the configuration directory). This file-override arrangement has the advantage that the default behavior can be restored by deleting or renaming the modified macro.

For the fine tuning of fitting times, you should make a copy of orva_init_global_macros.sas and place it in the configuration directory as previously described. In that file, Lines 31 and 34 should be as follows:

Line 31: %let BASE_PROC_NLP_OPTIONS = %str(COV=2 VARDEF=n pcov maxit=100 maxfu=10000 tech=tr fdhessian=forward gradcheck=none); Line 34: %let LAST_PROC_NLP_OPTIONS = %str(COV=2 VARDEF=n pcov maxit=25 maxfu=10000 tech=nrr fdhessian=forward gradcheck=none);
Although you could potentially change any of the options displayed in those lines, it is recommended that you focus on the MAXIT= < integer > option. The MAXIT= option represents the maximum number of iterations for the optimization algorithm. The default settings for these lines are MAXIT=100 and MAXIT=25, respectively. If you find that cells that have many loss observations (and perhaps many KRIs) require too much time to fit, then perhaps the second line could be changed to MAXIT=20 or MAXIT=15. The reduced number of iterations can result in the optimizer being unable to improve the current parameter estimates for large problems.

Similarly, if more fitting time is acceptable, then more successful fits might be achieved by setting the MAXIT= option in Line 31 as MAXIT=150 or MAXIT=200, and then setting the option in Line 34 as MAXIT=40 or MAXIT=50. These are values that can be tried, and should be adjusted as needed for your specific needs and requirements.

By adjusting these MAXIT= option settings, you can benchmark your system as to the fitting time needed and the success of the fitting algorithms. The benchmark values of time needed and successful fits achieved help determine the trade-off that is available in your system. Then the values can be specified that are deemed optimal or acceptable. It is recommended that after optimal settings have been specified, that the MAXIT= option settings be left unchanged until a major change occurs. For example, when a new operating system release is applied, or when new server hardware is available, or when there are significantly more loss observations. In these cases, a best practice is to re-determine the benchmarks for your system.

Also note that there are steps that can be taken, which improve severity fitting performance. They include:

  • Remove loss observations that have zero (0) or small losses as they are not helpful when modeling loss distributions.
  • If the loss observations that have zero (0) or small losses cannot be removed from the database, then remove them from the fitting process by using options in the Fitting Options window:
    • a threshold value (for example, threshold of $5,000 or $10,000)
    • a probability of observability value (for example, 0.3)
  • Remove KRIs that have zero or small losses as they are not helpful when modeling loss distributions.
  • Avoid forcing many KRI variables into the models. Suggesting KRIs is fine, because they go through a selection process. The selection process eliminates the KRIs that have no effect or are collinear to other variables. By forcing in KRIs, you are overriding the selection process. This can result in a set of collinear explanatory variables. If the forced-in KRIs are collinear, the fitting algorithms typically fail or take a very long time because there is no single solution to the optimization problem.
By following these recommendations, you can reduce the time needed for fits, achieve more successful fits, and achieve more stable severity models.



Operating System and Release Information

Product FamilyProductSystemProduct ReleaseSAS Release
ReportedFixed*ReportedFixed*
SAS SystemSAS OpRisk VaRMicrosoft® Windows® for x645.16.19.3 TS1M29.4 TS1M0
Microsoft Windows 8 Enterprise 32-bit5.16.19.3 TS1M29.4 TS1M0
Microsoft Windows 8 Enterprise x645.16.19.3 TS1M29.4 TS1M0
Microsoft Windows 8 Pro 32-bit5.16.19.3 TS1M29.4 TS1M0
Microsoft Windows 8 Pro x645.16.19.3 TS1M29.4 TS1M0
Microsoft Windows 8.1 Enterprise 32-bit5.16.19.3 TS1M29.4 TS1M0
Microsoft Windows 8.1 Enterprise x645.16.19.3 TS1M29.4 TS1M0
Microsoft Windows 8.1 Pro5.16.19.3 TS1M29.4 TS1M0
Microsoft Windows 8.1 Pro 32-bit5.16.19.3 TS1M29.4 TS1M0
Microsoft Windows Server 2003 Datacenter Edition5.19.3 TS1M2
Microsoft Windows Server 2003 Enterprise Edition5.19.3 TS1M2
Microsoft Windows Server 2003 Standard Edition5.19.3 TS1M2
Microsoft Windows Server 2003 for x645.19.3 TS1M2
Microsoft Windows Server 20085.19.3 TS1M2
Microsoft Windows Server 2008 R25.16.19.3 TS1M29.4 TS1M0
Microsoft Windows Server 2008 for x645.16.19.3 TS1M29.4 TS1M0
Microsoft Windows Server 2012 Datacenter5.16.19.3 TS1M29.4 TS1M0
Microsoft Windows Server 2012 R2 Datacenter5.16.19.3 TS1M29.4 TS1M0
Microsoft Windows Server 2012 R2 Std5.16.19.3 TS1M29.4 TS1M0
Microsoft Windows Server 2012 Std5.16.19.3 TS1M29.4 TS1M0
Microsoft Windows XP Professional5.19.3 TS1M2
Windows 7 Enterprise 32 bit5.19.3 TS1M2
Windows 7 Enterprise x645.16.19.3 TS1M29.4 TS1M0
Windows 7 Home Premium 32 bit5.19.3 TS1M2
Windows 7 Home Premium x645.19.3 TS1M2
Windows 7 Professional 32 bit5.19.3 TS1M2
Windows 7 Professional x645.16.19.3 TS1M29.4 TS1M0
Windows 7 Ultimate 32 bit5.19.3 TS1M2
Windows 7 Ultimate x645.19.3 TS1M2
Windows Vista5.19.3 TS1M2
Windows Vista for x645.19.3 TS1M2
64-bit Enabled AIX5.16.19.3 TS1M29.4 TS1M0
64-bit Enabled HP-UX5.16.19.3 TS1M29.4 TS1M0
64-bit Enabled Solaris5.16.19.3 TS1M29.4 TS1M0
HP-UX IPF5.16.19.3 TS1M29.4 TS1M0
Linux5.16.19.3 TS1M29.4 TS1M0
Linux for x645.16.19.3 TS1M29.4 TS1M0
Solaris for x645.16.19.3 TS1M29.4 TS1M0
* For software releases that are not yet generally available, the Fixed Release is the software release in which the problem is planned to be fixed.