Live data from Hacker News

An oral history of Bank Python

calpaterson.com

131–140 of 333 posts

Re: An oral history of Bank Python

#131

Always funny to see the objections of new hires without finance experience to the use of floating point for pricing. It’s more related to the inherent inaccuracy of any pricing model though, rather than clients not caring about pennies.

Can cause issues if you are accounting for things, e.g.

"The sum of these values need to equal the sum of these values"

In that case you'd then needs to avoid

"sum_a == sum_b"

and use instead

"abs(sum_a - sum_b) < SOME_SMALL_VALUE"

Re: An oral history of Bank Python

#132

> Investment banks have a one-way approach to open source software: (some of) it can come in, but none of it can go out I'd say thats how they see society and their role in it more generally. Doing God's work is a surprisingly directed graph. It applies also to the broader banking world, but investment banks being the most lucrative (when not bailed out) attract talented people that in principle can close the loop an…

it's also not entirely true, I know of some hedge funds that have made significant contributions to open source codebases (including Python)

agree, its not entirely true but if you look at the size of the financial industry (like > 10% of global GDP) its contribution is tiny.

actually besides the tech industry itself I can only think of the bio/medical industry being an important contributor (E.g the entire R ecosystem)

Re: An oral history of Bank Python

#133

I was the person who first deployed Python at Goldman Sachs. At the time it was an "unapproved technology" but the partner in charge of my division called me and said (This is literally word for word because partners didn't call me every day so I remember) Err....hi Sean, It's Armen. Uhh.... So I heard you like python.... well if someone was to uhh.... install python on the train... they probably wouldn't be fired. O…

For some context (as an ex-Goldman employee myself), "Armen" in the quote is most probably https://www.goldmansachs.com/insights/outlook/bios/armen-ava... , who has quite a legendary reputation within the firm for the work he's done. He was also one of the first to be hired as a "strat", which used to be how Goldman referred to its quants who sat between front office and tech systems and worked with both sides.

Re: An oral history of Bank Python

#134
post #14
post #4

Doesn't seem that strange compared to K[1] or Q[2], which are used by Wall Street banks. K encourages you to use single-letter variables and bunch your code up as tight as possible into long lines. Here's an example: [3]. Interestingly, their Github repo has some K-inspired C[4], Java[5], C#[6], and Javascript[7]. [1] https://en.wikipedia.org/wiki/K_(programming_language) [2] https://en.wikipedia.org/wiki/Q_(programm…

Thank you. Now when I'm thinking some code I have to untangle is bad, I'd always remind myself "at least it's not K-inspired C"...

This took me a while to figure out but K/APL code is built on a different value system than most software. Specifically, the goal is to be able to see and operate on the entire program at once. Obviously this only works for programs up to a certain size but that size is larger than you'd expect when abstractions, variable names, and general legibility are sacrificed. I wouldn't write code this way but I can see how someone would find it valuable.

Re: An oral history of Bank Python

#135
Both frontarena and murex use python as their “vb” kind of language. If you thought your deployment pipelines were weird, ours have included putting entire python apps into single strings and inserting them to an oracle db, where a fat windows client selects them and runs them on a windows python interpreter … via citrix… :/

Re: An oral history of Bank Python

#136
post #91

Earlier quoted context omitted.

Could be a misdirection because all of the rest fits Quartz to a tee. The Quartz database is called Sandra (referred to as Barbara here). The Quartz directed acyclic graph is called Dag (referred to as Dagger here) The Quartz job runner is called Bob (referred to as Walpole here which is a reference to Robert Warpole whose shortname is..Bob) These and the horrible proprietary IDE make it obvious which particular syst…

I think Athena has equivalents to all of these but I don't know what they're called. I only know Qz.

The Athena database is Hydra; The Athena graph is Pixie; The Athena job runner is also Bob

Re: An oral history of Bank Python

#137

Both frontarena and murex use python as their “vb” kind of language. If you thought your deployment pipelines were weird, ours have included putting entire python apps into single strings and inserting them to an oracle db, where a fat windows client selects them and runs them on a windows python interpreter … via citrix… :/

This made me laugh out loud. Technology is awesome.

Re: An oral history of Bank Python

#138

This pattern in large part came from SecDB at Goldman, and then a few people who moved to moved to JPMC and BAML. Dependency graphs are an elegant solution to risk management and pricing etc. There’s a reason this approach works in IBanks. Check out Beacon.io which is the a SaaS implementation from the same team.

> Dependency graphs are an elegant solution to risk management and pricing etc. Dependency graphs are not a solution to risk and pricing. They are, in certain circumstances, a very useful tool. That's all. They also scale notoriously painfully. Putting a dependency graph as a mandatory component in your risk system was one of the worst technical decisions I've come across (and I've been doing this lark a long time).

Wouldn't an observer pattern work better? The graph itself could even be used to instantiate subscriptions in a pub/sub system where changes in underlying pricing could be dealt with via an event queue. Compaction and debouncing could be applied on top of the queue to avoid lots and lots of redundant execution.

Re: An oral history of Bank Python

#139
post #117

Earlier quoted context omitted.

Certainly - let me try to share succinct version germane to my day-to-day - We regularly perform group/segment level risk roll-ups. Involves running computationally expensive (by insurance standards) in-house and third-party models that estimate loss from hurricanes, earthquakes, etc. A lot of our insurance data is unsurprisingly stored in disparate systems that don't talk to each other, and in some cases, don't have…

Thanks for a really comprehensive reply. Enjoyed your comment on PowerBI. My background is mainly life which is dominated (at least in Europe) by computationally demanding proprietary liability modelling systems but I think Python / R is getting a foothold in capital calculation / aggregation. My perception that there is a lot more use of in-house models in the GI / property-casualty worlds so more Python etc but sou…

Absolutely - and for quite a long time (I work mainly property).

There's not much (if any) appetite to completely rebuild 3rd-party geophysical vendor models. Those folks have 20+ years of work behind them and a different talent base (e.g. different types of scientists building the base models).

But we do focus on all the other stuff. Making data input easier/more accurate. Same thing re: output. Also the vast majority of our capital and group-level risk work happens in-house - R, Python, etc.

Re: An oral history of Bank Python

#140
I'm getting serious MUMPS flashbacks with a critical hospital-wide database accessible through only one programming language with absolutely no access control or rollback.
Post reply on HN