Skip to content

Initial client-side only Trading Strategy notebook research #11

@miohtama

Description

@miohtama

Research and investigate what it takes to run Trading Strategy backtesting framework in the web browser using JupterLite and Pydiode and WebAssembly.

Deliverables

  • A client-side execution of the Hello World notebook as a static HTML example (any of raw Pydiode, JupyterLite, others)
  • Must run the Python code as a separate WebWorker on background / no blocking the UI
  • A separate Github repository with HTML + JavaScript source code (any JS framework is good if needed)
  • Necessary changes to our client library as a pull request
  • Necessary repackaging and workarounds for any library client depends on
  • Necessary server-side modification suggestions, like new HTTP headers needed to support client-side downloads
  • Any other suggestions that would make pure client-side development easier

Likely changes needed

  • Currently using requests for data download - create a new data transport that is compatible with client-side fetch.
  • Make imports optional / ignored just to make it start

Possible problematic libraries

These libraries are likely to cause headache:

  • pyarrow
  • web3.py

Other issues

If the research finds out this is impossible or very difficult e.g. due to some of the key dependencies being impossible hard to make client-side Python compatible, then drop the work and document all blockers.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions