4f387ea2be
Oh boy where to start. - Handle broken streams in the `StreamQueue` gracefully; terminate the async generator. - When a stream queue connection is unwritable discard its subscriptions inside the quoter task - If all subscriptions are discarded for a broker then tear down its quoter task - Use listener parent nursery for spawning quoter tasks - Make broker subs data structures global/shared between conn handler tasks - Register the `tickers2qs` entry *after* instantiating broker client(s) (avoids race condition when mulitple client connections are coming online simultaneously) - Push smoke quotes to every client not just the first that connects - Track quoter tasks in a cross-task set - Handle unsubscriptions more correctly |
||
---|---|---|
piker | ||
tests | ||
.gitignore | ||
.travis.yml | ||
MANIFEST.in | ||
Pipfile | ||
Pipfile.lock | ||
README.rst | ||
setup.py |
README.rst
piker
Anti-fragile trading gear for hackers, scientists, stay-at-home quants and underpants warriors.
Install
piker
is currently under heavy alpha development and as such should be cloned from this repo and hacked on directly.
A couple bleeding edge components are being used atm pertaining to async ports of libraries for use with trio.
Before installing make sure you have pipenv. For a development install:
git clone git@github.com:pikers/piker.git
cd piker
pipenv install --dev -e .
pipenv shell
To start the real-time index ETF watchlist:
piker watch indexes -l info
If you want to see super granular price changes, increase the broker quote query rate
with -r
:
piker watch indexes -l info -r 10
It is also possible to run the broker-client micro service as a daemon:
pikerd -l info
Then start the client app as normal:
piker watch indexes -l info
Laggy distros
For those running pop-culture distros that don't yet ship python3.6
you'll need to install it as well as kivy source build dependencies since currently there's reliance on an async development branch.
Tech
piker
is an attempt at a pro-grade, next-gen open source toolset for trading and financial analysis. As such, it tries to use as much cutting edge tech as possible including Python 3.6+ and trio
.