122
122
* It provides the following Functionality:
123
123
*
124
124
* <ul>
125
- * <li><i>ProductClassSensitivity</i> Constructor</li>
125
+ * <li>Construct an ISDA SIMM 2.0 Version of <i>ProductClassSettings</i></li>
126
+ * <li>Construct an ISDA SIMM 2.1 Version of <i>ProductClassSettings</i></li>
127
+ * <li>Construct an ISDA SIMM 2.4 Version of <i>ProductClassSettings</i></li>
128
+ * <li><i>ProductClassSettings</i> Constructor</li>
129
+ * <li>Retrieve the Equity Risk Class Sensitivity Settings</li>
130
+ * <li>Retrieve the Commodity Risk Class Sensitivity Settings</li>
131
+ * <li>Retrieve the FX Risk Class Sensitivity Settings</li>
132
+ * <li>Retrieve the IR Risk Class Sensitivity Settings</li>
133
+ * <li>Retrieve the Credit Qualifying Risk Class Sensitivity Settings</li>
134
+ * <li>Retrieve the Credit Non-Qualifying Risk Class Sensitivity Settings</li>
135
+ * <li>Retrieve the Cross Risk Class Label Correlation</li>
126
136
* </ul>
127
137
*
128
138
* <br>
@@ -148,96 +158,74 @@ public class ProductClassSettings
148
158
private RiskClassSensitivitySettingsCR _creditNonQualifyingRiskClassSensitivitySettings = null ;
149
159
150
160
/**
151
- * Construct an ISDA SIMM 2.0 Version of ProductClassSettings
161
+ * Construct an ISDA SIMM 2.0 Version of <i> ProductClassSettings</i>
152
162
*
153
163
* @param currencyList Currency List
154
164
* @param vegaDurationDays The Volatility Duration in Days
155
165
*
156
- * @return ISDA SIMM 2.0 Version of ProductClassSettings
166
+ * @return ISDA SIMM 2.0 Version of <i> ProductClassSettings</i>
157
167
*/
158
168
159
169
public static final ProductClassSettings ISDA_20 (
160
170
final List <String > currencyList ,
161
171
final int vegaDurationDays )
162
172
{
163
- try
164
- {
173
+ try {
165
174
return new ProductClassSettings (
166
- RiskClassSensitivitySettings .ISDA_EQ_20 (
167
- vegaDurationDays
168
- ),
169
- RiskClassSensitivitySettings .ISDA_CT_20 (
170
- vegaDurationDays
171
- ),
172
- RiskClassSensitivitySettings .ISDA_FX_20 (
173
- vegaDurationDays
174
- ),
175
- RiskClassSensitivitySettingsIR .ISDA_20 (
176
- currencyList
177
- ),
175
+ RiskClassSensitivitySettings .ISDA_EQ_20 (vegaDurationDays ),
176
+ RiskClassSensitivitySettings .ISDA_CT_20 (vegaDurationDays ),
177
+ RiskClassSensitivitySettings .ISDA_FX_20 (vegaDurationDays ),
178
+ RiskClassSensitivitySettingsIR .ISDA_20 (currencyList ),
178
179
RiskClassSensitivitySettingsCR .ISDA_CRQ_20 (),
179
180
RiskClassSensitivitySettingsCR .ISDA_CRNQ_20 (),
180
181
CrossRiskClassCorrelation20 .Matrix ()
181
182
);
182
- }
183
- catch (Exception e )
184
- {
183
+ } catch (Exception e ) {
185
184
e .printStackTrace ();
186
185
}
187
186
188
187
return null ;
189
188
}
190
189
191
190
/**
192
- * Construct an ISDA SIMM 2.1 Version of ProductClassSettings
191
+ * Construct an ISDA SIMM 2.1 Version of <i> ProductClassSettings</i>
193
192
*
194
193
* @param currencyList Currency List
195
194
* @param vegaDurationDays The Volatility Duration in Days
196
195
*
197
- * @return ISDA SIMM 2.1 Version of ProductClassSettings
196
+ * @return ISDA SIMM 2.1 Version of <i> ProductClassSettings</i>
198
197
*/
199
198
200
199
public static final ProductClassSettings ISDA_21 (
201
200
final List <String > currencyList ,
202
201
final int vegaDurationDays )
203
202
{
204
- try
205
- {
203
+ try {
206
204
return new ProductClassSettings (
207
- RiskClassSensitivitySettings .ISDA_EQ_21 (
208
- vegaDurationDays
209
- ),
210
- RiskClassSensitivitySettings .ISDA_CT_21 (
211
- vegaDurationDays
212
- ),
213
- RiskClassSensitivitySettings .ISDA_FX_21 (
214
- vegaDurationDays
215
- ),
216
- RiskClassSensitivitySettingsIR .ISDA_21 (
217
- currencyList
218
- ),
205
+ RiskClassSensitivitySettings .ISDA_EQ_21 (vegaDurationDays ),
206
+ RiskClassSensitivitySettings .ISDA_CT_21 (vegaDurationDays ),
207
+ RiskClassSensitivitySettings .ISDA_FX_21 (vegaDurationDays ),
208
+ RiskClassSensitivitySettingsIR .ISDA_21 (currencyList ),
219
209
RiskClassSensitivitySettingsCR .ISDA_CRQ_21 (),
220
210
RiskClassSensitivitySettingsCR .ISDA_CRNQ_21 (),
221
211
CrossRiskClassCorrelation21 .Matrix ()
222
212
);
223
- }
224
- catch (Exception e )
225
- {
213
+ } catch (Exception e ) {
226
214
e .printStackTrace ();
227
215
}
228
216
229
217
return null ;
230
218
}
231
219
232
220
/**
233
- * Construct an ISDA SIMM 2.4 Version of ProductClassSettings
221
+ * Construct an ISDA SIMM 2.4 Version of <i> ProductClassSettings</i>
234
222
*
235
223
* @param currencyList Currency List
236
224
* @param vegaDurationDays The Volatility Duration in Days
237
225
* @param givenCurrency Given Currency
238
226
* @param calculationCurrency Calculation Currency
239
227
*
240
- * @return ISDA SIMM 2.4 Version of ProductClassSettings
228
+ * @return ISDA SIMM 2.4 Version of <i> ProductClassSettings</i>
241
229
*/
242
230
243
231
public static final ProductClassSettings ISDA_24 (
@@ -246,38 +234,29 @@ public static final ProductClassSettings ISDA_24 (
246
234
final String givenCurrency ,
247
235
final String calculationCurrency )
248
236
{
249
- try
250
- {
237
+ try {
251
238
return new ProductClassSettings (
252
- RiskClassSensitivitySettings .ISDA_EQ_24 (
253
- vegaDurationDays
254
- ),
255
- RiskClassSensitivitySettings .ISDA_CT_24 (
256
- vegaDurationDays
257
- ),
239
+ RiskClassSensitivitySettings .ISDA_EQ_24 (vegaDurationDays ),
240
+ RiskClassSensitivitySettings .ISDA_CT_24 (vegaDurationDays ),
258
241
RiskClassSensitivitySettings .ISDA_FX_24 (
259
242
vegaDurationDays ,
260
243
givenCurrency ,
261
244
calculationCurrency
262
245
),
263
- RiskClassSensitivitySettingsIR .ISDA_24 (
264
- currencyList
265
- ),
246
+ RiskClassSensitivitySettingsIR .ISDA_24 (currencyList ),
266
247
RiskClassSensitivitySettingsCR .ISDA_CRQ_24 (),
267
248
RiskClassSensitivitySettingsCR .ISDA_CRNQ_24 (),
268
249
CrossRiskClassCorrelation21 .Matrix ()
269
250
);
270
- }
271
- catch (Exception e )
272
- {
251
+ } catch (Exception e ) {
273
252
e .printStackTrace ();
274
253
}
275
254
276
255
return null ;
277
256
}
278
257
279
258
/**
280
- * ProductClassSettings Constructor
259
+ * <i> ProductClassSettings</i> Constructor
281
260
*
282
261
* @param equityRiskClassSensitivitySettings Equity Risk Class Sensitivity Settings
283
262
* @param commodityRiskClassSensitivitySettings Commodity Risk Class Sensitivity Settings
@@ -301,24 +280,20 @@ public ProductClassSettings (
301
280
final LabelCorrelation labelCorrelation )
302
281
throws Exception
303
282
{
304
- _fxRiskClassSensitivitySettings = fxRiskClassSensitivitySettings ;
305
- _irRiskClassSensitivitySettings = irRiskClassSensitivitySettings ;
306
- _equityRiskClassSensitivitySettings = equityRiskClassSensitivitySettings ;
307
- _commodityRiskClassSensitivitySettings = commodityRiskClassSensitivitySettings ;
308
- _creditQualifyingRiskClassSensitivitySettings = creditQualifyingRiskClassSensitivitySettings ;
309
- _creditNonQualifyingRiskClassSensitivitySettings = creditNonQualifyingRiskClassSensitivitySettings ;
310
-
311
- if ((null == _equityRiskClassSensitivitySettings &&
312
- null == _commodityRiskClassSensitivitySettings &&
313
- null == _fxRiskClassSensitivitySettings &&
314
- null == _irRiskClassSensitivitySettings &&
315
- null == _creditQualifyingRiskClassSensitivitySettings &&
316
- null == _creditNonQualifyingRiskClassSensitivitySettings ) ||
317
- null == (_labelCorrelation = labelCorrelation ))
283
+ if (
284
+ (
285
+ null == (_equityRiskClassSensitivitySettings = equityRiskClassSensitivitySettings ) &&
286
+ null == (_commodityRiskClassSensitivitySettings = commodityRiskClassSensitivitySettings ) &&
287
+ null == (_fxRiskClassSensitivitySettings = fxRiskClassSensitivitySettings ) &&
288
+ null == (_irRiskClassSensitivitySettings = irRiskClassSensitivitySettings ) &&
289
+ null == (_creditQualifyingRiskClassSensitivitySettings =
290
+ creditQualifyingRiskClassSensitivitySettings ) &&
291
+ null == (_creditNonQualifyingRiskClassSensitivitySettings =
292
+ creditNonQualifyingRiskClassSensitivitySettings
293
+ )
294
+ ) || null == (_labelCorrelation = labelCorrelation ))
318
295
{
319
- throw new Exception (
320
- "ProductClassSettings Constructor => Invalid Inputs"
321
- );
296
+ throw new Exception ("ProductClassSettings Constructor => Invalid Inputs" );
322
297
}
323
298
}
324
299
0 commit comments