Synthetische Daten mit Hilfe agentenbasierter Simulation
Automatisiertes Software-Testing ist insbesondere im Finanzsektor unverzichtbar geworden. Für ausgewählte Testfälle braucht es neben den Stammdaten auch entsprechende Bewegungsdaten. Agentenbasierte Simulation bietet hier einen Lösungsansatz für massgeschneiderte, synthetische Testdaten, sodass auch in diesen Fällen auf echte Kundendaten verzichtet werden kann.
Die Herausforderung: Realistische Tests ohne Kundendaten
Automatisiertes Software-Testing ist insbesondere im Finanzsektor unverzichtbar geworden. Dabei hat die Verwendung von synthetischen Testdaten gegenüber der Nutzung von Produktivdaten für die meisten Testfälle starke Vorteile, nicht nur aus Compliance-Sicht (Synthetische Daten | itopia).
Für die massgeschneiderte Erzeugung synthetischer Stammdaten (Personen, Adressen, Verträge, Kreditkarten,...) nutzen wir iSynth.
Für ausgewählte Testfälle braucht es neben den Stammdaten auch entsprechende Bewegungsdaten. Dies können beispielsweise historische Transaktionen (Buy / Sell) von konkreten Market Assets sein, die zu einem gegebenen Aktien-Portfolio führen.
Eine Lösung: Agentenbasierte Simulation
Die Lösung ist inspiriert vom Konzept eines agentenbasiertes Simulationsmodells, das die Komplexität realistischer Portfolio-Entwicklung abbildet – ohne die technische Komplexität vollständiger Marktsimulationen.
Das Konzept
Der Ansatz basiert auf drei vereinfachenden Annahmen, die das System praktikabel machen, ohne die Realitätsnähe zu beeinträchtigen:
- Der Markt ist gegeben: Wir arbeiten mit historischen oder synthetischen Marktdaten, die als Grundlage dienen.
- Keine Interaktionen zwischen Akteuren: Die synthetischen Kunden / Trading-Agenten agieren unabhängig voneinander. Dies vereinfacht die Simulation erheblich, ohne die Qualität der Ergebnisse zu mindern.
- Kein Market Impact: Die Handlungen der Agenten (z.B. Verkaufs-Orders) beeinflussen die Marktpreise nicht. Für Testzwecke mit synthetischen Portfolios ist diese Annahme völlig ausreichend.
Der Trading-Agent
Der menschliche Akteur wird über einen parametrierbaren Agenten modelliert. Dieser kann für die folgenden 4 Eigenschaften bzw. Anlagestrategien konfiguriert werden:
- Dollar-Cost-Averaging (DCA) Strategie: Führt regelmässige, planmässige Investitionen durch – die Basis jeder langfristigen Anlagestrategie.
- Momentum Strategie: Folgt Markttrends und repräsentiert aktives, trendorientiertes Trading-Verhalten.
- Rebalancing Strategie: Hält die Portfolio-Allokation im Gleichgewicht und bildet professionelles Risikomanagement ab.
- Emotional: Simuliert verhaltensökonomische Aspekte wie Panikverkäufe oder FOMO-Käufe (fear of missing out).
Die Gewichtung dieser Eigenschaften wird automatisch an das Risikoprofil und die Anlagestrategie des synthetischen Kunden angepasst.

Integration mit Synthetisierungs-Workflows
Die Lösung fügt sich nahtlos in bestehende Synthetisierungs-Workflows ein:
- Marktdaten: Werden entweder aus bestehenden Systemen verwendet (für Tests mit realen Assets) oder synthetisch generiert (z.B. mit iSynth, falls Test mit synthetischen Assets)
- Kundendaten: Die synthetischen Kunden mit allen Stammdaten, Risikoprofil, Anlegerprofil (inkl. Branchen-Blacklists, etc.) und dem Investitions-Volumen für das Portfolio (z.B. durch iSynth generiert)
- Simulation: Ausführung der agentenbasierten Simulation für den/die Kunden von der Portfolio-Eröffnung bis zum aktuellen Datum und Generierung der vollständigen Handelshistorie
- Ausgabe: z.B. als Datenstrom, welcher zu den Kundendaten (z.B. in iSynth) zurückgegeben
wird und dann für den Export in das Zielsystem (z.B. avaloq) genutzt werden kann, optional auch als CSV-Dateien oder Visualisierungen
Nutzen
Die generierten Daten helfen dem Tester wie folgt:
- Compliance: Keine echten Kundendaten, sondern vollständig synthetisch und damit voll konform mit Anforderungen der Compliance (auch nutzbar für Tests mit externen Partnern ohne aufwändige Anonymisierung)
- Konfigurierbarkeit: Die benötigten Testdaten können vom Tester "einfach per Bestellformular" bestellt werden anstatt einer mühsamen Suche von geeigneten Testdaten in bestehenden (produktiven) Daten. Testdaten können für jeden Testfall (und für jede Testfallausführung) massgeschneidert generiert werden, wodurch auch das Testdaten-Management erleichtert wird.
- Reproduzierbarkeit: Durch Fixierung der gewichteten Konfiguration im Agenten lassen sich alte Simulationen auf Wunsch exakt reproduzieren, sodass Re-Tests ggf. vereinfacht werden, auch bei schreibenden Testfällen, die bestehende Testdaten "zerstören"
Fazit
Die Portfolio-Simulation erleichtert die Anlage von historischen Transaktionen und erweitert damit den potenziellen Einsatzbereich von synthetischen Testdaten um weitere Testfälle.
Für Testfälle, in denen die Transaktions-Historie keine Rolle spielt, sollte auf diese bei der Erzeugung synthetischer Testdaten weiterhin verzichtet werden. Der Laufzeit der Simulation (gleich wie performant diese ist) steht dann kein entsprechender Nutzen gegenüber.
Für Testfälle mit dieser Notwendigkeit kann dieser Ansatz allerdings Kosten einsparen, da die mühsame manuelle Anlage/Definition historischer Transaktionen bzw. die regelmässige Suche von geeigneten Portfolios in der Produktion (und ggf. Anonymisierung) entfallen.
