the FOSS computational trading platform (for non-tinas..) https://github.com/pikers/piker
Go to file
Tyler Goodlet a82f43e3a5 Rework data feed API to allow for caching streams
Move all feed/stream agnostic logic and shared mem writing into a new
set of routines inside the ``data`` sub-package. This lets us move
toward a more standard API for broker and data backends to provide
cache-able persistent streams to client apps.

The data layer now takes care of
- starting a single background brokerd task to start a stream for as
  symbol if none yet exists and register that stream for later lookups
- the existing broker backend actor is now always re-used if possible
  if it can be found in a service tree
- synchronization with the brokerd stream's startup sequence is now
  oriented around fast startup concurrency such that client code gets
  a handle to historical data and quote schema as fast as possible
- historical data loading is delegated to the backend more formally by
  starting a ``backfill_bars()`` task
- write shared mem in the brokerd task and only destruct it once requested
  either from the parent actor or further clients
- fully de-duplicate stream data by using a dynamic pub-sub strategy
  where new clients register for copies of the same quote set per symbol

This new API is entirely working with the IB backend; others will need
to be ported. That's to come shortly.
2021-04-10 14:18:40 -04:00
.github/workflows Add github actions CI; thanks @guilledk! 2020-10-02 10:40:25 -04:00
piker Rework data feed API to allow for caching streams 2021-04-10 14:18:40 -04:00
snippets Add resource links to DPI snippet 2020-10-28 09:27:44 -04:00
tests Create a blank config if none exists 2019-03-18 00:04:34 -04:00
.gitignore Initial commit 2018-01-15 22:58:02 -05:00
LICENSE Relicense to AGPLv3 2020-06-16 00:12:19 -04:00
MANIFEST.in Extend install docs 2018-02-15 13:33:53 -05:00
README.rst More coherent focus list 2021-04-06 13:24:54 -04:00
requirements.txt Go back to mainline pyqtgraph 2021-03-19 12:07:00 -04:00
setup.py Deliver symbol info from kraken; start using pydantic 2021-02-06 14:23:27 -05:00

README.rst

piker

trading gear for hackers.

gh_actions

piker is a broker agnostic, next-gen FOSS toolset for real-time computational trading targeted at hardcore Linux users .

we use as much bleeding edge tech as possible including (but not limited to):

focus and features:

  • 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.

building the best looking, most reliable, keyboard friendly trading platform is the dream; join the cause.

install

piker is currently under heavy pre-alpha development and as such should be cloned from this repo and hacked on directly.

for a development install:

git clone git@github.com:pikers/piker.git
cd piker
virtualenv env
source ./env/bin/activate
pip install -r requirements.txt -e .

broker Support

for live data feeds the in-progress set of supported brokers is:

  • IB via ib_insync
  • questrade which comes with effectively free L1
  • kraken for crypto over their public websocket API

coming soon...

if you want your broker supported and they have an API let us know.

check out our charts

bet you weren't expecting this from the foss bby:

piker -b kraken chart XBTUSD

if anyone asks you what this project is about

you don't talk about it.

how do i get involved?

enter the matrix.

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?