Solvency Assessment and Management SA QIS3 Frequently Asked Questions (FAQ) Version 1 1 CONTACT DETAILS Physical Address: Riverwalk Office Park, Block B 41 Matroosberg Road (Corner Garsfontein and Matroosberg Roads) Ashlea Gardens, Extension 6 Menlo Park Pretoria South Africa 0081 Postal Address: P.O. Box 35655 Menlo Park 0102 Switchboard: +27 12 428 8000 Facsimile: +27 12 347 0221 Email: info@fsb.co.za (for general queries) sam.saqis3@fsb.co.za (for SA QIS3 related queries) Website: www.fsb.co.za Page 2 of 28 Introduction 1. Introduction This Frequently Asked Questions (FAQ) document is aimed at all insurers participating in South Africa‟s third Quantitative Impact Study (SA QIS3). Its purpose is to: 1. list and highlight how known errors in the SA QIS3 Technical Specification, Completion Manual and Solo Return and NLUR Workbook spreadsheets have been addressed (see “2. Errata”) and 2. provide additional guidance and clarity on the completion of the SA QIS3 submissions (see “3. Frequently Asked Questions (FAQ)”) 3. provide non-life insurers with the code of the calculation macros embedded in the Non-Life Underwriting Risk Workbooks (see “Appendix: NLUR Calculation Macros”) The Errata section is based mostly on email queries received on the sam.saqis3@fsb.co.za inbox and on subsequent testing performed by the FSB. The FAQ section has been compiled from questions asked during the various SAM workshops held by the FSB, as well as from questions asked by insurers directly to the FSB‟s SAM Team. The NLUR Calculation Macros appendix provides the calculation (i.e. not customisation, importing or correction etc.) macro code to enable insurers to follow the steps involved in deriving the results. It requires knowledge of Microsoft Visual Basic for Applications (VBA). This document is a “live” document and will be updated regularly as the need arises. Insurers are requested to forward any questions they may have relating to SA QIS3 via e-mail to sam.saqis3@fsb.co.za New versions of this document will be published on the FSB‟s website as well as on the SAM portal, and will also be circulated to the SAM co-ordinators and public officers of all insurers. Insurers should regularly check the FSB‟s website (www.fsb.co.za) or the SAM Portal (sam.fsb.co.za) for any updates to this document. A version number on the front page of this document will identify the version of the document. PLEASE NOTE: Correction macros will be published on the FSB‟s website in due course to update the Solo Return and Non-Life Underwriting Risk Workbook (Parts 1 and 2 of 2) spreadsheets originally published. These correction macros will also be circulated to the SAM co-ordinators and public officers of all insurers. The various errata outlined in this document are corrected by these macros and the data already entered by insurers, if any, is imported into the updated spreadsheets. Insurers should ensure that they have run the correction macros on the spreadsheets that were originally published before submitting their SA QIS3 results. The FSB wishes to thank all insurers for their participation in SA QIS3. Page 3 of 28 2.Spreadsheet ErrataErrata It is important to note that not all issues (especially those that are anticipated to be minor) have been included in this document. Insurers are encouraged to continue reporting potential issues or errors encountered via e-mail to sam.saqis3@fsb.co.za For Non-Life Insurers, an important change affecting the technical specification, completion manual and all spreadsheets to be completed by non-life insurers which we would like to highlight is addressed in the table below: Tab Cells Issue Potential Impact (will vary per insurer) Action LoB 10: Liability For LoB 10: Liability, the sub-LoB split is changed as follows: All input tabs requiring Line of Business (LoB) information in all spreadsheets, for Technical Provisions, SCR and MCR The line of business (LoB) segmentation originally adopted for SA QIS3 is per the current recommendation in Discussion Document 29. N/A After further industry consultation, a decision was made to change the segmentation for all nonlife insurers and reinsurers as described in the next column. OLD a. Liability – Motor b. Liability – Aircraft c. d. e. f. g. Liability – Marine Liability – Rail Liability – Transport Liability – Engineering Liability – Other NEW a. Liability – Professional Indemnity b. Liability –General Third Party (including Public Liability) c. Liability - Employers‟ Liability d. Liability – Directors‟ & Officers e. Liability – Product f. Liability – Fidelity Guarantee g. Liability – Other Liability business associated with the previous sub-LoBs a – f (which were mainly expected to be non-stand-alone, third-party liability coverages) should be included in the relevant main LoBs: 2, 3, 4, 5, 6 and 8, respectively. The exception is sub-LoB g., which should still be used to capture any other liability business not catered for by the revised sub-LoBs. All insurers must use the updated sub-LoB split by entering the info on this basis ignoring the sub-LoB labels specified in the Technical Specification and in the spreadsheets as if they were replaced by those specified in the table above. Page 4 of 28 High: The changes will potentially change the capital requirements for premium and reserve risk significantly. Tab Cells Issue Action Additional inputs will be required in NLUR Workbooks with respect to the Man-Made Catastrophe Risk sub-module‟s Liability peril to cater for the risk associated with Sub-LoB‟s 10.f and 10.g. Terrorism LoB As a temporary measure, (re)insurers writing substantial amounts of terrorism business should contact the FSB directly on sam.saqis3@fsb.co.za to agree a suitable reporting arrangement on an individual basis. LoB 31: Non-Proportional Reinsurance As a temporary measure, all (re)insurers are requested to use the “Inwards Reinsurance (Proportional - Non-Traditional and SPV)” category of business to report on their Non-Proportional Reinsurance business (Treaty, Facultative and Non-Traditional and SPV on a combined basis) at a LoB and Sub-LoB level (i.e. using the same segmentation as for Direct business and Proportional Reinsurance). The correction macros will prompt the user to confirm whether or not this is applicable to the (re)insurer in order to override the parameters in the spreadsheets. Users will still be required to make the appropriate LoB selections in the “Company_Info” tab to ensure that the customisation macro does not hide the necessary inputs cells. (Re)insurers who are unable to report on this basis or who write material Proportional - Non-Traditional and SPV business should contact the FSB directly on sam.saqis3@fsb.co.za to agree a suitable reporting arrangement. Page 5 of 28 Potential Impact (will vary per insurer) The tables in the rest of this section capture a collection of specific errors that have been addressed. Separate tables have been included for issues relating to the SA QIS3: Technical Specification Solo Return Non-Life Underwriting Risk Workbooks Errata - Technical Specification Page, Tech Spec Ref. Issue Action It should read: p.24-25, TP.4.2 The description of LoB37 in the final technical specification document is inconsistent with the tracked changes document (Part 1) distributed together with the final technical specification. 37. Other life insurance Any remaining insurance contracts that could not be segmented using the above segmentation are to be classified into this segment as well as into guarantee and nonguarantee business. p.115, SCR.1.10.2 p.117, Replace “14” with “2” throughout. E.g. SCR.14 should read SCR.2 and SCR.14.2 should read SCR2.2 etc. SCR.2.2 Reference is made to SCR.14 which does not exist in the document. p.119, The exception to this is the reference to SCR.14.6 in Footnote 38 on p.268 which should read SCR.13.6 SCR.2.10.1 p.268, Footnote 38 p.177, “Risks derived from concentration in cash held at a bank are captured in the counterparty default risk module and are It should read: Page 6 of 28 Page, Tech Spec Ref. Issue Footnote 31 therefore not subject to the spread risk sub-module.” p.187, SCR.7.4.7 The numbering is incorrect. Action 31 Risks derived from concentration in cash held at a bank are captured in the counterparty default risk module and are therefore not subject to the concentration risk sub-module. It should read: SCR.7.4.6 (b) iv (and appropriately indented to be in line with the other items in (b). It should read: SCR.7.4.29 The capital requirement for disability risk according to the simplified calculation is the sum of p.190, SCR.7.4.2930 Wording for simplification for disability risk should be as per SA QIS2 SCR.7.42. and SCR.7.43. the capital requirement for an increase of 35% in morbidity/ disability inception rates for the first year, the capital requirement for an increase of morbidity/disability inception rates by 25% for all subsequent years and the capital requirement in respect of the risk that the duration of claims is greater than expected, represented by a 20% decrease in the termination rates, where the individual elements are calculated as sketched below. SCR.7.4.30. The individual elements sketched in the previous paragraphs should be calculated by using the following bases of calculation: Page 7 of 28 (a) For the increased morbidity/disability inception rates during the first year, 35% of the product of the following factors: the total disability sum assured at risk (in year one) and an insurer-specific expected average rate of transition from healthy to sick over the first year (weighted by the sum assured/ annual payment). (b) For the increased morbidity/disability inception rates during all subsequent years, 25% of the product of the following factors: the total disability sum assured at risk in year two, an insurer-specific expected average rate of transition from healthy to sick over the second year (weighted by the sum assured/annual payment), the modified duration of the liability cash-flows (n) (subject to a minimum of one), less one and ((n-2)/2) the projected disability increase (1.1 ), based on the Page, Tech Spec Ref. Issue Action assumption that the average disability rate of the portfolio, due to age, increases over the period corresponding to the length of the duration with 10% a year. (c) With respect to the risk that the duration of claims is greater than expected, 20% of the product of the following factors: technical provisions (best estimate) for contracts subject to disability claims, an insurer-specific expected termination rate (i.e. average rate of transition from sick to healthy/dead over the next year), the modified duration of the liability cash-flows n, subject to a minimum of 1, and ((n-1)/2) the projected disability increase (1.1 ). Errata - Solo Return Tab Cells Issue Action Potential Impact (will vary per insurer) SCR – SES Adjustment Rows 196 to 199, and 211 to 214 The rows concerned contain incorrect formulae – it appears as though the formulae from the preceding rows were copied down incorrectly. The rows will be corrected to reflect the correct formulae. High: the error will cause the SES adjustment and the SCR to be incorrect. Balance Sheet H229 and H231 Cell H229 is incorrect in that the deduction from Own Funds is not limited to zero. For example, if cell F228 is positive and F229 is zero or blank, then cell H229 actually increases Own Funds. The same applies to cell H231. The formulae in cells H229 and H231 will be corrected to ensure that the adjustments are always negative. High: the error will cause Own Funds for many insurers to be overstated. The formulae will be corrected to reflect column V instead of column U. Low: for life insurers, the error will result in an incorrect liquidity assessment. The results will however not affect the final SCR figure. SCR – LUR Lapse Risk Y14, AB14 and AE14 Cells Y14, AB14 and AE14 have incorrect formulae: reference is made to column U instead of column V. Page 8 of 28 Tab Balance Sheet SCR – LUR Lapse Risk SCR – LUR Lapse Risk Action Potential Impact (will vary per insurer) „Technical Provisions – Life‟!K99 is added twice in cell F24, and „Technical Provisions – Life‟!K108 has not been included in the addition in Cell F24. The incorrect linking will be amended. Further, cell F100 has similar errors and will also be corrected. Medium: for life insurers with the respective lines of business, the error will result in an incorrect level of Technical Provisions and Own Funds. Column AG The formulae in column AG appear to be incorrect. The formula for row 14 (and subsequent rows appropriately) should read =if($O$12>=$K$12,AE14,AB14) instead of =if($O$12>=$L$12,AE14,AB14) and will be corrected. Low: for life insurers, the error will result in an incorrect liquidity assessment. The results will however not affect the final SCR figure. Column AI The “Cashflowatrisk”-calculations in column AI look incorrect and returns unexpected results, distorting the overall liquidity results. Row 14 is also inconsistent with other rows. The formula for cell AI14 should be =if(Y14>0,(10.5*E14)*AG14,AG14). The formulae for column AI will be corrected to reflect this. Low: for life insurers, the error will result in an incorrect liquidity assessment. The results will however not affect the final SCR figure. The links in the “Life Risk” section point to incorrect cells on other tabs. For example, the Longevity Risk cell links to the Life CAT risk cell on the “SCR” tab. Life Revision risk will be deleted, and the cells in the summary tab will be correctly linked to the cells in rows 435 to 442 of the SCR tab. Low: for life insurers, the numbers presented merely summarise what was calculated in the other tabs. The overall SCR will still be correct and insurers can look up correct values for the Life SCR components in the SCR tab. We will correct by adding a negative sign in front of the Delta BOF, or alternatively by using max(0,BOF(before)-BOF(after)) to determine the risk charge, as is the case of the SCR tab. High: for life insurers, the error will cause the SCR Life Lapse risk charge to be incorrect. The formulae will be corrected to use “>” instead of “>=”. Low: for life insurers, the error will result in incorrect SCR Life Lapse risk charges. Life insurers can temporarily avoid the error by entering a very small Cells F24 and F100 Issue SA QIS3 Results E43:I51 SCR – LUR Lapse Risk Columns G, K and O The formulae in these cells appear to be incorrect. Columns K and O In columns K and O, in the formulae looks like “=IF(J14>=0,J14,MAX(I14,0))”. The first term in this formula test if the user populated the simplification cells and, if this is the case, it is used. Maybe this should be changed from “>=” to just “>”? Otherwise the formula would return zero if the simplification cells are left at 0. SCR – LUR Lapse Risk Page 9 of 28 Tab Cells Issue Action Potential Impact (will vary per insurer) number under the simplification cells. SCR Introduction Various D1:H1 There are some input cells where the data validation prevents negative entries. However, negative entries are possible (e.g. overall negative liabilities). The data validation will be checked and corrected to allow users to input negative values where these are appropriate. Medium: in such cases, insurers will not be able to capture the respective information and therefore not be able to calculate a correct SCR. Temporarily, insurers may input values in the other cells in such a way that the SCR is calculated correctly. I cannot find my company name in the list. The list will be updated to reflect the latest database of insurer names. Low: the input is only for information purposes and will not affect subsequent calculations in the return. On the solo return, on the „Technical Provisions – NonLife‟, under 1.B: SA QIS3 basis technical provisions: Is there a reason that for gross reserves, it asks for “Total Claims Provision” (column M-O) but for recoverables, it asks for “IBNR” (column AA-AC). There are several errors in the summation formulae on this tab. The formula for total gross provisions (column R) is (H + O + Q), but Q is O + P so it is double counting the claims provision (column O) and premium provisions (column I) are not taken into account at all (R should rather be H + I + Q?); there is a similar error on the recoverables portion. Technical Provisions – Non-Life In the “SA QIS3 Solo Return” worksheet, in the “Technical Provisions - Non-Life” tab, column AH – risk margin method used should be a drop down box but there is no list to choose from (line 132 down). Then further down the same column in the summaries section (line 267) it appears that the method is being summed, yet it is a qualitative entry not a quantitative entry. The IBNR label is incorrect and should read “Total Claims Provision”. The drop-down list should contain the various risk margin simplification methods. The correction macro will address these errors. In the interim, insurers are requested to continue populating the inputs as far as possible on this tab. There is a possible error in the SA QIS3 Solo Return workbook, "Technical Provisions - Non-Life" sheet. The "Totals" calculation for the Techncial provisions seems to Page 10 of 28 High: the errors on this tab will invalidate the results for Non-Life insurers. Tab Cells Issue Action Potential Impact (will vary per insurer) The correction macro will address this error. Medium: Insurers with RFF will not be able to complete the Solo Return. be doubling counting. Note: Error is feeding through to "Balance Sheet" tab From what I can see, on the technical provisions sheet in the solo return, premium provisions are not being added into the total for technical provisions? Can this be checked out. It looks to me as if column I:I should be included in the TP totals but it is not. columns Z and AC twice, since they‟re already included in column AE SA QIS3 Solo Return – Technical Provisions Non-Life – values from column O twice, since column O is already included in column Q C49:261 The blue cells requiring input from the NLUR WB Part 1 of 2 are locked SCR N55 N55 refers to a blank cell (I478). I think it should be referring to cell I420 rather. The correction macro will address this error. Low: cell N55 does not have dependent cells. The error will only cause potential misinterpretation. Liquidity Ratings Column B to E How do we complete the instrument if it is protected? The correction macro will address this error. Low: this is purely a labeling issue and has no impact on the results. The 50% used is correct. None RFF – Cells SCR SCR.6.3.9 Correlation matrix for the solo return to aggregate the Equity Price and Volatility in the SCR tab. The return uses a 50% correlation. Whereas the Technical Specifications (p.150) state that a correlation of 0.75% (see SCR.6.3.9) should be used. This means that the final SCR calculated by the return is out of line with the calculation prescribed in the Technical specifications. Page 11 of 28 Tab Cells Issue Action Potential Impact (will vary per insurer) Metadata X37, X38, X40, Y36, Z36 and AB36 The respective cells in the CorrMkt matrix refer to cell M57 in SCR tab, however cell M57 is blank. The interest rate section in the SCR tab will be amended to reflect whether the upward or downward stress bites, and the correlation matrix will be linked accordingly. High: the error will cause the SCR market risk charge to be incorrect. Action Potential Impact (will vary per insurer) Errata - Non-life Underwriting Risk Workbooks Tab Cells / Macro Issue The correction macro will address this issue. Company_Info (in Part 1 of 2) Output and Prem_Res_US P Customise Macro E15 (in Part 1 of 2) The embedded macro “Customise” does not work entirely correctly and may be hiding / not hiding some input cells (esp. related to lines of business) that are applicable to the insurer. I am following a “Line of Business” through this NLUR workbook to understand the implications for various inputs and I have a query. Premium & Reserve risk: The Premium and Reserve risk (row 15 of the Outputs worksheet) looks incorrect. There is no gross figure for Premium & Reserve risk, Even though I have completed the Prem_Res_USP worksheet? Is the cell E15 in the Outputs worksheet correctly linked? In the interim, insurers are requested to continue completing the spreadsheet without customising the workbook to ensure that no inputs required are omitted. To do so, please click on the “Show All” button. Low: the risk is that rows/columns are hidden that need to be completed. The cause of the problem is that the IFERROR function in the formulae of column AP, rows 20:244 of the “Prem_Res_USP” tab is not programmed correctly to cater for your “fully reinsured” position. The correction macro will be released in due course to address this issue. In particular, an additional column of inputs for the gross volume measures will be added to cater for the possibility that 100% of the business is reinsured for a given LoB. Medium: The error will affect only the gross results of business which is fully reinsured. Kindly proceed populating the inputs as far as possible in the meantime. „Loss_M1_Nat _CAT_Net‟ (in G15 The horizontal Nat Cat scenario is not being allowed for properly. The net Nat Cat capital requirement (Cell G15) Page 12 of 28 The correction macro will be released in due Medium: depends on the significance of the horizontal Tab Part 1 of 2) Cells / Macro Issue Action is set as the maximum across cells G16:G23 but these cells show the individual events within the horizontal scenario and not the total loss for the scenario (which should be the sum across Events 1-4). This means that the horizontal scenario does not bite even if it should. course to address this issue. Potential Impact (will vary per insurer) NatCat scenario to the insurer. Kindly proceed populating the inputs as far as possible in the meantime. The problem is caused by one of the “for” loops in the “CounterpartyDefault” macro that is referenced by the “DoCalculations” macro assigned to the red Calculate button. CP_CAT_RI (in Part 1 of 2) When you enter the percentage share per counterparty for each layer, the percentage share for the last counterparty entered is not counted in the risk mitigation calculation. For example, if you have 5 counterparties, the 5th counterparty is not counted. If you want the risk mitigation for the 5th counterparty to be counted, you need to enter 6 as the number of counterparties in the „Company_Info‟ tab. Effectively, it currently fails to remove and replace the last reinsurer in the list (by looping from 1 to N = the total number of counterparties, rather than N+1) hence why you need to enter 7 rather than 6. The correction macro will be released in due course to address this issue. Medium: depends on the significance of the last counterparty entered. Kindly proceed populating the inputs as far as possible in the meantime. CP_General (in Part 1 of 2) Output (in Part 1 of 2) Our insurance company uses reinsurers which have not been provided in the list of reinsurers in the CP_General tab found in the NLUR Workbook - Part 1. What should we do in this case? In “SA QIS3 NLUR Workbook - Part 1 of 2 - Main” I have put in all the reinsurance information as I think it should be put in […]. However, when I click calculate in the Output tab, the net CAT risk is more than the gross CAT risk for man-made CAT and net = gross for nat CAT, and hence the risk mitigation effect is coming through as negative. It appears that the net amount is the sum of the gross exposures for each CAT RI program, whereas the gross amount is just the maximum of the gross exposures over all CAT RI We are aware of this issue and will address it with the correction macro to be issued in due course. In the meantime, what you can do is simply enter the relevant names in the Abbreviation field leaving the Name field blank. There seems to be a bug with the “CounterpartyDefault” macro which is referenced by the “DoCalculations” macro which is run when you click the “Calculate” button on the “Output” sheet. What happens is that the net results produced by the “NetCatCalculation” macro (also referenced by the “DoCalculations” macro) are overwritten by the gross results without replacing them again after all reinsurers are allowed for. Page 13 of 28 Low: this is purely a labeling issue and has no impact on the results. Medium: the impact depend on the extent of the insurer‟s reinsurance programmes and should be material in most cases. Tab Cells / Macro Issue Action Potential Impact (will vary per insurer) programs. The correction macro will be released in due course to address this issue. Kindly proceed populating the inputs as far as possible in the meantime. Running the “NetCatCalculation” macro (via the Developer menu in Excel) allows to see how the reinsurance is applied. However, please note that in the debugging process we‟ve also picked up that there seems to be a problem with the calculations in Section 2 of the “Calculator_CAT_Net_Loss” sheet, relating to the horizontal scenario. We‟ll address this too in the correction macro. All input tabs (in Part 2 of 2) SL_Other_RI (in Part 1 of 2) Part 2 of 2 A17:J1000 15 The zones mapped to postal codes are not CRESTA zones. This is correct. The 19 catastrophe zones defined in SA QIS3 are the same as in SA QIS2 and are mapped to South African postal codes rather than CRESTA zones. It should read: Row 13 “Gross to Net Calculation Template (R'000)” The label incorrectly refers to Catastrophe Risk. The correction macro will fix this. Labels This workbook incorrectly refers to “Business Segments”. None (Re)insurers who collect the exposure info on a CRESTA zone basis only can contact the FSB for a mapping table. Replace “Business Segment(s)” with “Reinsurance Programme(s)” Page 14 of 28 Low: this is purely a labeling issue and has no impact on the results. Low: this is purely a labeling issue and has no impact on the results. 3. Frequently Asked Questions (FAQ) Frequently Asked Questions (FAQ) General The below are general questions that have been posed and are given here as a reminder: What must be included in the SA QIS3 submission? The Excel Validation & Submission Tool a PDF scanned copy of the sign-off report the Excel Qualitative Questionnaire the Word Qualitative Questionnaire and for non-life insurers both of the Non-life Workbooks (parts 1 and 2). For insurance groups, each solo licenced entity within the group must submit the above, and in addition the group must submit a completed SA QIS3 Group Return, sign-off form and Qualitative Questionnaire. By when must insurers submit their SA QIS3 return? Solo insurers (including solo insurers within a group) must submit by 30 April 2014 and groups by 14 May 2014. The tables in the rest of this section capture a collection of specific questions asked by industry during the various FSB SAM workshops and directly to the SAM Team regarding SA QIS3. Page 15 of 28 Ref. # Reference to Technical Specification Question / Answer We have assumed the longevity stress includes a decrease in AIDS related deaths as well as non-AIDS related deaths. Is this correct? 1. SCR.7.3.10 Your assumption is correct – the longevity stress includes a decrease in AIDS related deaths as well as non-AIDS related deaths. The longevity shock applies to the best estimate mortality rates, which includes best estimate rates for HIV/AIDS extra mortality. Is it correct that the premium risk factor for Aircraft is 14.5% whereas the same parameter for Marine, Rail, Transport is 14.6% ? 2. SCR.8.2.18 Yes, the parameter is a correct. It differs due to a difference in the credibility-weighting applied in the calibration exercise performed by the Non-Life Underwriting Risk Working Group. Further deductions from Basic Own Funds: should other interests such as longer term loans also be deducted? 3. OF.7 This point especially for the cash balances at a bank within the same financial conglomerate was discussed at SAM Steering Committee. It was identified that this matter was inserted due to a concern that banks may (where they have liquidity issues) put pressure on the insurers to hold all their cash and ST deposits with that bank. For this reason, cash deposits in OF.7.4 was extended to include short-term deposits – it was specifically decided to exclude longer term deposits as this would not shore up the liquidity of the bank. SCR.6.6.12 (...) A mapping table is attached as Annexure D to map national scale ratings to those specified. However, Annexure D in the technical specification covers a reinsurance topic, but not a credit rating mapping. 4. SCR.6.6.12 This mapping table was emailed to public officers and SAM coordinators on 29 November 2013 and is available for download on the FSB SAM website. 5. SCR.8.4.80 - 83 In the liability section, General public liability is used in the tech specs and General third party liability is used in the NLUR workbook. Public liability is typically a subset of 3rd party liability but they have been used interchangeably. Are they in fact the same thing? Page 16 of 28 Ref. # Reference to Technical Specification Question / Answer The intended wording is “General Third Party (including Public Liability)” throughout. Page 17 of 28 Appendix: NLUR Calculation Macros Part 1 of 2: Main CounterpartyDefault 1. Sub CounterpartyDefault() 2. ' This macro calculates the net SCR charge and reinsurance recoverables when counterparties are excluded one-by-one 3. Dim n_CP As Integer 4. Dim i As Integer 5. 6. 'On Error GoTo HandleError 7. 8. Application.ScreenUpdating = False 9. 10. 'Reads number of reinsurance counterparties from the workbook 11. n_CP = Sheets("Company_Info").Range("D20").Value 12. 13. 'Copy all CP data to UsedByMacros sheet 14. 'CP_Prem_NPAdj 15. Sheets("CP_Prem_NPAdj").Range("L20:AO127").Copy 16. Sheets("UsedByMacros").Activate 17. Sheets("UsedByMacros").Range("C16").Select 18. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 19. :=False, Transpose:=False 20. Application.CutCopyMode = False 21. 22. 23. 'CP_CAT_RI 24. 'A.Prop RI 25. Sheets("CP_CAT_RI").Range("D27:AG56").Copy 26. Sheets("UsedByMacros").Activate 27. Sheets("UsedByMacros").Range("B133").Select 28. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 29. :=False, Transpose:=False 30. Application.CutCopyMode = False 31. 32. 33. 'B.Non-Prop RI 34. Sheets("CP_CAT_RI").Range("D90:AG243").Copy 35. Sheets("UsedByMacros").Activate 36. Sheets("UsedByMacros").Range("B167").Select 37. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 38. :=False, Transpose:=False 39. Application.CutCopyMode = False 40. 41. 42. 'C.Other RI 43. Sheets("CP_CAT_RI").Range("D250:AG279").Copy 44. Sheets("UsedByMacros").Activate 45. Sheets("UsedByMacros").Range("B325").Select Page 18 of 28 46. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 47. :=False, Transpose:=False 48. Application.CutCopyMode = False 49. 50. 51. 52. 53. 'CP_SL_Other 54. 'SL RI 55. Sheets("CP_SL_Other").Range("D43:H72").Copy 56. Sheets("UsedByMacros").Activate 57. Sheets("UsedByMacros").Range("B364").Select 58. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 59. :=False, Transpose:=False 60. Application.CutCopyMode = False 61. 62. 63. 'Other RI 64. Sheets("CP_SL_Other").Range("D83:D112").Copy 65. Sheets("UsedByMacros").Activate 66. Sheets("UsedByMacros").Range("I364").Select 67. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 68. :=False, Transpose:=False 69. Application.CutCopyMode = False 70. 71. 72. 73. 'Prem_Res_USP 74. 'Prem Risk 75. Sheets("Prem_Res_USP").Range("K19:AN126").Copy 76. Sheets("UsedByMacros").Activate 77. Sheets("UsedByMacros").Range("C403").Select 78. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 79. :=False, Transpose:=False 80. Application.CutCopyMode = False 81. 82. 83. 'Res Risk 84. Sheets("Prem_Res_USP").Range("K137:AN244").Copy 85. Sheets("UsedByMacros").Activate 86. Sheets("UsedByMacros").Range("C519").Select 87. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 88. :=False, Transpose:=False 89. Application.CutCopyMode = False 90. 91. 92. 93. 94. 95. Sheets("CP_Default").Range("D25:D54").ClearContents 96. 97. 'Remove and put back counterparties one-by-one 98. For i = 1 To n_CP + 1 99. Sheets("CP_Prem_NPAdj").Range("L20:L127").Offset(0, i - 1).ClearContents 100. Sheets("CP_CAT_RI").Range("D27:AG27").Offset(i - 1, 0).ClearContents 101. Sheets("CP_CAT_RI").Range("D90:AG90").Offset(i - 1, 0).ClearContents 102. Sheets("CP_CAT_RI").Range("D121:AG121").Offset(i - 1, 0).ClearContents Page 19 of 28 103. Sheets("CP_CAT_RI").Range("D152:AG152").Offset(i - 1, 0).ClearContents 104. Sheets("CP_CAT_RI").Range("D183:AG183").Offset(i - 1, 0).ClearContents 105. Sheets("CP_CAT_RI").Range("D214:AG214").Offset(i - 1, 0).ClearContents 106. Sheets("CP_CAT_RI").Range("D250:AG250").Offset(i - 1, 0).ClearContents 107. Sheets("CP_SL_Other").Range("D43:H43").Offset(i - 1, 0).ClearContents 108. Sheets("CP_SL_Other").Range("D83").Offset(i - 1, 0).ClearContents 109. Sheets("Prem_Res_USP").Range("K19:K126").Offset(0, i - 1).ClearContents 110. Sheets("Prem_Res_USP").Range("K137:K244").Offset(0, i - 1).ClearContents 111. 112. NetCatCalculation 113. 114. Sheets("CP_Default").Range("d25").Offset(i - 1, 0).Value = Sheets("CP_Default").Range("c15").Value 115. 116. 'Copy all CP data back from UsedByMacros sheet 117. 'CP_Prem_NPAdj 118. Sheets("UsedByMacros").Range("C16:AF123").Copy 119. Sheets("CP_Prem_NPAdj").Activate 120. Sheets("CP_Prem_NPAdj").Range("L20").Select 121. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 122. :=False, Transpose:=False 123. Application.CutCopyMode = False 124. 125. 126. 'CP_CAT_RI 127. 'A.Prop RI 128. Sheets("UsedByMacros").Range("B133:AE162").Copy 129. Sheets("CP_CAT_RI").Activate 130. Sheets("CP_CAT_RI").Range("D27").Select 131. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 132. :=False, Transpose:=False 133. Application.CutCopyMode = False 134. 135. 'B.Non-Prop RI 136. Sheets("UsedByMacros").Range("B167:AE320").Copy 137. Sheets("CP_CAT_RI").Activate 138. Sheets("CP_CAT_RI").Range("D90").Select 139. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 140. :=False, Transpose:=False 141. Application.CutCopyMode = False 142. 143. 'C.Other RI 144. Sheets("UsedByMacros").Range("B325:AE354").Copy 145. Sheets("CP_CAT_RI").Activate 146. Sheets("CP_CAT_RI").Range("D250").Select 147. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 148. :=False, Transpose:=False 149. Application.CutCopyMode = False 150. 151. 'CP_SL_Other 152. 'SL RI 153. Sheets("UsedByMacros").Range("B364:F393").Copy 154. Sheets("CP_SL_Other").Activate 155. Sheets("CP_SL_Other").Range("D43").Select 156. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 157. :=False, Transpose:=False 158. Application.CutCopyMode = False Page 20 of 28 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 'Other RI Sheets("UsedByMacros").Range("I364:I393").Copy Sheets("CP_SL_Other").Activate Sheets("CP_SL_Other").Range("D83").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False 'Prem_Res_USP 'Prem Risk Sheets("UsedByMacros").Range("C403:AF510").Copy Sheets("Prem_Res_USP").Activate Sheets("Prem_Res_USP").Range("K19").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False 'Res Risk Sheets("UsedByMacros").Range("C519:AF626").Copy Sheets("Prem_Res_USP").Activate Sheets("Prem_Res_USP").Range("K137").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False Next i Application.ScreenUpdating = True 'HandleError: ' HandleErrors End Sub NatCatCalculation 1. Sub NetCatCalculation() 2. 3. ' On Error GoTo HandleError 4. 5. Application.ScreenUpdating = False 6. 7. 'NatCat M1 losses 8. Sheets("Loss_M1_Nat_CAT_Net").Range("f31:ak38").ClearContents 9. For r = 1 To 2 10. If Sheets("Loss_M1_Nat_CAT_Gross").Range("e17").Offset(r, 0).Value > 0 Then 11. Sheets("Loss_M1_Nat_CAT_Gross").Range("e17:AJ17").Offset(r, 0).Copy 12. Sheets("Calculator_CAT_Net_Loss").Activate 13. Range("D16").Select 14. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 15. :=False, Transpose:=False 16. Application.CutCopyMode = False 17. Calculate 18. Sheets("Calculator_CAT_Net_Loss").Range("D39").Select 19. Range(Selection, Selection.End(xlToRight)).Copy Page 21 of 28 20. Sheets("Loss_M1_Nat_CAT_Net").Activate 21. Range("f30").Offset(r, 0).Select 22. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 23. :=False, Transpose:=False 24. Application.CutCopyMode = False 25. End If 26. Next r 27. 28. ' the horizontal NatCAT losses uses a seperate calculator 29. 30. Sheets("Loss_M1_Nat_CAT_Gross").Range("e20:AJ23").Copy 31. Sheets("Calculator_CAT_Net_Loss").Activate 32. Range("D48").Select 33. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 34. :=False, Transpose:=False 35. Application.CutCopyMode = False 36. Calculate 37. Sheets("Calculator_CAT_Net_Loss").Range("D129:AI132").Copy 38. Sheets("Loss_M1_Nat_CAT_Net").Activate 39. Range("f33").Select 40. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 41. :=False, Transpose:=False 42. Application.CutCopyMode = False 43. 44. For r = 7 To 8 45. If Sheets("Loss_M1_Nat_CAT_Gross").Range("e17").Offset(r, 0).Value > 0 Then 46. Sheets("Loss_M1_Nat_CAT_Gross").Range("e17:AJ17").Offset(r, 0).Copy 47. Sheets("Calculator_CAT_Net_Loss").Activate 48. Range("D16").Select 49. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 50. :=False, Transpose:=False 51. Application.CutCopyMode = False 52. Calculate 53. Sheets("Calculator_CAT_Net_Loss").Range("D39").Select 54. Range(Selection, Selection.End(xlToRight)).Copy 55. Sheets("Loss_M1_Nat_CAT_Net").Activate 56. Range("f30").Offset(r, 0).Select 57. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 58. :=False, Transpose:=False 59. Application.CutCopyMode = False 60. End If 61. Next r 62. 63. 'MM M1 Cat losses 64. 'fire 65. Sheets("Loss_M1_MM_CAT_Gross_Net").Range("J117:AO118").ClearContents 66. For r = 1 To 2 67. If Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j30").Offset(r, 0).Value > 0 Then 68. Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j30:AO30").Offset(r, 0).Copy 69. Sheets("Calculator_CAT_Net_Loss").Activate 70. Range("D16").Select 71. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 72. :=False, Transpose:=False 73. Application.CutCopyMode = False 74. Calculate 75. Sheets("Calculator_CAT_Net_Loss").Range("D39").Select 76. Range(Selection, Selection.End(xlToRight)).Copy Page 22 of 28 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. Sheets("Loss_M1_MM_CAT_Gross_Net").Activate Range("j116").Offset(r, 0).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False End If Next r 'motor Sheets("Loss_M1_MM_CAT_Gross_Net").Range("J126:AO127").ClearContents For r = 1 To 2 If Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j39").Offset(r, 0).Value > 0 Then Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j39:AO39").Offset(r, 0).Copy Sheets("Calculator_CAT_Net_Loss").Activate Range("D16").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False Calculate Sheets("Calculator_CAT_Net_Loss").Range("D39").Select Range(Selection, Selection.End(xlToRight)).Copy Sheets("Loss_M1_MM_CAT_Gross_Net").Activate Range("j125").Offset(r, 0).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False End If Next r 'marine Sheets("Loss_M1_MM_CAT_Gross_Net").Range("J134:AO136").ClearContents For r = 1 To 3 If Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j47").Offset(r, 0).Value > 0 Then Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j47:AO47").Offset(r, 0).Copy Sheets("Calculator_CAT_Net_Loss").Activate Range("D16").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False Calculate Sheets("Calculator_CAT_Net_Loss").Range("D39").Select Range(Selection, Selection.End(xlToRight)).Copy Sheets("Loss_M1_MM_CAT_Gross_Net").Activate Range("j133").Offset(r, 0).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False End If Next r 'C&S Sheets("Loss_M1_MM_CAT_Gross_Net").Range("J146:AO147").ClearContents For r = 1 To 2 If Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j59").Offset(r, 0).Value > 0 Then Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j59:AO59").Offset(r, 0).Copy Sheets("Calculator_CAT_Net_Loss").Activate Range("D16").Select Page 23 of 28 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False Calculate Sheets("Calculator_CAT_Net_Loss").Range("D39").Select Range(Selection, Selection.End(xlToRight)).Copy Sheets("Loss_M1_MM_CAT_Gross_Net").Activate Range("j145").Offset(r, 0).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False End If Next r Sheets("Loss_M1_MM_CAT_Gross_Net").Range("J153:AO155").ClearContents For r = 1 To 3 If Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j66").Offset(r, 0).Value > 0 Then Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j66:AO66").Offset(r, 0).Copy Sheets("Calculator_CAT_Net_Loss").Activate Range("D16").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False Calculate Sheets("Calculator_CAT_Net_Loss").Range("D39").Select Range(Selection, Selection.End(xlToRight)).Copy Sheets("Loss_M1_MM_CAT_Gross_Net").Activate Range("j152").Offset(r, 0).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False End If Next r 'Aviation Sheets("Loss_M1_MM_CAT_Gross_Net").Range("J167:AO168").ClearContents For r = 1 To 2 If Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j80").Offset(r, 0).Value > 0 Then Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j80:AO80").Offset(r, 0).Copy Sheets("Calculator_CAT_Net_Loss").Activate Range("D16").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False Calculate Sheets("Calculator_CAT_Net_Loss").Range("D39").Select Range(Selection, Selection.End(xlToRight)).Copy Sheets("Loss_M1_MM_CAT_Gross_Net").Activate Range("j166").Offset(r, 0).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False End If Next r Sheets("Loss_M1_MM_CAT_Gross_Net").Range("J170:AO170").ClearContents For r = 1 To 1 Page 24 of 28 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. If Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j83").Offset(r, 0).Value > 0 Then Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j83:AO83").Offset(r, 0).Copy Sheets("Calculator_CAT_Net_Loss").Activate Range("D16").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False Calculate Sheets("Calculator_CAT_Net_Loss").Range("D39").Select Range(Selection, Selection.End(xlToRight)).Copy Sheets("Loss_M1_MM_CAT_Gross_Net").Activate Range("j169").Offset(r, 0).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False End If Next r 'Liability Sheets("Loss_M1_MM_CAT_Gross_Net").Range("J178:AO182").ClearContents For r = 1 To 5 If Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j91").Offset(r, 0).Value > 0 Then Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j91:AO91").Offset(r, 0).Copy Sheets("Calculator_CAT_Net_Loss").Activate Range("D16").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False Calculate Sheets("Calculator_CAT_Net_Loss").Range("D39").Select Range(Selection, Selection.End(xlToRight)).Copy Sheets("Loss_M1_MM_CAT_Gross_Net").Activate Range("j177").Offset(r, 0).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False End If Next r 'Terrorism Sheets("Loss_M1_MM_CAT_Gross_Net").Range("J189:AO191").ClearContents For r = 1 To 3 If Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j102").Offset(r, 0).Value > 0 Then Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j102:AO102").Offset(r, 0).Copy Sheets("Calculator_CAT_Net_Loss").Activate Range("D16").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False Calculate Sheets("Calculator_CAT_Net_Loss").Range("D39").Select Range(Selection, Selection.End(xlToRight)).Copy Sheets("Loss_M1_MM_CAT_Gross_Net").Activate Range("j188").Offset(r, 0).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False Page 25 of 28 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. End If Next r 'M2 Cat losses Sheets("Loss_M2_CAT").Range("e272:AJ501").ClearContents For r = 1 To 230 If Sheets("Loss_M2_CAT").Range("e34").Offset(r, 0).Value > 0 Then Sheets("Loss_M2_CAT").Range("E34:AJ34").Offset(r, 0).Copy Sheets("Calculator_CAT_Net_Loss").Activate Range("D16").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False Calculate Sheets("Calculator_CAT_Net_Loss").Range("D39").Select Range(Selection, Selection.End(xlToRight)).Copy Sheets("Loss_M2_CAT").Activate Range("e272").Offset(r, 0).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False End If Next r Application.ScreenUpdating = True 'HandleError: ' HandleErrors End Sub GoalSeekMotor 1. Sub GoalSeekMotor() 2. 3. Sheets("MetaData").Range("f64").Value = 1 4. Sheets("MetaData").Range("f67").GoalSeek Goal:=0.0005, ChangingCell:=Sheets("MetaData").Range("f64") 5. 6. End Sub DoCalculations 1. Sub DoCalculations() 2. 3. ' On Error GoTo HandleError 4. 5. Application.ScreenUpdating = False 6. 7. 8. GoalSeekMotor 9. NetCatCalculation 10. CounterpartyDefault Page 26 of 28 11. 12. 13. Application.CutCopyMode = False 14. 15. 'ProtectAll 16. 17. Sheets("Output").Activate 18. 19. Application.ScreenUpdating = True 20. 21. MsgBox "The calculation has been completed", vbInformation, "Calculation Completed" 22. 23. Exit Sub 24. 25. 'HandleError: 26. ' HandleErrors 27. End Sub Part 2 of 2: NatCAT GenerateNatCatGrossLoss 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Sub GenerateNatCatGrossLoss() ' ' Generates the gross losses for natural catastrophes per Business Segment ' Dim n As Integer Dim num As Integer Application.ScreenUpdating = False num = Sheets("Customisation").Range("D19").Value Sheets("Output").Range("L18:S49").ClearContents For n = -1 To num If n = 0 And Sheets("Customisation").Range("D20").Value = "Yes" Then n=n+1 End If 'Set indicator to correct Business Segment Sheets("Output").Range("B17").Value = n 'Copy results Sheets("Output").Range("L52:S52").Copy Sheets("Output").Range("L17").Offset(n + 2, 0).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False 25. Application.CutCopyMode = False 26. Next n 27. 28. Sheets("Output").Activate 29. Page 27 of 28 30. 31. 32. 33. 34. 35. Application.ScreenUpdating = True MsgBox "The calculation has been completed", vbInformation, "Calculation Complete" End Sub Page 28 of 28