piker/README.rst

139 lines
4.4 KiB
ReStructuredText
Raw Normal View History

2018-01-20 18:19:15 +00:00
piker
2018-02-15 18:33:53 +00:00
-----
2020-09-02 16:36:24 +00:00
trading gear for hackers.
2018-01-27 06:52:24 +00:00
2020-11-06 17:46:04 +00:00
|gh_actions|
2018-04-11 04:10:45 +00:00
2020-11-06 17:46:04 +00:00
.. |gh_actions| image:: https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fpikers%2Fpiker%2Fbadge&style=popout-square
:target: https://actions-badge.atrox.dev/piker/pikers/goto
2019-02-26 06:14:58 +00:00
2020-11-06 17:46:04 +00:00
``piker`` is a broker agnostic, next-gen FOSS toolset for real-time
2021-02-21 21:04:04 +00:00
computational trading targeted at `hardcore Linux users <comp_trader>`_ .
2019-02-26 06:14:58 +00:00
2020-11-06 17:46:04 +00:00
we use as much bleeding edge tech as possible including (but not limited to):
- latest python for glue_
2020-09-02 16:36:24 +00:00
- trio_ for `structured concurrency`_
2020-07-08 19:42:51 +00:00
- tractor_ for distributed, multi-core, real-time streaming
2020-06-02 14:32:04 +00:00
- marketstore_ for historical and real-time tick data persistence and sharing
- techtonicdb_ for L2 book storage
2020-05-12 02:43:30 +00:00
- Qt_ for pristine high performance UIs
2020-07-08 19:42:51 +00:00
- pyqtgraph_ for real-time charting
2020-09-02 16:36:24 +00:00
- ``numpy`` and ``numba`` for `fast numerics`_
2019-02-26 06:14:58 +00:00
2018-04-11 04:10:45 +00:00
.. |travis| image:: https://img.shields.io/travis/pikers/piker/master.svg
:target: https://travis-ci.org/pikers/piker
2019-03-22 02:46:20 +00:00
.. _trio: https://github.com/python-trio/trio
.. _tractor: https://github.com/goodboy/tractor
2020-09-02 16:45:24 +00:00
.. _structured concurrency: https://trio.discourse.group/
2020-05-12 02:43:30 +00:00
.. _marketstore: https://github.com/alpacahq/marketstore
2020-06-02 14:32:04 +00:00
.. _techtonicdb: https://github.com/0b01/tectonicdb
2020-05-12 02:43:30 +00:00
.. _Qt: https://www.qt.io/
2020-09-02 16:45:24 +00:00
.. _pyqtgraph: https://github.com/pyqtgraph/pyqtgraph
2020-06-03 16:09:55 +00:00
.. _glue: https://numpy.org/doc/stable/user/c-info.python-as-glue.html#using-python-as-glue
2020-07-08 19:42:51 +00:00
.. _fast numerics: https://zerowithdot.com/python-numpy-and-pandas-performance/
2021-02-21 21:04:04 +00:00
.. _comp_trader: https://jfaleiro.wordpress.com/2019/10/09/computational-trader/
2019-03-22 02:46:20 +00:00
2020-05-12 02:43:30 +00:00
2020-11-06 17:46:04 +00:00
focus and features:
2020-05-12 02:43:30 +00:00
*******************
2021-03-31 18:23:45 +00:00
- 100% federated: your code, your hardware, your data feeds, your broker fills.
- zero web: low latency, native software that doesn't try to re-invent the OS
- maximal **privacy**: prevent brokers and mms from knowing your
planz; smack their spreads with dark volume.
- zero clutter: modal, context oriented UIs that echew minimalism, reduce
thought noise and encourage un-emotion.
- first class parallelism: built from the ground up on next-gen structured concurrency
primitives.
- traders first: broker/exchange/asset-class agnostic
- systems grounded: real-time financial signal processing that will
make any queuing or DSP eng juice their shorts.
- non-tina UX: sleek, powerful keyboard driven interaction with expected use in tiling wms
- data collaboration: every process and protocol is multi-host scalable.
- fight club ready: zero interest in adoption by suits; no corporate friendly license, ever.
fitting with these tenets, we're always open to new framework suggestions and ideas.
2020-09-02 16:36:24 +00:00
2020-09-02 16:45:24 +00:00
building the best looking, most reliable, keyboard friendly trading
2021-03-31 18:23:45 +00:00
platform is the dream; join the cause.
2018-01-27 06:52:24 +00:00
2019-02-26 06:14:58 +00:00
2020-11-06 17:46:04 +00:00
install
2018-01-27 06:52:24 +00:00
*******
2020-11-06 17:46:04 +00:00
``piker`` is currently under heavy pre-alpha development and as such
should be cloned from this repo and hacked on directly.
2018-01-27 06:52:24 +00:00
2020-11-06 17:46:04 +00:00
for a development install::
2018-02-12 15:55:04 +00:00
git clone git@github.com:pikers/piker.git
cd piker
2020-11-06 21:03:47 +00:00
virtualenv env
source ./env/bin/activate
2021-03-31 18:23:45 +00:00
pip install -r requirements.txt -e .
2018-02-12 15:55:04 +00:00
2019-03-22 02:46:20 +00:00
2020-11-06 17:46:04 +00:00
broker Support
2019-03-22 02:46:20 +00:00
**************
2020-11-06 17:46:04 +00:00
for live data feeds the in-progress set of supported brokers is:
2020-09-02 16:36:24 +00:00
- IB_ via ``ib_insync``
2020-11-06 17:46:04 +00:00
- questrade_ which comes with effectively free L1
- kraken_ for crypto over their public websocket API
2020-07-08 19:42:51 +00:00
2020-11-06 17:46:04 +00:00
coming soon...
2019-03-22 02:46:20 +00:00
2020-11-06 17:46:04 +00:00
- webull_ via the reverse engineered public API
- yahoo via yliveticker_
- coinbase_ through websocket feed
2019-03-22 02:46:20 +00:00
2020-11-06 17:46:04 +00:00
if you want your broker supported and they have an API let us know.
2019-03-22 02:46:20 +00:00
2020-11-06 17:46:04 +00:00
.. _IB: https://interactivebrokers.github.io/tws-api/index.html
.. _questrade: https://www.questrade.com/api/documentation
.. _kraken: https://www.kraken.com/features/api#public-market-data
.. _webull: https://github.com/tedchou12/webull
.. _yliveticker: https://github.com/yahoofinancelive/yliveticker
.. _coinbase: https://docs.pro.coinbase.com/#websocket-feed
2021-03-31 18:23:45 +00:00
2020-11-06 17:46:04 +00:00
check out our charts
2020-09-02 16:36:24 +00:00
********************
bet you weren't expecting this from the foss bby::
2018-04-18 18:03:59 +00:00
2020-10-15 18:30:48 +00:00
piker -b kraken chart XBTUSD
2018-04-18 18:03:59 +00:00
2021-04-10 18:22:49 +00:00
run in distributed mode
***********************
start the service daemon::
pikerd -l info
connect yourt chart::
piker -b kraken chart XMRXBT
enjoy persistent real-time data feeds tied to daemon lifetime.
2020-11-06 17:46:04 +00:00
if anyone asks you what this project is about
2020-09-02 16:36:24 +00:00
*********************************************
2020-11-06 17:46:04 +00:00
you don't talk about it.
2018-04-18 18:03:59 +00:00
2021-03-31 18:23:45 +00:00
2020-11-06 17:46:04 +00:00
how do i get involved?
2020-09-02 16:36:24 +00:00
**********************
2020-11-06 17:46:04 +00:00
enter the matrix.
2021-03-31 18:23:45 +00:00
how come there ain't that many docs
***********************************
suck it up, learn the code; no one is trying to sell you on anything.
who is `piker0`?
****************
who do you think?