Commit Graph

2110 Commits (54afa307594a7f0a91c2594eb55851165a3e45f6)

Author SHA1 Message Date
Tyler Goodlet 54afa30759 Ensure bfqsn is lower cased for feed api consumers
Also, Start tinkering with `tractor.trionics.ipython_embed()`

In effort to get back to a usable REPL around the mkts client
this adds usage of the new `tractor` integration api as well as logic
for skipping backfilling if existing tsdb arrays are found.
2022-05-09 11:09:00 -04:00
Tyler Goodlet 62ef081694 Try downsampling mkts data 2022-05-09 11:09:00 -04:00
Tyler Goodlet 279516959f Comment each special key combo 2022-05-09 11:09:00 -04:00
Tyler Goodlet 1c3457d829 Load any symbol-matching shm array if no `marketstored` found 2022-05-09 11:09:00 -04:00
Tyler Goodlet 97211a0a7e Get ib key hack script to work with reconnect 2022-05-09 11:09:00 -04:00
Tyler Goodlet 1115d06e33 Move ib data reset script into a new `scripts/` dir 2022-05-09 11:09:00 -04:00
Tyler Goodlet c874b6aca0 Use new `tractor.query_actor()` for service checking 2022-05-09 11:09:00 -04:00
Tyler Goodlet 531989a9e5 Return all timeframe arrays if `timeframe` not passed as input 2022-05-09 11:09:00 -04:00
Tyler Goodlet 7f5730d222 Make `pikerd` work again without `--tsdb` flag 2022-05-09 11:09:00 -04:00
Tyler Goodlet 38dc9cc99b Add a service checker predicate 2022-05-09 11:09:00 -04:00
Tyler Goodlet c63eb91f6f Allow kill-child-proc-with-root-perms to fail silently in `tractor` reaping 2022-05-09 11:09:00 -04:00
Tyler Goodlet 981735669c Proxy `marketstore` container log level to our own 2022-05-09 11:09:00 -04:00
Tyler Goodlet f1b73244f2 Prototype a high level `Storage` api
Starts a wrapper around the `marketstore` client to do basic ohlcv query
and retrieval and prototypes out write methods for ohlc and tick.
Try to connect to `marketstore` automatically (which will fail if not
started currently) but we will eventually first do a service query.

Further:

- get `pikerd` working with and without `--tsdb` flag.
- support spawning `brokerd` with no real-time quotes.
- bring back in "fqsn" support that was originally not
  in this history before commits factoring.
2022-05-09 11:09:00 -04:00
Tyler Goodlet d1599c4f6c Doc str formatting 2022-05-09 11:09:00 -04:00
Tyler Goodlet 5a69ab800f Add latency measures around diffs/writes to mkts 2022-05-09 11:09:00 -04:00
Tyler Goodlet 1623d4ed83 Prototype out writing `1Sec` OHLCV data 2022-05-09 11:09:00 -04:00
Tyler Goodlet 96b7d55018 Better doc string 2022-05-09 11:09:00 -04:00
Tyler Goodlet b6282bc485 Persist backing `/data/` filesystem across container runs 2022-05-09 11:09:00 -04:00
Tyler Goodlet e81e83821e Get basic OHLCV writes working with `anyio` client 2022-05-09 11:09:00 -04:00
Tyler Goodlet 4af42ee1b5 Pass in daemon name to `start_ahab()` 2022-05-09 11:09:00 -04:00
Tyler Goodlet 3eeb1caf32 Map the grpc port and add graceful container teardown
Not sure how I missed mapping the 5995 grpc port 🤦; done now.
Also adds graceful teardown using SIGINT with included container
logging relayed to the piker console B).
2022-05-09 11:09:00 -04:00
Tyler Goodlet a5c1febd12 Revive `ms-shell` sub-cmd 2022-05-09 11:09:00 -04:00
Tyler Goodlet ab2d721be4 Add WIP backfiller from data feed helper 2022-05-09 11:09:00 -04:00
Tyler Goodlet 4c38d0246e Better handle nested erros from docker client 2022-05-09 11:09:00 -04:00
Tyler Goodlet ecc3613654 Add back in legacy write loop for reference 2022-05-09 11:08:59 -04:00
Tyler Goodlet 216ad65933 Add back in OHLCV dtype template and client side ws streamer 2022-05-09 11:08:59 -04:00
Tyler Goodlet ec501da681 Drop ununsed `Services` ref 2022-05-09 11:08:59 -04:00
Tyler Goodlet 218449a9ef Py3.9+ type updates 2022-05-09 11:08:59 -04:00
Tyler Goodlet 973f0e6180 Add `--tsdb` flag to start `marketstore` with `pikerd` 2022-05-09 11:08:59 -04:00
Tyler Goodlet 5a592d5f42 De-escalate sudo perms in `pikerd` once docker spawns 2022-05-09 11:08:59 -04:00
Tyler Goodlet d6ffe1ba7a Handle the non-root perms case specifically too 2022-05-09 11:08:59 -04:00
Tyler Goodlet 8f22ccd5ef Add explicit no-docker error and supervisor start task-func 2022-05-09 11:08:59 -04:00
Tyler Goodlet 685ec489ef Type annot updates 2022-05-09 11:08:59 -04:00
Tyler Goodlet 48777d72e8 Drop old client instantiate line 2022-05-09 11:08:59 -04:00
Tyler Goodlet ac524dc78b Drop import, it's got madness with and SIGINT? 2022-05-09 11:08:59 -04:00
Tyler Goodlet 1693cc42c1 Add a super simple `marketstore` container supervisor 2022-05-09 11:08:59 -04:00
Tyler Goodlet 91d63f5957 Extract non-sudo user for config dir path 2022-05-09 11:08:59 -04:00
Tyler Goodlet c291c26a3e Basic module-script for spawning `marketstore`, needs correct bind mount usage 2022-05-09 11:08:59 -04:00
Guillermo Rodriguez d367d68fc2 Still WIP, switch to using new marketstore client, missing streaming from marketstore 2022-05-09 11:08:59 -04:00
Guillermo Rodriguez b0401b91c1 Simplify and optimize tick format, similar to techtonicdb's 2022-05-09 11:08:59 -04:00
Guillermo Rodriguez 846e6a3c74 Add multi ingestor support and update to new feed API 2022-05-09 11:08:59 -04:00
goodboy c849bb9c4c
Merge pull request #309 from pikers/no_orderid_in_error
Allow `None` for `BrokerdError.reqid`
2022-05-09 11:08:33 -04:00
Tyler Goodlet 34e6db6d98 Allow `None` for `BrokerdError.reqid`
Found this caused breakage on `kraken` orders which triggered the
"insufficient funds" error response. Makes sense since they won't
generate an order id if the order can't ever be submitted.
2022-05-09 10:56:47 -04:00
goodboy 84399e8131
Merge pull request #289 from pikers/big_data_lines
"Big data" lines
2022-04-30 11:37:50 -04:00
Tyler Goodlet 5921d18d66 Only update y-range from L1 mxmn when last index in view
We still have to always keep track of the last max and min
though.
2022-04-30 11:36:23 -04:00
Tyler Goodlet cdc882657a Drop old `pyqtgraph` downsample code 2022-04-30 11:36:23 -04:00
Tyler Goodlet 62d08eaf85 Tweak log-scaler for more detail 2022-04-30 11:36:23 -04:00
Tyler Goodlet f2f00dcc52 Drop `._ic` debugging prints 2022-04-30 11:36:23 -04:00
Tyler Goodlet ee831baeb3 Display loop mega-cleanup
The most important changes include:
- iterating the new `Flow` type and updating graphics
- adding detailed profiling
- increasing the min uppx before graphics updates are throttled
- including the L1 spread in y-range calcs so that you never have the
  bid/ask go "out of view"..
- pass around `Flow`s instead of shms
- drop all the old prototyped downsampling code
2022-04-30 11:36:23 -04:00
Tyler Goodlet 7c615a403b Allow passing a `plotItem` to `.draw_curve()`
If manually managing an overlay you'll likely call `.overlay_plotitem()`
and then a plotting method so we need to accept a plot item input so
that the chart's pi doesn't get assigned incorrectly in the `Flow` entry
(though it is by default if no input is provided).

More,
- add a `Flow.graphics` field and set it to the `pg.GraphicsObject`.
- make `Flow.maxmin()` return `None` in the "can't calculate" cases.
2022-04-30 11:36:23 -04:00