Στα Financial Systems, το σωστό αποτέλεσμα πρέπει να μπορεί να αναπαραχθεί

Ένα χρηματοοικονομικό σύστημα εκτέλεσε έναν υπολογισμό σήμερα και παρήγαγε ένα αποτέλεσμα. Αύριο, με τα ίδια δεδομένα, εκτέλεσε τον ίδιο υπολογισμό και παρήγαγε διαφορετικό αποτέλεσμα. Ποιο από τα δύο είναι σωστό;

Η απάντηση δεν είναι τόσο απλή όσο φαίνεται. Και το πρόβλημα είναι πολύ σοβαρότερο από ένα συνηθισμένο software bug. Γιατί στα Financial Systems δεν αρκεί να παράγουμε ένα σωστό αποτέλεσμα. Πρέπει να μπορούμε να αποδείξουμε γιατί είναι σωστό και, υπό τις ίδιες ακριβώς συνθήκες, να το αναπαράγουμε.

Στην πληροφορική, αυτή η ιδιότητα συνδέεται με την έννοια του Deterministic Processing. Με απλά λόγια, όταν ένα σύστημα επεξεργάζεται τα ίδια δεδομένα, εφαρμόζοντας τους ίδιους κανόνες και τις ίδιες παραμέτρους, πρέπει να καταλήγει στο ίδιο αποτέλεσμα. Ακούγεται αυτονόητο. Στην πράξη, όμως, η διασφάλισή του αποτελεί μία από τις σημαντικότερες προκλήσεις στον σχεδιασμό σύνθετων χρηματοοικονομικών εφαρμογών.

Ας σκεφτούμε έναν υπολογισμό διανομής μερίσματος. Το σύστημα προσδιορίζει τους δικαιούχους, υπολογίζει τις επιλέξιμες μετοχές, εφαρμόζει τους προβλεπόμενους κανόνες, τις παρακρατήσεις και τις στρογγυλοποιήσεις και παράγει τα τελικά ποσά. Η διαδικασία ολοκληρώνεται επιτυχώς και τα αποτελέσματα εγκρίνονται. Έπειτα από έξι μήνες, όμως, προκύπτει ανάγκη επανελέγχου. Μπορούμε να εκτελέσουμε ξανά τον ίδιο υπολογισμό και να πάρουμε ακριβώς τα ίδια αποτελέσματα;

Ίσως όχι. Στο μεταξύ μπορεί να έχει τροποποιηθεί ένα φορολογικό ποσοστό, να έχει διορθωθεί ένα στοιχείο του μετοχολογίου, να έχει αλλάξει ένας επιχειρηματικός κανόνας ή να έχει εγκατασταθεί μια νέα έκδοση της εφαρμογής. Ακόμη και μια φαινομενικά ασήμαντη αλλαγή στον τρόπο στρογγυλοποίησης μπορεί να δημιουργήσει διαφορές. Το σύστημα ενδέχεται να λειτουργεί απολύτως σωστά σύμφωνα με τους σημερινούς κανόνες, αλλά να μην μπορεί πλέον να αναπαραγάγει το αποτέλεσμα που παρήγαγε στο παρελθόν.

Και εδώ βρίσκεται η ουσία του προβλήματος: το σωστό αποτέλεσμα δεν είναι ανεξάρτητο από το πλαίσιο μέσα στο οποίο υπολογίστηκε.

Για να είναι ένας χρηματοοικονομικός υπολογισμός πραγματικά αναπαραγώγιμος, δεν αρκεί να διατηρούμε τις αρχικές εγγραφές. Χρειάζεται να γνωρίζουμε ποια ακριβώς έκδοση των δεδομένων χρησιμοποιήθηκε, ποιοι επιχειρηματικοί κανόνες ίσχυαν, ποιες παράμετροι εφαρμόστηκαν και ποια έκδοση της υπολογιστικής λογικής εκτέλεσε τη διαδικασία. Με άλλα λόγια, πρέπει να μπορούμε να ανασυνθέσουμε ολόκληρο το περιβάλλον που οδήγησε στο συγκεκριμένο αποτέλεσμα.

Αυτό απαιτεί συνειδητές αρχιτεκτονικές επιλογές. Versioned business rules, immutable calculation records, ελεγχόμενα data snapshots και σαφώς καθορισμένες πολιτικές αριθμητικής ακρίβειας δεν αποτελούν τεχνικές πολυτέλειες. Είναι μηχανισμοί επιχειρησιακής αξιοπιστίας. Το ίδιο ισχύει για τη διαχείριση των εξωτερικών δεδομένων, καθώς ένας υπολογισμός που εξαρτάται από μια μεταβαλλόμενη πηγή δεν μπορεί να θεωρείται αναπαραγώγιμος αν δεν καταγράφεται η ακριβής πληροφορία που χρησιμοποιήθηκε.

Υπάρχει όμως και μια σημαντική διάκριση. Deterministic Processing δεν σημαίνει ότι τα αποτελέσματα δεν επιτρέπεται να αλλάζουν. Ένα οικονομικό αποτέλεσμα μπορεί να χρειαστεί διόρθωση όταν προκύψουν νέα δεδομένα ή διαπιστωθεί κάποιο λάθος. Αυτό που πρέπει να διασφαλίζεται είναι ότι το αρχικό αποτέλεσμα παραμένει εξηγήσιμο, η διόρθωση τεκμηριώνεται και η νέα εκτέλεση συνδέεται με τις συγκεκριμένες αλλαγές που την προκάλεσαν.

Η διαφορά είναι θεμελιώδης. Ένα σύστημα που απλώς αντικαθιστά ένα προηγούμενο αποτέλεσμα με ένα νέο μπορεί να διατηρεί την τρέχουσα εικόνα των δεδομένων. Ένα πραγματικά αξιόπιστο χρηματοοικονομικό σύστημα πρέπει επιπλέον να μπορεί να εξηγήσει τι άλλαξε, γιατί άλλαξε και πώς επηρεάστηκε το τελικό αποτέλεσμα.

Συχνά, όταν αξιολογούμε ένα πληροφοριακό σύστημα, επικεντρωνόμαστε στην ταχύτητα επεξεργασίας, στη διαθεσιμότητα, στην επεκτασιμότητα και στην αυτοματοποίηση. Όλα είναι σημαντικά. Όμως, στα Capital Markets, η δυνατότητα αναπαραγωγής και τεκμηρίωσης ενός αποτελέσματος έχει ιδιαίτερη επιχειρησιακή αξία.

Γιατί όταν ένας ελεγκτής, ένας πελάτης ή μια εποπτική αρχή ζητήσει να εξηγήσουμε έναν υπολογισμό που πραγματοποιήθηκε πριν από χρόνια, η απάντηση «έτσι το υπολόγισε τότε το σύστημα» δεν είναι αρκετή.

Η πραγματική αξιοπιστία ενός Financial System δεν αποδεικνύεται μόνο από την ικανότητά του να παράγει σωστά αποτελέσματα σήμερα. Αποδεικνύεται και από την ικανότητά του να εξηγεί, να τεκμηριώνει και να αναπαράγει τα αποτελέσματα του παρελθόντος.

Γιατί στη χρηματοοικονομική τεχνολογία, η ορθότητα χωρίς δυνατότητα απόδειξης είναι μια εμπιστοσύνη που αργά ή γρήγορα θα δοκιμαστεί.

 



Δεν υπάρχουν σχόλια: