Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Page 2 of 28
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: [email protected] (for general queries)
[email protected] (for SA QIS3 related queries)
Website: www.fsb.co.za
Page 3 of 28
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 [email protected] 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 [email protected]
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.
1. Introduction
Page 4 of 28
Spreadsheet Errata
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 [email protected]
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 Action
Potential Impact (will vary per insurer)
All input tabs requiring Line of Business
(LoB) information in
all spreadsheets, for Technical Provisions, SCR and
MCR
N/A
The line of business (LoB) segmentation
originally adopted for SA QIS3 is per the
current recommendation in Discussion Document 29.
After further industry
consultation, a decision was made to change the segmentation for all non-
life insurers and reinsurers as described
in the next column.
LoB 10: Liability
For LoB 10: Liability, the sub-LoB split is changed as follows:
OLD NEW
a. Liability – Motor a. Liability – Professional Indemnity
b. Liability – Aircraft b. Liability –General Third Party (including Public Liability)
c. Liability – Marine c. Liability - Employers‟ Liability
d. Liability – Rail d. Liability – Directors‟ & Officers
e. Liability – Transport e. Liability – Product
f. Liability – Engineering f. Liability – Fidelity Guarantee
g. Liability – Other 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.
High: The changes will
potentially change the capital requirements for
premium and reserve risk significantly.
2. Errata
Page 5 of 28
Tab
Cells Issue Action
Potential Impact (will vary per insurer)
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 [email protected] 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
[email protected] to agree a suitable reporting arrangement.
Page 6 of 28
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
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.
It should read:
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 non-
guarantee business.
p.115,
SCR.1.10.2
p.117,
SCR.2.2
p.119,
SCR.2.10.1
p.268,
Footnote 38
Reference is made to SCR.14 which does not exist in the document.
Replace “14” with “2” throughout. E.g. SCR.14 should read SCR.2 and SCR.14.2 should read SCR2.2 etc.
The exception to this is the reference to SCR.14.6 in Footnote 38 on p.268 which should read SCR.13.6
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 7 of 28
Page,
Tech Spec Ref.
Issue Action
Footnote 31
therefore not subject to the spread risk sub-module.”
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.
p.187,
SCR.7.4.7 The numbering is incorrect.
It should read:
SCR.7.4.6 (b) iv (and appropriately indented to be in line with the other items in (b).
p.190,
SCR.7.4.29-30
Wording for simplification for disability risk should be as per SA QIS2 SCR.7.42. and SCR.7.43.
It should read:
SCR.7.4.29 The capital requirement for disability risk according to the simplified calculation is the sum of
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:
(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
the projected disability increase (1.1((n-2)/2)
), based on the
Page 8 of 28
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
the projected disability increase (1.1((n-1)/2)
).
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.
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.
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.
Page 9 of 28
Tab
Cells Issue Action
Potential Impact (will vary per insurer)
Balance Sheet F24 and
F100
„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.
SCR – LUR Lapse Risk
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.
SCR – LUR Lapse Risk
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,(1-0.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.
SA QIS3 Results
E43:I51 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.
SCR – LUR Lapse Risk
Columns G, K and
O The formulae in these cells appear to be incorrect.
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.
SCR – LUR Lapse Risk
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.
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
Page 10 of 28
Tab
Cells Issue Action
Potential Impact (will vary per insurer)
number under the simplification cells.
SCR Various 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.
Introduction D1:H1 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.
Technical Provisions –
Non-Life
On the solo return, on the „Technical Provisions – Non-Life‟, 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).
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.
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.
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
There are several errors in the summation formulae on this tab.
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.
High: the errors on this tab
will invalidate the results for Non-Life insurers.
Page 11 of 28
Tab
Cells Issue Action
Potential Impact (will vary per insurer)
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
RFF – Cells C49:261 The blue cells requiring input from the NLUR WB Part 1 of
2 are locked The correction macro will address this error.
Medium: Insurers with RFF
will not be able to complete the Solo Return.
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.
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.
The 50% used is correct. None
Page 12 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.
Errata - Non-life Underwriting Risk Workbooks
Tab
Cells / Macro
Issue Action Potential Impact (will vary
per insurer)
Company_Info
(in Part 1 of 2)
Customise Macro
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.
The correction macro will address this issue.
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.
Output and Prem_Res_US
P
(in Part 1 of 2)
E15
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?
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.
Kindly proceed populating the inputs as far as possible in the meantime.
Medium: The error will affect
only the gross results of business which is fully
reinsured.
„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)
The correction macro will be released in due Medium: depends on the
significance of the horizontal
Page 13 of 28
Tab
Cells / Macro
Issue Action Potential Impact (will vary
per insurer)
Part 1 of 2) 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.
Kindly proceed populating the inputs as far as possible in the meantime.
NatCat scenario to the insurer.
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.
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.
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.
Kindly proceed populating the inputs as far as possible in the meantime.
Medium: depends on the
significance of the last counterparty entered.
CP_General
(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?
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.
Low: this is purely a labeling
issue and has no impact on the results.
Output
(in Part 1 of 2)
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
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.
Medium: the impact depend
on the extent of the insurer‟s reinsurance programmes and should be material in
most cases.
Page 14 of 28
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)
A17:J100015
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.
(Re)insurers who collect the exposure info on a CRESTA zone basis only can contact the FSB for
a mapping table.
None
SL_Other_RI
(in Part 1 of 2) Row 13 The label incorrectly refers to Catastrophe Risk.
It should read:
“Gross to Net Calculation Template (R'000)”
The correction macro will fix this.
Low: this is purely a labeling
issue and has no impact on the results.
Part 2 of 2 Labels This workbook incorrectly refers to “Business Segments”. Replace “Business Segment(s)” with “Reinsurance
Programme(s)”
Low: this is purely a labeling
issue and has no impact on the results.
Page 15 of 28
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.
3. Frequently Asked Questions (FAQ)
Page 16 of 28
Ref. #
Reference to
Technical Specification
Question / Answer
1. SCR.7.3.10
We have assumed the longevity stress includes a decrease in AIDS related deaths as well as non-AIDS related deaths. Is this
correct?
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.
2. SCR.8.2.18
Is it correct that the premium risk factor for Aircraft is 14.5% whereas the same parameter for Marine, Rail, Transport is 14.6% ?
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.
3. OF.7
Further deductions from Basic Own Funds: should other interests such as longer term loans also be deducted?
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.
4. SCR.6.6.12
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.
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 17 of 28
Ref. #
Reference to
Technical Specification
Question / Answer
The intended wording is “General Third Party (including Public Liability)” throughout.
Page 18 of 28
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
Appendix: NLUR Calculation Macros
Page 19 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 20 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 21 of 28
159.
160. 'Other RI
161. Sheets("UsedByMacros").Range("I364:I393").Copy
162. Sheets("CP_SL_Other").Activate
163. Sheets("CP_SL_Other").Range("D83").Select
164. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
165. :=False, Transpose:=False
166. Application.CutCopyMode = False
167.
168. 'Prem_Res_USP
169. 'Prem Risk
170. Sheets("UsedByMacros").Range("C403:AF510").Copy
171. Sheets("Prem_Res_USP").Activate
172. Sheets("Prem_Res_USP").Range("K19").Select
173. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
174. :=False, Transpose:=False
175. Application.CutCopyMode = False
176.
177. 'Res Risk
178. Sheets("UsedByMacros").Range("C519:AF626").Copy
179. Sheets("Prem_Res_USP").Activate
180. Sheets("Prem_Res_USP").Range("K137").Select
181. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
182. :=False, Transpose:=False
183. Application.CutCopyMode = False
184.
185. Next i
186.
187. Application.ScreenUpdating = True
188.
189. 'HandleError:
190. ' HandleErrors
191. 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 22 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 23 of 28
77. Sheets("Loss_M1_MM_CAT_Gross_Net").Activate
78. Range("j116").Offset(r, 0).Select
79. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
80. :=False, Transpose:=False
81. Application.CutCopyMode = False
82. End If
83. Next r
84.
85. 'motor
86. Sheets("Loss_M1_MM_CAT_Gross_Net").Range("J126:AO127").ClearContents
87. For r = 1 To 2
88. If Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j39").Offset(r, 0).Value > 0 Then
89. Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j39:AO39").Offset(r, 0).Copy
90. Sheets("Calculator_CAT_Net_Loss").Activate
91. Range("D16").Select
92. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
93. :=False, Transpose:=False
94. Application.CutCopyMode = False
95. Calculate
96. Sheets("Calculator_CAT_Net_Loss").Range("D39").Select
97. Range(Selection, Selection.End(xlToRight)).Copy
98. Sheets("Loss_M1_MM_CAT_Gross_Net").Activate
99. Range("j125").Offset(r, 0).Select
100. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
101. :=False, Transpose:=False
102. Application.CutCopyMode = False
103. End If
104. Next r
105.
106. 'marine
107. Sheets("Loss_M1_MM_CAT_Gross_Net").Range("J134:AO136").ClearContents
108. For r = 1 To 3
109. If Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j47").Offset(r, 0).Value > 0 Then
110. Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j47:AO47").Offset(r, 0).Copy
111. Sheets("Calculator_CAT_Net_Loss").Activate
112. Range("D16").Select
113. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
114. :=False, Transpose:=False
115. Application.CutCopyMode = False
116. Calculate
117. Sheets("Calculator_CAT_Net_Loss").Range("D39").Select
118. Range(Selection, Selection.End(xlToRight)).Copy
119. Sheets("Loss_M1_MM_CAT_Gross_Net").Activate
120. Range("j133").Offset(r, 0).Select
121. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
122. :=False, Transpose:=False
123. Application.CutCopyMode = False
124. End If
125. Next r
126.
127. 'C&S
128. Sheets("Loss_M1_MM_CAT_Gross_Net").Range("J146:AO147").ClearContents
129. For r = 1 To 2
130. If Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j59").Offset(r, 0).Value > 0 Then
131. Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j59:AO59").Offset(r, 0).Copy
132. Sheets("Calculator_CAT_Net_Loss").Activate
133. Range("D16").Select
Page 24 of 28
134. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
135. :=False, Transpose:=False
136. Application.CutCopyMode = False
137. Calculate
138. Sheets("Calculator_CAT_Net_Loss").Range("D39").Select
139. Range(Selection, Selection.End(xlToRight)).Copy
140. Sheets("Loss_M1_MM_CAT_Gross_Net").Activate
141. Range("j145").Offset(r, 0).Select
142. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
143. :=False, Transpose:=False
144. Application.CutCopyMode = False
145. End If
146. Next r
147.
148. Sheets("Loss_M1_MM_CAT_Gross_Net").Range("J153:AO155").ClearContents
149. For r = 1 To 3
150. If Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j66").Offset(r, 0).Value > 0 Then
151. Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j66:AO66").Offset(r, 0).Copy
152. Sheets("Calculator_CAT_Net_Loss").Activate
153. Range("D16").Select
154. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
155. :=False, Transpose:=False
156. Application.CutCopyMode = False
157. Calculate
158. Sheets("Calculator_CAT_Net_Loss").Range("D39").Select
159. Range(Selection, Selection.End(xlToRight)).Copy
160. Sheets("Loss_M1_MM_CAT_Gross_Net").Activate
161. Range("j152").Offset(r, 0).Select
162. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
163. :=False, Transpose:=False
164. Application.CutCopyMode = False
165. End If
166. Next r
167.
168. 'Aviation
169. Sheets("Loss_M1_MM_CAT_Gross_Net").Range("J167:AO168").ClearContents
170. For r = 1 To 2
171. If Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j80").Offset(r, 0).Value > 0 Then
172. Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j80:AO80").Offset(r, 0).Copy
173. Sheets("Calculator_CAT_Net_Loss").Activate
174. Range("D16").Select
175. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
176. :=False, Transpose:=False
177. Application.CutCopyMode = False
178. Calculate
179. Sheets("Calculator_CAT_Net_Loss").Range("D39").Select
180. Range(Selection, Selection.End(xlToRight)).Copy
181. Sheets("Loss_M1_MM_CAT_Gross_Net").Activate
182. Range("j166").Offset(r, 0).Select
183. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
184. :=False, Transpose:=False
185. Application.CutCopyMode = False
186. End If
187. Next r
188.
189. Sheets("Loss_M1_MM_CAT_Gross_Net").Range("J170:AO170").ClearContents
190. For r = 1 To 1
Page 25 of 28
191. If Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j83").Offset(r, 0).Value > 0 Then
192. Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j83:AO83").Offset(r, 0).Copy
193. Sheets("Calculator_CAT_Net_Loss").Activate
194. Range("D16").Select
195. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
196. :=False, Transpose:=False
197. Application.CutCopyMode = False
198. Calculate
199. Sheets("Calculator_CAT_Net_Loss").Range("D39").Select
200. Range(Selection, Selection.End(xlToRight)).Copy
201. Sheets("Loss_M1_MM_CAT_Gross_Net").Activate
202. Range("j169").Offset(r, 0).Select
203. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
204. :=False, Transpose:=False
205. Application.CutCopyMode = False
206. End If
207. Next r
208.
209. 'Liability
210. Sheets("Loss_M1_MM_CAT_Gross_Net").Range("J178:AO182").ClearContents
211. For r = 1 To 5
212. If Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j91").Offset(r, 0).Value > 0 Then
213. Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j91:AO91").Offset(r, 0).Copy
214. Sheets("Calculator_CAT_Net_Loss").Activate
215. Range("D16").Select
216. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
217. :=False, Transpose:=False
218. Application.CutCopyMode = False
219. Calculate
220. Sheets("Calculator_CAT_Net_Loss").Range("D39").Select
221. Range(Selection, Selection.End(xlToRight)).Copy
222. Sheets("Loss_M1_MM_CAT_Gross_Net").Activate
223. Range("j177").Offset(r, 0).Select
224. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
225. :=False, Transpose:=False
226. Application.CutCopyMode = False
227. End If
228. Next r
229.
230. 'Terrorism
231. Sheets("Loss_M1_MM_CAT_Gross_Net").Range("J189:AO191").ClearContents
232. For r = 1 To 3
233. If Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j102").Offset(r, 0).Value > 0 Then
234. Sheets("Loss_M1_MM_CAT_Gross_Net").Range("j102:AO102").Offset(r, 0).Copy
235. Sheets("Calculator_CAT_Net_Loss").Activate
236. Range("D16").Select
237. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
238. :=False, Transpose:=False
239. Application.CutCopyMode = False
240. Calculate
241. Sheets("Calculator_CAT_Net_Loss").Range("D39").Select
242. Range(Selection, Selection.End(xlToRight)).Copy
243. Sheets("Loss_M1_MM_CAT_Gross_Net").Activate
244. Range("j188").Offset(r, 0).Select
245. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
246. :=False, Transpose:=False
247. Application.CutCopyMode = False
Page 26 of 28
248. End If
249. Next r
250.
251. 'M2 Cat losses
252. Sheets("Loss_M2_CAT").Range("e272:AJ501").ClearContents
253. For r = 1 To 230
254. If Sheets("Loss_M2_CAT").Range("e34").Offset(r, 0).Value > 0 Then
255. Sheets("Loss_M2_CAT").Range("E34:AJ34").Offset(r, 0).Copy
256. Sheets("Calculator_CAT_Net_Loss").Activate
257. Range("D16").Select
258. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
259. :=False, Transpose:=False
260. Application.CutCopyMode = False
261. Calculate
262. Sheets("Calculator_CAT_Net_Loss").Range("D39").Select
263. Range(Selection, Selection.End(xlToRight)).Copy
264. Sheets("Loss_M2_CAT").Activate
265. Range("e272").Offset(r, 0).Select
266. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
267. :=False, Transpose:=False
268. Application.CutCopyMode = False
269. End If
270. Next r
271.
272. Application.ScreenUpdating = True
273.
274. 'HandleError:
275. ' HandleErrors
276. 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 27 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. Sub GenerateNatCatGrossLoss()
2. '
3. ' Generates the gross losses for natural catastrophes per Business Segment
4. '
5. Dim n As Integer
6. Dim num As Integer
7.
8. Application.ScreenUpdating = False
9.
10. num = Sheets("Customisation").Range("D19").Value
11.
12. Sheets("Output").Range("L18:S49").ClearContents
13.
14. For n = -1 To num
15. If n = 0 And Sheets("Customisation").Range("D20").Value = "Yes" Then
16. n = n + 1
17. End If
18. 'Set indicator to correct Business Segment
19. Sheets("Output").Range("B17").Value = n
20.
21. 'Copy results
22. Sheets("Output").Range("L52:S52").Copy
23. Sheets("Output").Range("L17").Offset(n + 2, 0).Select
24. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False,
Transpose:=False
25. Application.CutCopyMode = False
26. Next n
27.
28. Sheets("Output").Activate
29.