Running kdb+ on Google Cloud (GCP)

Note: You can now subscribe to my blog updates here to receive latest updates. Update: This post is now available as a video tutorial on our YouTube channel. A lot has changed in the kdb+ world recently and as the world moves to the cloud, it was only a matter of time that kdb+ did as well. …

Subscribing to a message broker in q/kdb through embedPy

Update: As of May 2020, there is now an official Solace interface for kdb+ which can be used, instead of embedPy, to interact with Solace’s PubSub+ broker. You have undoubtedly heard of messaging platforms such as kafka, solace and rabbitMQ that allow applications to communicate with each other.  Messaging platforms have existed for several years …

Installing kdb+, jupyterq and embedPy using conda!

Note: You can now subscribe to my blog updates here to receive latest updates. Kx announced during their Kx25 event last week that you can now download and install kdb+, embedPy and jupyterq via conda. For those who don’t know, conda is a platform and language agnostic tool for installing packages and managing environments. It’s mainly used …

Kx celebrates 25 years of kdb

Note: You can now subscribe to my blog updates here to receive latest updates. Last Friday, on May 18th, Kx celebrated 25 years of kdb with a full day conference at New York Academy of Sciences in downtown Manhattan, NY. You can find the agenda here. In the last year or so, kdb+ has become increasingly ‘open’ …

q/kdb+ api for getting market and financial data from IEX

Few months ago, I wrote an api for getting market and financial data from IEX in python. As discussed earlier, IEX makes a lot of its data available to the public through its webservice api (link). In this post, I will show you how to use the api I wrote in q/kdb+. Let’s get started. …

Listing alphabets and numbers using predefined variables

When I was trying to solve Challenge#4, I was trying to remember the variables that contains string of all the alphabets such as “ABCDEFGHIJKLMNOPQRSTUVWXYZ”. After some digging, I remembered that it was .Q.A. The only reason I knew about it was because I had used it earlier at my job. If you are new to …

Challenge#4 What’s in a name?

I will admit…I have been having a tough time coming up with challenges lately. So, if you have any ideas please contact me! 🙂 This week’s challenge has been borrowed from Project Euler (Problem#22). Here is what the challenge is: Begin by sorting the names list into alphabetical order. Then working out the alphabetical value for each …

Manipulating columns in a table

Some time back, when I was still getting familiar with qsql, I went for an interview at an investment bank. I was interviewed by 4 different people for a total of 2 hours. 3 of the interviewers asked theoretical architecture related questions but the last one was all about writing code. The last interviewer gave …

Hidden arguments of functional select

In one of my previous posts, I discussed functional form of select, update, exec and delete. If you remember, the general form of a functional select is ?[t;c;b;a] where t is the table, c is for constraints, b for by clause and a for aggregation. Most of the time, you will see only these 4 …