?>Array ( [id] => 142 ) Standardfall: Integration eines proprietären C-basierten Finanzpreis-Modells - WeAreCAS
fcmpact addPrototypes

Standardfall: Integration eines proprietären C-basierten Finanzpreis-Modells

Scénario de test & Cas d'usage

Contexte Métier

Eine Investmentbank muss ein bestehendes, in C geschriebenes Preismodell für Derivate in ihre SAS Viya-Umgebung integrieren. Ziel ist es, die hochperformante C-Funktion direkt aus CASL-Workflows aufzurufen, um das Risiko in Echtzeit zu bewerten. Dieser Test validiert die grundlegende Fähigkeit, einen einzelnen, kritischen Funktionsprototypen zu registrieren.
Préparation des Données

Für dieses Szenario ist keine SAS-Datentabelle erforderlich. Die Vorbereitung besteht aus dem konzeptionellen Vorhandensein einer externen C-Bibliothek, die die Preisfunktion enthält. Wir simulieren nur die Deklaration ihres Prototyps.

Copié !
1/* Annahme: Eine kompilierte C-Bibliothek existiert und enthält eine Funktion wie:
2double calculateDerivativePrice(const char* productId, double spotPrice, double volatility) {
3 // ... komplexe Preislogik ...
4 return 105.7;
5}
6*/

Étapes de réalisation

1
Definieren des Prototyps für die C-Funktion 'calculateDerivativePrice' und Speichern in einer CAS-Tabelle namens 'financial_prototypes'.
Copié !
1PROC CAS;
2 ACTION fcmpact.addPrototypes /
3 routineCode={"proto calculateDerivativePrice(char[*], double, double) link='c' return=double;"}
4 funcTable={name="financial_prototypes", caslib="casuser", replace=true}
5 saveTable=true;
6RUN; QUIT;
2
Überprüfung, ob die Tabelle 'financial_prototypes.sashdat' im Caslib 'casuser' erfolgreich erstellt wurde und die Prototypinformationen enthält.
Copié !
1PROC CAS;
2 TABLE.fileInfo / caslib="casuser", path="financial_prototypes.sashdat";
3RUN;
4 TABLE.fetch / TABLE={name="financial_prototypes", caslib="casuser"};
5RUN; QUIT;

Résultat Attendu


Die Aktion wird erfolgreich ausgeführt. Eine CAS-Tabelle mit dem Namen 'financial_prototypes' wird in der 'casuser'-Bibliothek erstellt und gespeichert. Die Fetch-Aktion zeigt, dass die Tabelle die unverschlüsselte Definition des Prototyps 'calculateDerivativePrice' enthält, die für die Verwendung in anderen CAS-Aktionen bereit ist.