Commit Graph

1010 Commits (432bd9647442ec8b20071ee80f300e3498e22691)

Author SHA1 Message Date
Guillermo Rodriguez 432bd96474
Added missing toml dependency to setup.py
Pinned qdarkstyle to 2.8.1
Updated arrow timestamp api used in kraken backend
2021-05-16 18:53:54 -03:00
goodboy 9de02321d8
Merge pull request #169 from pikers/tractor_open_stream_from
Port to new tractor stream api
2021-05-04 10:41:49 -04:00
Tyler Goodlet c08f192f77 Move charting to new tractor stream api
This required a fsp task spawning logic rework which ended up being
cleaner just spawning tasks in a loop sequentially instead of trying
a 2-phase spawn-then-initialize approach.

This also includes changes from the symbol search branch hacked in.
Mostly it includes isolating the main chart startup-sequence to a
function that can be run in a new task every time a new symbol is
requested by the selector/searcher. The actual search functionality
obviously isn't in here yet but minor changes are included as part of
pulling out the `tractor` stream api patch from the symbol search dev
branch.
2021-04-29 11:28:00 -04:00
Tyler Goodlet d3b50b9920 Port clearing engine to new tractor stream api 2021-04-29 09:10:36 -04:00
Tyler Goodlet 56db2c812d Port fsp engine to new tractor stream api 2021-04-29 09:10:28 -04:00
Tyler Goodlet 0d9f091a34 Port data feed to new tractor stream api 2021-04-29 09:10:18 -04:00
Tyler Goodlet 3375735914 Port kivy monitor to new tractor stream api 2021-04-29 09:10:11 -04:00
goodboy a89da98141
Merge pull request #167 from pikers/feed_fixes
Feed fixes
2021-04-29 09:00:07 -04:00
Tyler Goodlet 8a140b5ae8 Pass loglevel as named arg to pikerd 2021-04-15 11:20:30 -04:00
Tyler Goodlet 7d6bc4d856 Move feed api(s) into new submodule
Also add a --pdb flag to chart app.
2021-04-15 10:43:29 -04:00
Tyler Goodlet 0b10c8d6d6 Make standalone mode work again 2021-04-15 08:23:08 -04:00
Tyler Goodlet feeabb3d28 Add --pdb flag to pikerd to enable service debug mode 2021-04-14 12:57:46 -04:00
Tyler Goodlet 7f580ad356 Pass through kwargs 2021-04-14 12:56:08 -04:00
Tyler Goodlet 9622254cdb Hack broadcast chan for order submissions, smh 2021-04-14 11:02:14 -04:00
Tyler Goodlet 4774881812 Handle predicate not yet inserted to exec loop 2021-04-10 14:34:29 -04:00
goodboy 54d272ea29
Merge pull request #161 from pikers/cached_feeds
Cached feeds
2021-04-10 14:33:43 -04:00
Tyler Goodlet 8b745f440e Add disti mode instructions 2021-04-10 14:22:49 -04:00
Tyler Goodlet 9a15cd48f0 Just symbol info in window title 2021-04-10 14:18:40 -04:00
Tyler Goodlet 598aec579f Avoid token checking type mismatches 2021-04-10 14:18:40 -04:00
Tyler Goodlet fa7fadebac Report sym on unexpected open 2021-04-10 14:18:40 -04:00
Tyler Goodlet 3147a49384 Move sample-broadcast routine into sampling module 2021-04-10 14:18:40 -04:00
Tyler Goodlet 71d02db126 Rename "buffer" to "sampling" 2021-04-10 14:18:40 -04:00
Tyler Goodlet 1523637979 Always update L1 labels 2021-04-10 14:18:40 -04:00
Tyler Goodlet 3506bbe05c Nest async withs 2021-04-10 14:18:40 -04:00
Tyler Goodlet a18a4b5a4c Call the app what it is 2021-04-10 14:18:40 -04:00
Tyler Goodlet 20c99733b6 Let cli pass through actor name 2021-04-10 14:18:40 -04:00
Tyler Goodlet 47f823ab22 Always close emsd data connection on close 2021-04-10 14:18:40 -04:00
Tyler Goodlet 1281755d65 Don't use mem chan cloning, it doesn't actually broadcast 2021-04-10 14:18:40 -04:00
Tyler Goodlet ddae08493b Manage the send mem chan lifetime 2021-04-10 14:18:40 -04:00
Tyler Goodlet 28a961ebc0 Add a maybe-startup-runtime manager 2021-04-10 14:18:40 -04:00
Tyler Goodlet 100e27ac12 Task lock bus loading, always close feed stream on disconnect 2021-04-10 14:18:40 -04:00
Tyler Goodlet 8069bbe105 Drop old incrementer func 2021-04-10 14:18:40 -04:00
Tyler Goodlet ce4144aace Deliver and utilise broker backend OHLC sample rate in init msg 2021-04-10 14:18:40 -04:00
Tyler Goodlet c05fc8991a Rework ohlc sampling to launch from .start()
Avoid bothering with a trio event and expect the caller to do manual shm
registering with the write loop. Provide OHLC sample period indexing
through a re-branded pub-sub func ``iter_ohlc_periods()``.
2021-04-10 14:18:40 -04:00
Tyler Goodlet a8a3f098cf Drop lingering prints 2021-04-10 14:18:40 -04:00
Tyler Goodlet 5a970dad72 Port kraken backend to new data feed api 2021-04-10 14:18:40 -04:00
Tyler Goodlet 29b73b41fb Slight rename; fix predicate is None bug 2021-04-10 14:18:40 -04:00
Tyler Goodlet 24bda8636e Port quest to new client api 2021-04-10 14:18:40 -04:00
Tyler Goodlet 30dabbab44 Support backend volume summing; handle disconnects 2021-04-10 14:18:40 -04:00
Tyler Goodlet 1d013126b9 Fix type annot 2021-04-10 14:18:40 -04:00
Tyler Goodlet b2eacb85d4 Don't hold lock on initial client construction 2021-04-10 14:18:40 -04:00
Tyler Goodlet 3ebb7ab6b1 Only activate Qt hidpi detection on windows for now 2021-04-10 14:18:40 -04:00
Tyler Goodlet 4f51ca74f4 Broadcast all tick types to subs, not just trades 2021-04-10 14:18:40 -04:00
Tyler Goodlet 5fc2aba3ed Drop some more old cruft 2021-04-10 14:18:40 -04:00
Tyler Goodlet 8ccf987d52 Fix typo 2021-04-10 14:18:40 -04:00
Tyler Goodlet 7cc395b5bf Open data feed in ems main entrypoint 2021-04-10 14:18:40 -04:00
Tyler Goodlet 14c5fc24ec Port to new setup routine name 2021-04-10 14:18:40 -04:00
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
Tyler Goodlet f17a26c948 Don't mistakenly alias options to underlyingn for positions 2021-04-10 14:18:40 -04:00
Tyler Goodlet 65e7680cdd Draft a feed cacheing sub-system 2021-04-10 14:18:40 -04:00