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 librarian@kx.com 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. |
tickrecover | Recover from tickerplant crash. |
VD_KDB | Forex tick database. |
Cryptography and cryptocurrency¶
cryptopals | Matasano Crypto Challenges. |
cryptoq | Cryptographic functions and binary operation. |
qbitcoin | Enables communication with a running Bitcoin core node and wallet, via HTTP JSON-RPC messages; supports most calls in bitcoin-cli. |
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 jlucid/qbitcoind jlucid/qexplorer |
BosonNLP | FlyingOE/q_BosonNLP |
COMTRADE | diamondrod/q_comtrade |
Expat XML parser | felixlungu/qexpat |
Factom blockchain |
jlucid/qfactom jlucid/qfactomconnect |
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 |
Lightning | jlucid/qlnd |
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. |
qhandle | Manage open handles and backup switchover. |
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.
:fontawesome-solid-share-square: 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 |