A equity exchange implemented in Q running on KDB+.
The best way of learning something is actually doing it, I'm learning KDB+ and Q by implementing a fully featured exchange. Feactures/TODOs will be changed/udpated as I progress.
It is developed and tested on MacOS only at this monment.
Steps for installation and verification:
- Download and install KDB+ personal edition on default path;
- Download/Clone the repository;
- Edit global.q to modify data directories accordingly;
- Run server from command line: ./q qex/qex.q -p 5000
- Run client from another command line: ./q
- Test in KDB+ console
-
h:hopen (`::5000:brokera:password) -
o:(`sym`side`otype`timeinforce`osize`limitprice) ! (`ABC;`BUY;`LIMIT;`GOODFORDAY;100;500) -
h(`.qex.Submit; `NEW; o)
TO be added.
TO be added.
TO be added.
- Coding style check
- Unit testing
- Refactor code to use vector language style instead of procedure
- More client APIs (Market data)
- A market maker implementation
- A member implementation (algo trading)
- Performance Testing