Moonshot vs Zipline

@Brian (and the community) was interested in your thoughts regarding Moonshot vs Zipline. In your opinion, is there any reason to focus on one engine vs the other?

I've been successfully using Moonshot for a while now, but I'm starting to struggle to code more advanced strategies within the context of a dataframe without resorting to df.apply for everything. As a result, I've been thinking about switching everything over to Zipline given the amount of time/investment QuantRocket has put into Zipline lately. Additionally, I personally use TradingView/pine script to do all my prototyping for practical reasons, and it's occurred to me how similar the execution context is between Zipline and Pine Script; I could nearly copy and paste the meat of strategies over. Alternatively, I've considered emulating the TradingView environment (interactive chart with plotted trade executions powered by Moonshot).

When thinking about building a quantitative trading business holistically, is one system more suited vs the other?

I know this may be mostly subjective, but I'd love to know what you think... Maybe a section could be added to the docs discussing why you'd choose one over the other? Thanks mate!

There will be a future blog post on this topic. I would suggest learning both so you can select the best one for each strategy, rather than always using one or the other. Some things can only be done in Zipline (e.g. stop losses), but Moonshot’s simplicity is an advantage in its own right (faster iteration and fewer moving parts that can break). Personally I would use Moonshot when you can and Zipline when you must. But as you point out, it's largely subjective.

1 Like