Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modern marketstore, the summary #142

Open
1 of 5 tasks
goodboy opened this issue Jan 10, 2021 · 2 comments
Open
1 of 5 tasks

Modern marketstore, the summary #142

goodboy opened this issue Jan 10, 2021 · 2 comments
Assignees
Labels
data-layer real-time and historical data processing and storage integration external stack and/or lib augmentations tsdb time series db stuff
Milestone

Comments

@goodboy
Copy link
Contributor

goodboy commented Jan 10, 2021

There's been a ton of action over at marketstore and we want in.

We already have a psuedo-async-wrapped client that can probably be used just fine until we write our own async-grpc version (see last bullet).

Currently, my opinion is to work on these in the order presented.

Notably the following really new stuff has been added:

  • tick(trade)-to-bar data aggregation, for which there appears to be no docs - likely have to read through this PR

    • input array schema seems to be defined here and is something like "SPY/1Sec/TRADE" for the new table key which then get's aggregated to a /OHLCV key, right?
    • originally asked for in this issue
    • PR contains the loop logic for bucketting which we'll likely need to reverse eng to understand usage
    • they seems to allow up to 4 trade condition fields
    • ideally we can store both the trade data and the aggregates without having to keep just the 1Sec data
      • @guilledk so in other words I think we should store both the techtonic style ticks as well as the 1s bucketting but not sure yet if we can get both by only writing one column series (more comments below).
  • grpc support for faster IPC was in these PRs

  • a new replication feature which now has docs

    • requires TLS pem certs
    • it's write only on replicas
    • replicas can't be written directly

Feature list:

  • async grpc client with anyio is now done thanks to @guilledk as anyio-marketstore 🏄🏼
  • tick ingest via the new TRADES/1s key + whatever "conditional" fields we decide to include
  • tick to OHLCV bars aggregation using the new support codified in ENH: tick to bar conversion alpacahq/marketstore#399
  • try out the binance ingestor to see how well (and at what granularity) it operates
  • supervisor for spawning the docker instance with appropriate config and making all of it included as a dependency

I think it makes sense to break these tasks out per dev and nail em down 😎

@goodboy goodboy added integration external stack and/or lib augmentations data-layer real-time and historical data processing and storage labels Jan 10, 2021
@goodboy goodboy mentioned this issue Jan 10, 2021
4 tasks
@goodboy goodboy mentioned this issue May 17, 2021
5 tasks
@goodboy goodboy added the tsdb time series db stuff label May 17, 2021
@goodboy
Copy link
Contributor Author

goodboy commented Feb 3, 2022

Heads up @guilledk they have a bulit-in feeder for binance: https://github.com/alpacahq/marketstore/tree/master/contrib/binancefeeder

Might be worth benchmarking against?

@goodboy
Copy link
Contributor Author

goodboy commented Feb 14, 2022

Digging into some points for the tick-trade aggregation requirements from PR 399:

@goodboy goodboy added this to the Storage Layer milestone Mar 6, 2022
@goodboy goodboy mentioned this issue May 11, 2022
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
data-layer real-time and historical data processing and storage integration external stack and/or lib augmentations tsdb time series db stuff
Projects
None yet
Development

No branches or pull requests

2 participants