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

(Automatic) Trading Frameworks (aka yabf) #89

Open
goodboy opened this issue May 11, 2020 · 5 comments
Open

(Automatic) Trading Frameworks (aka yabf) #89

goodboy opened this issue May 11, 2020 · 5 comments
Assignees
Labels
you're-not-a-quant a non-annoying/overused version of "quantitative"

Comments

@goodboy
Copy link
Contributor

goodboy commented May 11, 2020

There's quite a few all geared at different things but I figure we might as well start a list of what's been tried as well as what has multi-broker support and/or (a) reasonable API(s) and can be run without a cloud platform.

yabf = yet another backtesting framework

There's obviously going to be a lot to choose from and many different specialties.
I will not be surprised if we end up rolling our own since none of these seem to leverage modern Python's async features..

Python YABFs


  • quantopian's zipline
    • the gold standard in python algo trading 🙄
    • they have an online web platform (with an IDE) that let's you do "online trading"
    • some coolio's made a live trading version, zipline-live
    • a pipeline system for peppering over the fact they don't have a streaming / async system underneath or care about generators...
    • they do have a ton of very cool quant libs including alphalens, pyfolio and qgrid



  • Quantconnect's Lean
    • biggest oof is it's mostly C#


  • QTPyLib which has quite a cool set of features:
    • has support for live data and trading with IB
    • uses zeromq
    • has sms notifications via twilio
    • actual notion of common professional tools (like [blotters])
    • has a really strange async system that's for whatever reason re-written in this

GUI YABFs

  • backtesting which internally uses bokeh for plotting
  • pyalgotrader which is an english port of the famous chinese vnpy
    • also uses pyqtgraph for charting (though not sure if supports real-time quotes; should be a lot of useful code in there tho)
    • author has some interesting S / R tooling work
  • of course Quantdom which is the project I based the current charting code on 🥳
@goodboy goodboy changed the title Trading Frameworks (Automatic) Trading Frameworks May 12, 2020
@goodboy goodboy added help wanted you're-not-a-quant a non-annoying/overused version of "quantitative" labels May 12, 2020
@goodboy
Copy link
Contributor Author

goodboy commented May 12, 2020

I've got to say my main issue with most of these ^ is the overuse of classes to define both strategies and the data flow model.

@goodboy
Copy link
Contributor Author

goodboy commented May 19, 2020

Rob Carver's pysystemtrade and blog look decent as well.

(added to above)

@goodboy goodboy changed the title (Automatic) Trading Frameworks (Automatic) Trading Frameworks (aka yabf) Jul 31, 2020
@goodboy
Copy link
Contributor Author

goodboy commented Jul 31, 2020

  • TODO section on projects with UIs.

List I've got so far:

  • backtesting which internally uses bokeh for plotting
  • pyalgotrader which is an english port of the famous chinese vnpy
    • also uses pyqtgraph for charting (though not sure if supports real-time quotes; should be a lot of useful code in there tho)
    • author has some interesting S / R tooling work
  • of course Quantdom which is the project I based the current charting code on 🥳

@goodboy
Copy link
Contributor Author

goodboy commented Jan 4, 2021

vectorbt also looks interesting, in the sense it's not using pandas 😂

Probably worth some digging and peeking.
Found it at this reddit thread.

@goodboy
Copy link
Contributor Author

goodboy commented Jul 7, 2022

https://docs.nautilustrader.io/index.html is notable for having lower level components in cython and rust but it's still got a gnarly callback API.

Decent integration set including ib.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
you're-not-a-quant a non-annoying/overused version of "quantitative"
Projects
None yet
Development

No branches or pull requests

2 participants