?>Array ( [lang] => fr [id] => 20 ) Scénario Performance : Restauration d'une Bibliothèque d'Actions Financières Complexes - WeAreCAS
builtins actionSetFromTable

Scénario Performance : Restauration d'une Bibliothèque d'Actions Financières Complexes

Scénario de test & Cas d'usage

Contexte Métier

Un département d'analyse quantitative a créé une bibliothèque de fonctions financières personnalisées (calcul de volatilité, Black-Scholes, etc.). Cette bibliothèque, contenant de multiples actions, est stockée dans une table CAS centrale. Un analyste doit charger cette bibliothèque volumineuse dans sa session pour effectuer une analyse de portefeuille.
Préparation des Données

Création d'un jeu d'actions 'financeLib' contenant plusieurs actions avec des logiques distinctes. La bibliothèque est ensuite sauvegardée dans la table 'financeLibTable'.

Copié !
1PROC CAS;
2 BUILTINS.defineActionSet
3 name='financeLib',
4 actions={
5 {
6 name='calcVolatility',
7 parms={ {name='prices', type='doublelist'} },
8 script='print("Volatility calculated...")'
9 },
10 {
11 name='calcBlackScholes',
12 parms={ {name='S', type='double'}, {name='K', type='double'} },
13 script='print("Black-Scholes calculated...")'
14 },
15 {
16 name='calcVaR',
17 parms={ {name='portfolioValue', type='double'} },
18 script='print("Value at Risk calculated...")'
19 }
20 };
21 
22 BUILTINS.actionSetToTable
23 name='financeLib',
24 TABLE={name='financeLibTable', caslib='CASUSER', replace=true};
25QUIT;

Étapes de réalisation

1
Restauration de la bibliothèque complète sous le nom 'qfinLib' à partir de la table 'financeLibTable'.
Copié !
1PROC CAS;
2 BUILTINS.actionSetFromTable
3 name='qfinLib'
4 TABLE={caslib='CASUSER', name='financeLibTable'};
5RUN;
2
Vérification de la présence de la bibliothèque restaurée via 'actionSetInfo'.
Copié !
1 BUILTINS.actionSetInfo actionSet='qfinLib';
2RUN;
3
Exécution d'une des actions restaurées pour confirmer que la logique est bien chargée.
Copié !
1 qfinLib.calcBlackScholes S=100 K=105;
2RUN;
3QUIT;

Résultat Attendu


L'action 'actionSetInfo' doit lister le jeu d'actions 'qfinLib' avec ses trois actions ('calcVolatility', 'calcBlackScholes', 'calcVaR'). L'appel à 'calcBlackScholes' doit s'exécuter sans erreur et afficher son message dans le log, validant la restauration d'un jeu d'actions multi-actions.