816 karma · joined December 3, 2009
EDIT: In case the question was which library did I use, I used BottledWater and it's worked great for me so far [2]
[1] https://www.postgresql.org/docs/9.4/static/logicaldecoding-e...
[1] http://code.kx.com/wiki/Reference/peach
[2] http://code.kx.com/wiki/Reference/peach#Peach_using_multiple...
The biggest advantage of a language like Q is that it's inherently parallel. Map-reduce is naturally built into the language, so this allows the users to think in terms of breaking problems down into sub-problems and parallelizing them via the "parallel apply" construct[1]
Also another very powerful feature is the braindead simplicity of Inter process communication between KDB+ instances [2]
[1] http://code.kx.com/wiki/Reference/peach [2] http://code.kx.com/wiki/Startingkdbplus/ipc
This makes a real difference in ad-hoc environments where you want to setup and tear down complex trading software in real-time
http://code.jsoftware.com/wiki/JDB/Announcement
http://www.jsoftware.com/jdhelp/overview.html
https://scottlocklin.wordpress.com/2012/09/18/a-look-at-the-... comes very close to capturing the ingenuity of J language.
After going through the J primer, KDB+/Q feels like a distillation of J - it basically took the most accessible ideas of J and packaged them for mainstream production use - some of their features such as these make it easy to setup a computing harness for electronic trading in no time:
http://code.kx.com/wiki/Cookbook/LoadingFromLargeFiles
http://code.kx.com/wiki/Startingkdbplus/tick
Also, the footprint of the kdb runtime and installation is unparalleled. I've run systems 24 x 7 x 365
Edit: I recently started learning the J language. While it may not necessarily be a language you want to write your production code in, it teaches powerful concepts - it let's you write functions which can deal with radically different shapes of data with ease, via use of the operators to change the behavior of a verb to monad or dyad. It provides great insight into higher level descriptions of your domain
I've already started prototyping a small simulator using J. Thank you so much.
Boards of Canada: https://www.youtube.com/playlist?list=PL0fSIHcxJhECMV53Llj23...
We're looking for highly skilled Android and Javascript Developers to join our team at http://tavaga.com
Tavaga is here to demystify long term wealth creation in the Indian markets and help investors work towards their life goals. We bring personalised investment plans, portfolio ideas from leading professional money managers and powerful market instruments such as ETFs to retail investors.
See open positions: https://angel.co/tavaga/jobs
We're a funded startup and based in Powai, Mumbai.
Apply: sridhar@tavaga.com
Usually, this is out of reach for casual traders. I've seen one exchange publish order book snapshots every 5 minutes on their website, but this data is hardly useful for frequently traded instruments if your strategy is based on the order book dynamic.
Later we realized that this was a test conducted by the firm (a large investment bank) that I work for!