Kdb+ Data Manipulation

Learn techniques for creating advanced analytics,and producing better code in q. On this course you will go into much greater detail about what happens under the covers, be stepped through setting up your own database and consider common analytics and how best to implement them, including performing linear regression and binomial tree pricing in kdb.

The course is aimed at those familiar with kdb who want to write fewer lines of maintainable code to solve problems in the best way possible. For printing a PDF outline of the Advanced kdb+ course is available Advanced kdb+ course outline pdf.

Contact us now to request Training

Course Content

Day 1

FunctionsRecap of Functions, Dictionaries, Lists etc
Best practices for writing modular code for large scale kdb systems.
TablesDefining, updating, deleting, adding columns, sorting.
Creating relationships between tables using enumeration and Foreign Keys
Inter-Process Communication Communication between servers, sending data (a)synchronously, buffering
Security / Stream processing - by overriding event handlers
Stitching together real-time / historical data using a Gateway
qSQLStandard SQL queries: "select col from table where ..", what's unique to qSQL

Day 2

JoinsCovers the standard SQL joins left-join, inner-join, union-join.
Specialized kdb joins: plus-join, equi-join, asof-join
Optimizing joins and queries using attributes
Multithreadingbuilt-in threading, Parallel processing. (Screen AvailableParallel screencast available)
Disk StorageText Output and Standard serialization - for saving small files
Splaying / Partitioning - For storing large amounts of historical data
Segments - For storing extremely large data sets and processing them efficiently in parallel
Advanced AnalyticsBuilding on our knowledge of qSQL and disk storage
Efficiently constructing analytics e.g. VWAP / TWAP

Day 3

Further AnalyticsAggregating calculations on periods of time,
Creating moving functions, limitations of kdb+
In-depth Use CaseConsideration of a real world problem,
Performing linear regression
Implementing binomial trees for pricing securities efficiently in kdb+
Extremely large Databases with many coresWhat is happening below the covers,
Best practices for constructing map-reduce queries and edge cases to be careful of.


This class assumes you have significant prior experience of kdb, you should be capable at manipulating dictionaries, lists, functions and the basics of tables.

If you do not have significant kdb experience our Introduction to kdb+ course is a better fit. Or if you're looking to focus more on administrating a kdb+ server consider the Architecture and Administration course.

Contact us now to request Training