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

Dark vlm #260

Merged
merged 17 commits into from
Jan 30, 2022
Merged

Dark vlm #260

merged 17 commits into from
Jan 30, 2022

Conversation

goodboy
Copy link
Contributor

@goodboy goodboy commented Jan 25, 2022

WIP plotting "dark" volume trades overlayed with normal feed provided by the ib backend.

The feed for these are the so called unreportable trades as vaguely mentioned in their tick types under id 48:
https://interactivebrokers.github.io/tws-api/tick_types.html

Last trade details (Including both "Last" and "Unreportable Last" trades).


ToDo:

  • separate curve for dark volume overlaid with our current $vlm
  • [ ] possibly a line overlayed with the OHLC bars to some how indicate the direction of these ticks (deferred to Dark vlm real-time trade balance #266)

@goodboy goodboy added fsp financial signal processing viz graphics (charting related) geometry chops labels Jan 25, 2022
Base automatically changed from overlayed_dvlm to master January 26, 2022 18:47
Instead of referencing the remote processing funcs by a `str` name start
embracing the new `@fsp`/`Fsp` API such that wrapped processing
functions are first class APIs.

Summary of the changeset:
- move and load the fsp built-in set in the new `.fsp._api` module
- handle processors ("fsps") which want to yield multiple keyed-values
  (interleaved in time) by expecting both history that is keyed and
  assigned to the appropriate struct-array field, *and* real-time
  `yield`ed value in tuples of the form `tuple[str, float]` such that
  any one (async) processing function can deliver multiple outputs from
  the same base calculation.
- drop `maybe_mk_fsp_shm()` from UI module
- expect and manage `Fsp` instances (`@fsp` decorated funcs) throughout
  the UI code, particularly the `FspAdmin` layer.
# timeframes=['1s', '5s', '15s', '1m', '5m', '1H'],
# )
async def _rsi(
@fsp
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Slick API!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💋 thanks amigo

@goodboy
Copy link
Contributor Author

goodboy commented Jan 29, 2022

One last thing is we gotta land goodboy/tractor#295 for the new NamespacePath type.

Ping @guilledk

@goodboy
Copy link
Contributor Author

goodboy commented Jan 30, 2022

One last note on this was whether to always show the dark vlm curve even if no feed is available from the data provider. For now it's just getting set to zero and that zero curve is updated on each step; we should probably have some kind of "symbol info" field that determines whether we draw it at all to avoid the unneeded overhead in most cases.

@goodboy goodboy merged commit a2698c7 into master Jan 30, 2022
@goodboy goodboy deleted the dark_vlm branch January 30, 2022 19:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fsp financial signal processing graphics (charting related) geometry chops
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants