6 ms·
Absolutely awesome. I've been rewriting most of my financial analytics code in Scala & its a genuine pleasure to see code sizes reduce 5-6 times & being a lot m
by dxbydt 15y ago
Absolutely awesome. I've been rewriting most of my financial analytics code in Scala & its a genuine pleasure to see code sizes reduce 5-6 times & being a lot more expressive at the same time, not to mention speed improvements.
Just yesterday I had an interview for a developer position with a hedge fund where the partners used M$ Excel, M$ SQL Server, M$ VBA macros and a bunch of Bloomberg terminals for the datafeed. I had prepared a presentation that advocated Scala as the primary toolset, Hadoop on the backend & a couple of DCOM hooks ( JIntegra ) that got data in & out of the Bloomberg & the rest of M$ world without getting all tangled up in M$ land.
Must say I didn't get very far. "Seems too cutting edge, no commercial support, we only have few 1000 rows so why not just use a SQL Server, what about front-end solutions for this newfangled language, does Scala do reporting, does Scala talk to Bloomberg, do other IB's use Scala, we'll use Scala when an IB starts using Scala " were some of the concerns I got.
They haven't said no, but I have a feeling they'll end up hiring a dotNet veteran who'll happily code VBA macros till the end of time instead of taking a chance on a platform that'll genuinely change the nature of s/w development as we know it.
Its amazing to see people happily betting the farm on CDS defaults of XYZ company, where they stand to lose a couple hundred million dollars if the bet goes wrong. But the same folks won't bet on a promising new technology because its too new & has no commercial support, preferring instead to stick with 30 year old M$ tech due to comfort level. The chance of a loss here is several orders of magnitude lesser, yet they don't get it.
- tansey 15y agoThey are getting paid to take the risk on financial instruments, because they're experts at it. They have no need to take any risks on their technology infrastructure.
- dxbydt 15y agoThey "think" they are experts at it. Yeah. If they were experts at predicting which ones would fail, they would simply buy shitloads of puts on xyz & wait it out instead of hedging themselves in case xyz doesn't default. Also, you give them too much credit when you use words like "technology infrastructure". I've been to many of them & the extent of their infrastructure is RAID & the extent of their technology is writing a for loop in VBA.
- cmkrnl 15y agoBoth RAID and VBA For loops are time-tested, well understood, stable technology.
- dxbydt 15y agoYeah right. We should freeze all CS s/w h/w R&D now that time-tested stable for loops & RAIDs have been invented. That'll teach them!
- nickik 15y agoAs somebody that programmed VB for 4 years. I say move away from it if you ever ever want to work productivly. The language is shit.
- cmkrnl 15y agoOh I know :) Luckily, I only had to maintain a little MS Access frontend, the type of thing that everyone does once in their lifetime.
- kmfrk 15y agoDid you use "M$" in your presentation?
- cdmckay 15y agoCan we drop the childish M$? It's not clever.
- jjm 15y agoI somewhat agree with you, but you have to admit when you see 'M$' you instantly gleam an assumption of what the person thinks. In that respect its high context, and like I said you have to admit that. Especially so if it illicits a strong emotional reaction to rebut it's use in you no?
- deleted 15y ago[deleted]
- dxbydt 15y agoSay you decide to code up a bunch of risk analytics in Scala. Say Scala doesn't do it for you 2 years from now. You really haven't lost anything - just hire a bunch of VBA jockeys & they'll migrate you back to Excelland in a reasonable span. This isn't complicated device driver code where module A invokes module B with assembly address C...More like convexity on the 10 year swap is different from 2 5 year swaps & that difference can be exploited with a bigsize bet on payoff X and a ratio hedge in case bad things happen. Whether you do all of the linalg/stat/regression scenario analysis in Excel or call a Mathematica routine from Scala should be irrelevant, you get the same answers. So I simply think the risk-reward ratio is out of whack. You're willing to take huge risks on stochastic variables 10 years out into ther future but unwilling to touch a programming language/platform because its too new, even when there's a clear-cut migration path. Seems silly. Don't see how that attitude translates to being cynical about finance.
- billmcneale 15y agoYou are very naive about the costs of migrating or rolling back, especially in the bank industry.
- petervandijck 15y ago"No commercial support" is addressed now, right?
- deleted 15y ago[deleted]
- chrisaycock 15y agoYour rant screams inexperience. I've been rewriting most of my financial analytics code in Scala & its a genuine pleasure to see code sizes reduce 5-6 times... What did you write your analytics code in before?! Most quants use R, Matlab, q/kdb+, OCaml, Python, etc. I can't imagine an analyst would ever use a language like Java or C++ for research. M$ Excel, M$ SQL Server, M$ VBA macros Also known as: what most of Wall Street uses. Are you sure you want a career in this industry? what about front-end solutions for this newfangled language, does Scala do reporting, does Scala talk to Bloomberg, do other IB's use Scala All of which are legitimate concerns. Did you bother to address any of those? As the others have mentioned, banks aren't looking for "fast" or even "productive"; they're looking for "reliable". Wall Street doesn't chase technology the same way Silicon Valley does. Remember the FourSquare outage (MongoDB) or the numerous issues with Twitter back in the day (Ruby on Rails)? Banks need to have better uptime than that.
- deleted 15y ago[deleted]
- deleted 15y ago[deleted]
- billmcneale 15y ago> Your rant screams inexperience. So does the "M$" spelling...
- dxbydt 15y agoDude, chill. I have worked on Wall St for over a decade at this point . There is a huge, HUGE diversity. Some use toolsets they are comfortable with, others with what they get interested in ( after it crosses a certain stability threshold ofcourse ). BTW R itself gained mainstream acceptance in 2009+. I can imagine you saying in 2008 no quant in their right minds would use R, its just too new. It was new then, but it's defacto now. That was true of OCaml which Jane St uses almost everywhere now but didn't do so just a few years back. Ofcourse there are quants using C++ for all their risk analytics - 50% of my classmates got hired on that very credential! As to Java, I have personally written trading software for IBs in Java way back in 2002 that used pricing modules for all the instruments also written in Java. Guess how mainstream Java was back then ? Finally, there are actually fairly decent risk analytics DSLs in Scala out there. Other than reporting ( you really can't compete with SAP/Crystal Reports on that front), solutions in Scala address the rest of your legitimate concerns using DCOM hooks to pre-existing C libraries & DLLs. Why reinvent the wheel ? I don't see why you are getting so worked up about my "inexperienced rant". I simply described a real-life situation I encountered which I felt was funny viz. highly risk-taking alpha personalities getting hugely risk-averse when it comes to something quite innocent like language adoption.