I would agree with that assessment. TradingPipeline.jl is the sum of my current experiments. It’s just starting to become a cohesive system, but there are a ton of details that are being glossed over.
For backtesting, I use data that I downloaded using CryptoMarketData.jl. It’s currently a manual process to set that up, and I haven’t documented how to do that.
For live testing and live trading, I intend to setup some websocket clients. I haven’t gotten around to doing that yet, but hopefully very soon.
In my system, it’s all mixed together in one pipeline. I made a diagram of what my simulation pipeline currently looks like.
The key thing to note is that changing from backtesting to live testing to live trading doesn’t change the shape of the pipeline that much. Similar to Lucky.jl, strategy code doesn’t even have to know or care whether it’s in a backtest or live trading situation. It should work the same which is a highly desirable trait to have.
Also, right now, plotting is done manually after a backtest session, but I’ve been doing more experiments with realtime plotting. When I start live testing strategies, realtime plotting will become part of the pipeline, and it’ll be adjacent to the chart_subject. However, it won’t be included in backtesting, because it would slow things down unnecessarily. It’s kinda fun to watch, though.
UPDATE: I just learned I could directly upload and embed videos in Discourse without relying on a 3rd party host. You might want to toggle the full screen view though.
