Open-source libraries¶
Featured¶
Repositories by kdb+ users
hypertree | Recursive aggregating treetable and 3-D pivot table for hypergrid. |
phrases | The Q Phrasebook |
qprof | Code profiler |
studio | A rapid-development environment for q. |
Repositories listed here are maintained by their owners.
Awesome Q A collection of useful or interesting repositories curated by q devs.
Please tell the KX documentation team about new repositories.
GitHub topic queries:
q
kdb
kdb-q
Applications¶
3dsim | 3-D world simulation using kdb+/k/q WebSocket server and three.js. |
betfair-data-capture | Data capture and analysis system built on TorQ for sports exchange data from Betfair. |
FX-AlgorithmTrading | FX algorithm trading system. |
kdb-VNC | Implementation of simple VNC server. |
MarketDataClient | Web scraper for quotes from external financial sites. |
mserve | Enhanced mserve load-balanced solution. |
mm | A q implementation of the classic Mastermind game. |
qex | An equity exchange. |
q-chess | Simple chess engine. |
surv-cloud | Small market surveillance application for cloud/kubernetes. |
tickrecover | Recover from tickerplant crash. |
VD_KDB | Forex tick database. |
Cryptography and cryptocurrency¶
cryptopals | Matasano Crypto Challenges. |
cryptoq | Cryptographic functions and binary operation. |
qMachineTrader | Reinforcement learning method for incrementally estimating the optimal action-value function. |
qMonitor | Real-time directional trade volume for bitcoin to fiat markets on Binance, Bitfinex, Bitstamp, Kraken and CoinbasePro. |
qMiner | Experimental Bitcoin mining project to combat inequality and climate change. |
qOrderBook | OrderBook snapshot for Bitcoin / USD market across Binance, Kraken, Coinbase, Bitstamp, Bitfinex, bitFlyer, Poloniex, Gemini, itBit and Bittrex. |
qSignals | Live-trade signal-generation for crypto market. |
qTrends | Bitcoin trend analysis. |
Development tools¶
compress | File compression. |
con | Qcon replacement. |
csvguess | Guess a reasonable loadstring for a CSV file (V2.4+). |
debug4 | Debugging tools. |
dbmaint | Database maintenance utilities. |
diskdelete | Delete data from disk directly, loading one col at a time rather than whole table. Preserves attributes. Goes to ridiculous lengths to avoid writing. |
dotz | Control external (.z.p* ) access to a q session, log access errors to file.
|
dpy | General object display with type and structure |
dqweb | Simple web interface for kdb+/q processes |
help | Create a helpfile from a directory of TXTs |
io | Benchmark for I/O speed. |
k4unit | K4 unit testing, loads tests from CSVs, runs+logs to database. |
kdb-stuff | ServerChecker: how to execute commands on a remote box via SSH from within a q process and parse Linux system info (cpuinfo/meminfo/df). |
kwsrepl | kdb+/k/q live REPL over web sockets. |
miQ | Divide an application into modules |
nexusQ | Visualizer for q process network. |
paste.q | Script for allowing pasting of multi-line q commands into the q REPL. |
persist-state.q | Save the state of your q session when you exit, and restore it when you start again. |
q-build | Scripts to allow the standard q binary to be built into RPM and DEB packages. |
q-doc | Javadoc-inspired documentation generator. |
q-unit | Unit testing framework. |
qac | Provides shared memory atomic counter to multiple q processes on Linux. These processes can be either parent/children or unrelated. |
qcon2 | Console application to query q. |
qconsole | An IDE for q, written in J/GTK. |
qp | A package manager for q. |
qprof | Code profiler |
qprofiler | Simple code profiler |
qsparkline | Sparkline plots as UTF-8 character vectors. |
qspec | A testing framework lightly inspired by Behavior Driven Development and the rspec testing framework. |
qstudioopen | JDBC driver and authenticator. |
qtb | Unit testing framework. |
QUnit | Unit testing framework. |
reservedwords | Lists q’s reserved words. |
sphinxQ | A Sphinx documentation tool for q. |
studio | A rapid-development environment for q. |
tick | Use instead of an RDB to append data to disk partition during day and use that to build historical partition at day end. |
tickYahoo | Jobs to download tick data from Yahoo! and save in q database. |
unparse | Unparse parse tree for q. |
ws | Workspace utilities |
yATF.q | CI and test runners |
Editor integrations¶
Atom |
derekwisong/atom-q quintanar401/atom-charts quintanar401/connect-kdb-q |
Emacs |
eepgwde/kdbp-mode geocar/kq-mode indiscible/emacs psaris/q-mode |
Evolved | simongarland/Syntaxhighlighter-for-q |
Heroku | gargraman/heroku-buildpack-kdb |
IntelliJ IDEA |
a2ndrade/k-intellij-plugin kdbinsidebrains/plugin shupakabras/kdb-intellij-plugin |
Jupyter |
jvictorchen/IKdbQ newtux/KdbQ_kernel |
Linux, macOS, Unix | enlnt/kdb-magic |
Pygments | jasraj/q-pygments |
Sublime Text |
smbody-mipt/kdb kimtang/QStudio kimtang/sublime-q kimtang/Q komsit37/sublime-q |
TextMate | psaris/KX.tmbundle |
vim |
katusk/vim-qkdb-syntax patmok/qvim simongarland/vim |
Visual Studio Code |
kdb+/q extension lwshang/vscode-q |
WordPress | simongarland/Syntaxhighlighter-for-q |
Examples¶
game-of-life | Conway’s Game of Life. |
hypercalc | From a q table, create a view with calculated columns. |
hypertree | Recursive aggregating treetable and 3-D pivot table for hypergrid. |
JsonRestApi | Server–as-a-function interface |
kdb | kdb+ database examples. |
kdb-euler | Solutions to Euler’s problems. |
kdblib | Q scripts. |
klondike | Klondike solitaire |
kxl | Experimental spreadsheet UI. |
phrases | The Q Phrasebook |
projecteuler | Solutions to Project Euler problems. |
proto | Implementing EDSL. |
q4q | Source code for “Q for Quants”. |
qca | Simple cellular automata. |
qmandel | Mandelbrot. |
qtest | Test-driven development |
qtips | Source files for “Q Tips: Fast, Scalable and Maintainable kdb+”. |
q_practice | Quick reference guide for some q tasks. |
secret-dubstep | Time series and statistics. |
symfun | Studies and classic problems. |
telescope | Simulate lexically scoped local variables in q functions. |
ticker-planto | Simplified version of kdb+tick. |
vivas | Charting: kdb+ WebSocketdrives JavaScript client |
Foreign functions¶
Boost math library | kimtang/bml |
C/C++ |
enlnt/ffiq felixlungu/c |
Fortran | johnanthonyludlow/kdb/docs/fortran.pdf |
gnuplot | kxcontrib/zuoqianxu/qgnuplot |
Google Charts | kxcontrib/zuoqianxu/qgooglechart |
LAPACK, Cephes and FDLIBM | althenia.net/qml |
Mathematica | kxcontrib/zuoqianxu/qmathematica |
Matlab | kxcontrib/zuoqianxu/qmatlab |
Perl | kxcontrib/zuoqianxu/qperl |
Python |
kxcontrib/serpent.speak kxcontrib/zuoqianxu/qpython |
Non-linear least squares | brogar/nls |
R | kimtang/rinit rwinston/kdb-rmathlib |
Rust |
adwhit/krust redsift/rkdb redsift/kdb-rs-hash |
TA-Lib | kxcontrib/zuoqianxu/qtalib |
ZeroMQ | wjackson/qzmq |
Interfaces: q clients¶
Betfair | picoDoc/betfair-data-capture |
Bitcoin |
bitmx/btceQ |
BosonNLP | FlyingOE/q_BosonNLP |
COMTRADE | diamondrod/q_comtrade |
Expat XML parser | felixlungu/qexpat |
ForexConnect | mortensorensen/qfxcm |
gRPC | diamondrod/qrpc |
Interactive Brokers | mortensorensen/QInteractiveBrokers |
IEX | himoacs/iex_q |
J | Q client for J |
JDBC | CharlesSkelton/babel |
Kafka | ajayrathore/krak |
MQTT | himoacs/mqtt-q |
ODBC | johnanthonyludlow/kdb/docs/odbc.pdf |
Philips Hue | jparmstrong/qphue |
Reuters | KxSystems/kdb/c/feed/rfa.zip |
TSE FLEX | Naoki-Yatsu/TSE-FLEX-Converter |
gartinian/kdbTwitter timeseries/twitter-kdb |
|
Wind资讯 | FlyingOE/q_Wind |
Yahoo! | fdeleze/tickYahoo |
Interfaces to kdb+¶
Machine learning¶
funq | Functional Introduction to Machine Learning in q. |
lstmq | LSTM (Long short-term memory) neural network. |
ml.q | Machine-learning examples for q |
mlq | Machine Learning for q |
qAutomatedTrading | Automated trading platform based on Machine Learning algorithm. |
qnn | Simple neural network |
qPoliticalSentimentAnalysis | Political Sentiment Analysis of Facebook comments using Boosting Algorithm. |
tf | Tensorflow q wrapper |
Mathematics¶
options | Option-pricing functions. |
q-math | Library of math functions. |
ql.q | Quantitative finance library. |
qml | A library for statistics, linear algebra, and optimization in q. It provides an interface between the q programming language and numerical libraries such as LAPACK. |
Utilities¶
anim.q | In-browser 3D animation streaming from q |
broq | Brotli file decompression. |
jwt.q | JSON Web Token signing and parsing for q. |
kdb-jdbc | Packaged dependencies of the JDBC driver and protocol/connection classes as provided at KxSystems/kdb/c. |
kdb-jfx-viewer | (Making) q realtime viewer by JavaFX. |
kdb-protocol | Packaged dependencies of the IPC protocol classes as provided at KxSystems/kdb/c. |
kdb-scripts | Utilities. |
kdbreport | Convert a table to present as reports as email body. |
kx | Collection of code from code.kx.com and the lists. r is a small parser for RPN. g is to g.k as x is to xterm . sc dynamically calls functions by their address on AMD_64.
|
log4q | A concise logger for q/kdb+ applications. |
Q-GeneticAlgo | Functions for defining and running genetic algorithms for fixed length binary chromosomes. |
q-fmt | Format strings in q style as s-expressions or m-expressions. |
q-fn | General higher-order functions library |
q-memo | Memoization tooling for functions in the q programming language. |
qBigInt | C library for Big Integer KDB+ Arithmetic |
qchart | Plot data directly from q (using JavaScript). Works well with sublime-q. Transform your data into JSON and renders it into a HTML/JavaScript template. |
qgz | GZip decompression. |
qjson | JSON output. |
qng | Simple PNG tools. |
qrapidjson | Rapid JSON serialiser. |
qutil | Provides several different common utility functions. These currently include: an option-parsing facility as an alternative to .Q.opt; and a file-loading facility based on a pathlist and supporting version numbers. |
strQ | String helper functions. |
ws.q | Simple library for websockets. |
xls | Format cells in an Excel document |
Web¶
dash | Really fast (>100kq/sec) webserver for q and dashboard-making bits. |
iver-tree | Fast virtual grid renderer. |
qdash | A port to q of the JavaScript lodash utilities. |
qmvp | Q Minimum Viable Product is a barebones boiler-plate webserver that includes templating, serving from html/, index files, and logging. |
qqq | Useful functions for creating websites. |
quagga | An experiment in building a web-based development environment for q. |
qwa | Microservice that performs analytics duties for your website. |
Salvaged repositories in kxcontrib
kxcontrib contains repositories salvaged from the former Subversion server for which we have been unable to identify current versions on GitHub. These repositories are not maintained.
kxcontrib¶
Salvaged repositories
kxcontrib contains repositories salvaged from the former Subversion server for which we have been unable to identify current versions on GitHub. These repositories are not maintained.
kxblog | Code shared on the KX blog |