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 |