C++ R trading machine learning
- Verfügbarkeit einsehen
- 0 Referenzen
- 89€/Stunde
- 50931 Köln
- DACH-Region
- de | en | fr
- 28.06.2024
Kurzvorstellung
Qualifikationen
Projekt‐ & Berufserfahrung
12/2023 – 3/2024
TätigkeitsbeschreibungUm Backup-Strategien für einen umfangreichen Computerpark zuverlässig umsetzen zu können, wurde ein zentrales Bash-Skript geschrieben, das die Hardlink-Funktion von Rsync nutzt. Der Backup-Server erstellt Cron-gesteuert von den zu sichernden Maschinen inkrementelle Backups mit Versionierung im Sinne einer Zeitmaschine, über mehrfach gesicherten Root-Zugriff, auch auf externe Speichermedien. Ein Testmodus, der die Backups validiert und die Erstellung einer Backup-Strategie runden das Thema ab.
Eingesetzte QualifikationenSoftware Architecture
10/2022 – 10/2023
TätigkeitsbeschreibungDie von einer Nachrichtenwarteschlange gelieferten Preis- und Handelsdaten im XML-Format werden umgewandelt, nachverarbeitet und in der Datenbank gespeichert. Um sicherzustellen daß die Daten trotz massiver Parallelverarbeitung in der richtigen Reihenfolge in der Datenbank landen, werden die Verarbeitungsschritte von Workern eines Threadpools durchgeführt und per C++ Futures/Promises synchronisiert. Dadurch ist eine freie Skalierung der Verarbeitungskapazität möglich. Die entstandenen zahlreichen C++ Klassen sind modular und auf Wiederverwendbarkeit ausgerichtet. (Visual C++ 17, range-v3, IBM message queue, PugiXML, OracleDB, Stored Procedures, Multithreading, Threadpool, Futures/Promises).
Eingesetzte QualifikationenC++
3/2022 – 9/2022
Tätigkeitsbeschreibung
DWS Investment GmbH, Frankfurt: Wiederbelebung einer 13 Jahre alten Applikation zur Datenaktualisierung (ksh, Windows Powershell, sftp, WinSCP, Java, Spring Framework).
Ein altes, nur noch in einer Instanz korrekt laufendes und kaum dokumentiertes System aus Unix Shell-Skripten und einer Java Anwendung wurde durch ein flexibles Framework aus Powershell Scripten ersetzt; die Java Anwendung wurde angepaßt, um mit modernen Bibliotheken und Compiler gebaut werden zu können. Das verbleibende Altsystem konnte dabei aus rechtlichen Gründen nicht im Betrieb untersucht werden. Zur Sicherstellung der vollen Code-Abdeckung war daher die Implementierung mehrerer Daten-Umwandlungschritte einschließlich -Tests notwendig.
Windows Powershell
9/2021 – 2/2022
TätigkeitsbeschreibungUm schnellere Simulationen zur ermöglichen wurden alle in R geschriebenen und der Datenaktualisierung dienenden Komponenten durch C++ Code ersetzt. Für die verbleibenden Berechnungen in R, die nicht ersetzt werden konnten, wurde die Datenbank-Schnittstelle um einen Berechnungen-Cache erweitert. Der Anschluß weiterer Datenbanktypen, u.a. für Zeitserien, der Einbau eines schnelleren Loggers sowie die Verwendung binärer Serialisierung als weiteren Datenbank-Cache runden das Paket zur Leistungssteigerung ab. C++20 (gcc, clang), Sqlite, MariaDB, PostgresDB, TimescaleDB, ZeroMQ, range-v3, spdlog, bitsery
Eingesetzte QualifikationenC++
2/2021 – 7/2021
TätigkeitsbeschreibungFür das in der Entstehung befindliche intelligente Batteriespeicher-Betriebssystem okean.os wurden Konzepte für neue Komponenten sowie deren über diverse Protokolle ablaufende Kommunikation untereinander erstellt, in Software umgesetzt und durch Tests verifiziert. Hervorzuheben ist die Schaffung und Inbetriebnahme einer Schnittstelle zur Anbindung von Fernwirkanlagen über IEC 104 an das etwas eigenwillige API-Schema des Kunden. C++ 14, Google Test, MQTT, Mosquitto, Paho, Modbus, IEC 104, CMake, Git, AWS, Docker, CLion, Jira, embedded software
Eingesetzte QualifikationenC++
1/2020 – 12/2020
TätigkeitsbeschreibungIn diversen Einzelaufgaben wurden Erweiterungen gemäß Kundenwunsch realisiert, hauptsächlich in C++, teilweise in C#/.NET, teileweise mit SQL-Scripten. Als besondere Herausforderung kann die Einarbeitung in eine gänzlich undokumentierte, über 20 Jahre gewachsene Software angesehen werden.
Eingesetzte QualifikationenSoftwareentwicklung (allg.)
8/2019 – 12/2019
TätigkeitsbeschreibungDiverse Handelssysteme wurden auf der selbstentwickelten Simulations- und Handelsplattform geschrieben und simuliert. Dabei wurden unterschiedliche Handelsideen umgesetzt. Allen gemein ist ein Kalmanfilter zur Glättung von Kursdaten, eine Statusmaschine, die verschiedene Markzustände abbildet sowie machine learning Komponenten, die automatische Anpassungen ermöglichen. In R geschriebene Komponenten wurden teilweise durch C++ ersetzt.
Eingesetzte QualifikationenC++, Softwareentwicklung (allg.)
11/2018 – 3/2019
TätigkeitsbeschreibungUm langlaufende serverseitige Prozesse von IT-unerfahrenen Benutzern sowie Anwendungsprogrammierern steuerbar zu machen, wurden Server und Webclient einer Steuerungsplattform entwickelt. Als technischer Projektleiter wurden zunächst diverse Prototypen hinsichtlich Stabilität und Leistung getestet und schließlich eine auf Node.js basierende Lösung geschaffen. Der Server bietet Anwendern über ein REST-API die Möglichkeit, R-Scripte zeitgesteuert zu starten und ihre Ergebnisse einzusehen. Die den Server steuernde Weboberfläche, die auch als Entwicklungsumgebung genutzt werden kann, basiert auf den Frameworks Vue und Quasar.
Eingesetzte QualifikationenSoftwareentwicklung (allg.)
7/2018 – 10/2018
TätigkeitsbeschreibungDie bisherige tägliche Berechnung von Kreditausfallrisiken mittels Excel-Sheets sollte aus Performancegründen mit R bewerkstelligt werden. Dazu wurde ein erweiterbares mehrschichtiges Framework geschaffen, das die Quelldaten normiert und typisiert, die zahlreichen Risikoberechnungen durchführt und diese bei Bedarf gegen die Original-Excel-Berechnung testet. Es wurden u.a. die R Bibliotheken 'drake', 'dplyr' und 'testthat' verwendet.
Eingesetzte QualifikationenData Mining
4/2017 – 12/2017
TätigkeitsbeschreibungIm Zuge der Einführung der elektronischen Gesundheitskarte wurde eine betagte Arztpraxensoftware um ein eigenständiges Modul erweitert, das Gesundheitskarten ausliest und über SOAP mit der Kocobox kommuniziert. Das Modul, in modernem C++14 geschrieben, interagiert mit diversen Komponenten aus der Softwaregeschichte der letzten 30 Jahre.
Eingesetzte QualifikationenC++, Softwareentwicklung (allg.)
8/2016 – 12/2016
TätigkeitsbeschreibungAls "embedded tester" wurden manuelle Tests von Cloud-Systemen durchgeführt. Zur Automatisierung wurden Python und Windows Powershell Skripte geschrieben, die auf verschiedene REST APIs zugreifen. Die Tätigkeit fand in zwei parallel arbeitenden Teams statt. Projektsprache war Englisch.
Eingesetzte QualifikationenSoftwareentwicklung (allg.)
12/2014 – 8/2015
TätigkeitsbeschreibungDie Bibliothek wurde offen konzipiert und kann beliebige Verschlüsselungsalgorithmen aufnehmen, realisiert wurden OpenGPG, SecureblackBox-PGP und RSA. Die beiden Anwendungen sorgen als Service für das gesicherte und protokollierte Versenden, Bestätigen und Freigeben von WFS-Schlüsseln im Austausch mit Audi. Die gesamte Software ersetzt ein altes Visualbasic-Programm.
Eingesetzte QualifikationenC++, Softwareentwicklung (allg.)
7/2014 – 11/2014
TätigkeitsbeschreibungUm mobile Clients mit Daten über Störfälle in Produktionslinien zu versorgen, wurde zunächst ein objektorientiertes Datenbankmodell entworfen. Die anschließend in C++ 11 geschriebene Schnittstelle konvertiert Oracle OCCI direkt in die im Client benötigten hierarchischen Json-Objekte. Die Code-Erzeugung erfolgt weitgehend automatisch, da neben Oracle OTT ein weiterer eigener Codegenerator eingesetzt wird; Änderungen/Erweiterungen im Datenbankdesign erfordern später nur minimale manuelle Code-Änderungen.
Eingesetzte QualifikationenC++, Softwareentwicklung (allg.)
10/2013 – 2/2014
TätigkeitsbeschreibungFür ein proof-of-concept wurde eine C++ Dll inclusive Kommandozeilen-Bedienprogramm entwickelt, die Solvency II Daten einer SQlite Datenbank in und aus XBRL Dokumenten konvertiert. Für eine schnelle Verarbeitung auch großer Dokumente wurde der Streaming Parser XmlLite verwendet. Aufgrund des nicht vollständig vorhandenen Applikationsdesigns zu Beginn der Entwicklung wurde ein flexibler und modularer Ansatz gewählt, der alle während der Entwicklung auftretenden Designänderungen möglich machte. Über hinzugefügte .NET und VBA Schnittstellen kann die Dll auch von anderen Anwendungen benutzt werden. Projektsprache war Englisch.
Eingesetzte QualifikationenC++, Softwareentwicklung (allg.)
11/2011 – 6/2012
TätigkeitsbeschreibungZur Herstellung der Verbindung auf Transport-Ebene wurde zunächst ein spezieller Socket (2-Byte-Header) entwickelt. Für die Weiterverarbeitung der vom NARSIM gelieferten FMTP-Flugplan- sowie ADEXP-Radardaten wurde ein Parser angepaßt sowie ein Sende-Modul für ein Simulations-Tool erstellt. Anschließend wurden weitere Anwendungen auf Basis des erwähnten Sockets realisiert: Ein Sender für AMA-Nachrichten sowie ein internes Modul, das Benutzer-Ereignisse umwandelt und anschließend über die Schnittstelle schickt. Bei allen Aufgaben galt es, die vielfältigen internen Corba-Verbindungen sowie Laufzeitanforderungen der Multi-Prozeß und -Threading Anwendung AMAN (Anflug-Manager) zu berücksichtigen.
Eingesetzte QualifikationenC++, Softwareentwicklung (allg.)
3/2003 – 3/2004
TätigkeitsbeschreibungUm ein Video-Vorschausystem einer externen Firma an das bestehende Fernseh-Datenbanksystem (FESAD) anzubinden, wird zunächst eine Webservice-Schnittstelle definiert, die die verschiedenen möglichen Arbeitsabläufe beim Erfassen von Videos berücksichtigt. Anschließend wird diese Schnittstelle in Java unter Verwendung von Javabeans und Webservices implementiert; außerdem erfolgen Hilfestellungen für die externe Firma, ihre Seite der Schnittstelle (in .NET) zu implementieren und anzupassen.
Eingesetzte QualifikationenJava (allg.), Softwareentwicklung (allg.)
10/2001 – 3/2003
TätigkeitsbeschreibungUnter Benutzung eines vorhandenden Host-APIs wurde ein in Java geschriebender CD-Client entwickelt, der den Archivaren ein komfortables Erfassen von Musik-CDs und das Eintragen der Daten in einer DB2-Datenbank ermöglicht. Der Client arbeitet dabei mit Stored Procedures und Triggern auf der Datenbank Hand in Hand. Wesentliche Elemente der Anwendung sind die Benutzung eines OCXes, das den Hardwarenahen Zugriff (Kopierschutz) auf das CDRom-Laufwerk gestattet sowie die Verwendung von Internet-Musikdatenbanken; das Programm ist zur Bedienung durch Sehbehinderte geeignet.
Eingesetzte QualifikationenC++, Softwareentwicklung (allg.)
5/1996 – 12/1997
TätigkeitsbeschreibungAuf der Basis einer vorhandenen hauseigenen Netzwerk/Datenbank-Bibliothek wurde ein 32/16 Bit Windows-Client (MFC-Anwendung) geschrieben, der auf einer Sybase SQL Open Server Datenbank operiert; diese Datenbank ist via Replikation/Stored Procedures/Triggern mit anderen Systemen verbunden. Bei der anschließenden Einführung des (Produktiv-)Systems waren diese Verbindungen ebenso zu berücksichtigen wie eine Übernahme von Altdaten aus einem Vorgängersystem. Die Anwendung wurde im Dialog mit ausgesuchten Anwendern erweitert und optimiert.
Eingesetzte QualifikationenC++, Softwareentwicklung (allg.)
Ausbildung
Braunschweig
Über mich
Weitere Kenntnisse
Bibliotheken, APIs: STL, Boost, range-v3, Qt3, Qt4, Qt5, ACE, POCO, XmlLite, Eigen, Armadillo, LAPACK++, OpenBLAS, OpenCV, Rcpp, Shark Machine Learning Library, ATL, MFC, FIX, Flex, Qt, wxWidgets, OpenMP, Soci, Oracle OCCI, Android SDK, Android Support Library, Shiny, JavaFX, AngularJS, ioBroker, OpenHAB, FHEM, Vue, Quasar, Metatrader MQL5, Mosquitto, Paho
Anwendungen: Visual Studio, PlatformIO, JBoss, Tomcat, Struts; Excel, Matlab, Rapidminer, Cran R, MS Office; IntelliJ, Eclipse, SourceSafe, ClearCase, CVS, Subversion, Git, BitBucket, CMake
Betriebssysteme: Windows (alle Versionen), Unix, Linux (Debian, CentOS, Arch, Scientific, Ubuntu, SuSE SLES 11, OpenHabian)
Datenbanken: MySQL, MariaDB, Sybase, Oracle, DB2, SQLite, ISAM, MSSQL, ADO.NET, SQL Server, PostgresDB, TimescaleDB, MongoDB, Stored Procedures, Trigger, Microsoft Membership-Modell
Scripting: Unix Shells, bash, ksh, awk, sed, Perl, lexx, yacc, rsync, cron; WSH, Windows Powershell; jQuery
Networking: TCP/IP, UDP, Sockets, CORBA, Multicast, OLE, COM, DCOM, .NET Remote, EJB, J2EE, ISAPI, IIS, Xmlrpc, Webservices, ZeroMQ, IBM MQ, REST, MQTT, Modbus, IEC 104
Hardware: Raspberry Pi, Banana Pi, Arduino, ESP8266, ESP32, STM32, 8051, RAID
Technologien: OOA/OOD, Entwurfsmuster MVC/MVVM, UML, BPMN, Solvency II; Multithreading, Futures/Promises, Realtime-Anwendungen, Netzwerke, Windows Services, Clustersysteme, Leistungsaspekte von Anwendungen; Genetische Optimierer, Fuzzylogik, "künstliche Intelligenz", Machine Learning, Datamining, Bigdata, Neuronale Netze, Entscheidungsbäume, Support Vector Machines, AdaBoost, PGP, Kryptografie, dm-crypt, LUKS, Docker
Build & Test: IntelliJ, CLion, Eclipse, Jenkins, CMake, GNU make, unix build chain (configure, make, gcc, clang), nmake, MSBuild, Ant, Maven, CruiseControl, Graddle, Jira, continuous integration, embedded software; SourceSafe, ClearCase, CVS, Subversion, GIT; CppUnit, Junit
Cloud: AWS, OpenStack, ElasticStack, VMware vSphere, Puppet, OpenAM, NSX/ESG, HAProxy, RabbitMQ, Splunk, Storm, Icinga, Graylog, Logstash, Elasticsearch, Apigee, Zookeeper
Persönliche Daten
- Deutsch (Muttersprache)
- Englisch (Fließend)
- Französisch (Grundkenntnisse)
- Europäische Union
- Schweiz
Kontaktdaten
Nur registrierte PREMIUM-Mitglieder von freelance.de können Kontaktdaten einsehen.
Jetzt Mitglied werden