Backtesting framework

There seems to be no maintained package for trading backtesting framework like a framewokr in python called backtrader
I did come across

  1. dysonance/Strategems.jl
  2. JuliaQuant/TradingLogic.jl

Anyone in the process of creation or knows of a package that i have not come across ?

3 Likes

Well, we still lack backtesting framework. If you’re interested in rebooting the TradingLogic.jl, feel free to ping me in that repo, just show your blueprint.

2 Likes

I will keep you posted. I am working on a design currently.

4 Likes

hi @bicepjai !

I’m also working on a strictly vectorized single asset & portfolio backtesting framework as well.
Ping me on Julia slack (Mark Aron Szulyovszky) or in DM here (or email or whatever Discourse allows you to do)!

Hi all,

[ANN] Announcing Trading.jl may also be related.

PingPong.jl may also be considered.

Kind regards

2 Likes

SaguaroTrader.jl is a schedule-driven backtesting engine in Julia. We developed it to satisfy our internal use cases, but we welcome any feedback for expanding the capabilities to fit more general use cases.

4 Likes

Hi @tylerjthomas9

Nice to see that qstrader have a Julia version (I used to be a contributor).
I personally find the order_sizer an approach which is a bit complex.
Implementing function like order_market_target

to simply manage orders as a certain target percent with respect to the portfolio value seems a bit simpler (but that’s probably a personal taste)

I wonder how do you manage technical analysis indicators.
Which Julia lib are you using ?
Did you see my post Incremental Technical Analysis indicators about implementing incremental technical analysis indicators ?

2 Likes

It is great to hear from you. I had noticed that you were an active member of the Julia community. Thank you for the suggestion around the order_sizer.

We do not currently do anything with technical analysis indicators. Our internal use case is simply to take a schedule of company weights and build portfolios around that schedule. However, we want to expand the libraries functionality to be more generally useful. I had not seen your post until now, but I will take a look at it.

3 Likes

Some others Julia backtesters to be added to the list.

PS : be also aware of my new package for porfolio analytics via online algorithm Incremental portfolio analytics (OnlinePortfolioAnalytics.jl)

4 Likes

We are having one less Julia backtesting framework… https://github.com/panifie/PingPong.jl
My 7 months late fork is available at GitHub - femtotrader/PingPong.jl: Cryptocurrency trading bot, and backtesting framework in julia
PingPong · Julia Packages

1 Like

What changes did you make to your fork of PingPong.jl?

None. Sometimes I fork on GH because I consider that a project is interesting and I’d prefer to still have this code if it disappears.

Lucky.jl has a really interesting architecture. I just wish it were easier to use it with OnlineTechnicalIndicators.jl. I see that you even started an issue asking him about it.

I’ve been thinking about this problem space for a while, and the way he used Rocket.jl to organize his data pipeline feels elegant. He did a lot of things right. Even if I don’t end up using Lucky.jl for my own work, I think I will take a lot of inspiration from it.