Das Folgende hat mein Verständnis von Software/Data-Engineering nachhaltig verändert. In meinem Berufsleben hatte ich zweimal bei Prop Shops mit kleinen Teams zu tun, die damit arbeiten. Einmal in UK und einmal in den Niederlanden.
Man muss verstehen, das Software ausrollen im Intraday Trading Umfeld etwas heikles ist. Man muss relative häufig und schnell Änderungen deployen....aber es darf halt nix schief gehen. Weil einen das dann eventuell enormes Geld kostet.
Ich habe in der Luft und Raumfahrt an "kritischen" Anwendungen gearbeitet. Da nimmt man sich dann aber ewig Zeit. Das geht im Trading Umfeld einfach nicht. Man hat also das Problem das man performante und fehlerfreie Software schnell und sicher entwickeln muss.
Die beiden Teams hatten kdb+ verwendet. Die haben da alles mit gemacht. OLAP Analysen und Echtzeit-Datenverarbeitung (also die Umsetzung der eigentlichen Trading Algorithmen). Einer der Kollegen sagte immer scherzhaft: "Other than reading and writing e-mails, I do everything with kdb+".
Wenn ihr das nicht kommerziell nutzt, ist das erstmal frei:
https://kx.com/developers/
Das ganze Ding
https://code.kx.com/q/architecture/ ist >600kb und passt bequem in den L2 cache!!!!
Es gewinnt eine Benchmark nach der anderen...obwohl es eigentlich alles auf technik aus den 80ern basiert.
https://tech.marksblogg.com/billion-nyc-taxi-kdb.html
https://stacresearch.com/news/KDB211006
In dieser community ist erstmal alles anders, als man das aus der restlichen software Welt kennt. Variablen heißen "x" und "y", ganze Programme werden in eine Zeile gekloppt, es gibt keine for-loops....
Das klingt alles bescheuert. Aber es ist erstaunlich, was die Leute so hinbekommen. Für mich stellt das den modernen Gold-Standard"Cloud-kubernetes-Micro-Service-Bloatware" Approach von Uber/Netflix/Facebook/Twitter/... echt in Frage.
Echt erstaunlich was man da auf einem einzelnen Server hinbekommt. Und auch wenn man mal mit der Sprache ne weile gearbeitet hat...tut echt aua danach wieder zu C/Java/C#/Python zu wechseln.