Welcome to NexusFi: the best trading community on the planet, with over 150,000 members Sign Up Now for Free
Genuine reviews from real traders, not fake reviews from stealth vendors
Quality education from leading professional traders
We are a friendly, helpful, and positive community
We do not tolerate rude behavior, trolling, or vendors advertising in posts
We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community. It's free for basic access, or support us by becoming an Elite Member -- see if you qualify for a discount below.
-- Big Mike, Site Administrator
(If you already have an account, login at the top of the page)
I think we're looking at different things. I see consistent data format and consistent equity progression. See pic attached. Equity starts 487 USD on August 18th and ends 538.5 USD on Sep 13th (DD/MM/YYYY date format).
Is it that in line with what you see?
Can you help answer these questions from other members on NexusFi?
Here I am. I spent a couple of hours putting together the approach I adopted and the features developed in my portfolio management sw.
Hope you enjoy the pdf (forgiving any typo)
Thanks for sharing this!
I have been thinking about a way to implement this with Ninjatrader and 100+ strats, but other work obligations have left my dev time for trading extremely limited.
This will serve as a nudge to get me started again
Couple of questions:
- Do you do the walk-forward in Ninjatrader, or do you run that of platform?
- Is it you manually switching on/off strats every week, or have you implemented it so it is automatic? (I've found Ninjatrader is not so keen on allowing me to enable/disable strats automatically. It is possible, but I have found it is easiest to just have a test at the beginning of the script--> if(!allowedToTrade) return; kind of thing
- Do you use stats form Ninjatraders performance review, or do just grab the trades and calculate this in python instead?
- Are you using .csv's for crossplatform interaction? I've planned to use some database (haven't decided which) for this bit. That way I can just query it from wherever in the process for the results, optimisation parameters, on-off etc
Anyway, this is a cool project!
I hope I will get mine up and running and not get lost in the endless possibilities for optimizing it.
Hi s2los, thanks gor your kind feedback. See my answers [A] below
- Do you do the walk-forward in Ninjatrader, or do you run that of platform?
[A]: WF is in Python. Each WE the trade/stop mask is calculated and applied to the next week. Equity is shown for one year back today.
- Is it you manually switching on/off strats every week, or have you implemented it so it is automatic? (I've found Ninjatrader is not so keen on allowing me to enable/disable strats automatically. It is possible, but I have found it is easiest to just have a test at the beginning of the script--> if(!allowedToTrade) return; kind of thing
[A] Manually. I did a lot of automation in the process but not this
- Do you use stats form Ninjatraders performance review, or do just grab the trades and calculate this in python instead?
[A] the latter. I take only trades and do everything off-line. Well, I wrote an equity curve management in NT and it's possible to enable it on each strategy I design. But it resulted to be not a practical way to manage portfolios with more than 10 or 20 algos.
- Are you using .csv's for crossplatform interaction? I've planned to use some database (haven't decided which) for this bit. That way I can just query it from wherever in the process for the results, optimisation parameters, on-off etc
[A] csv with some kind of talking strategy name. In this way python knows which instrument was traded by that file. More, I can group strategies and plot a sub-equity curves. For examples, I have many strategies based on a fisher transform engine. I call all of them FISH_xxxx and the export tool in NT is exporting trades with FISH_xxxx.csv filename.
I hard coded grouping names in the portfolio management sw, by clicking on the list (you can see the thin-long window on the left) so to have an immediate picture of how those engines are behaving in general. The same for instrument, I can have a sub-equity grouping, say, MGC, where all strategies trading MGC are grouped.
Anyway, this is a cool project!
I hope I will get mine up and running and not get lost in the endless possibilities for optimizing it.
[A] my suggestion is to think a way to export data first. It can make the difference
Calculation time is about 2 minutes for 75 strategies, each of them one year long.
In my approach, I collect all trades in a global trading dataframe and resample all to a common time step. The highest resampling, the fastest it goes, the lowest the accuracy. I use 2H resampling (2 hours).
With weekly or monthly table I mean a weekly or monthly "report", in a table. Not ready yet. But yesterday I added a day-of-the-week report, that I was curios to develop since a lot of time. Results attached, Monday to Friday, last 4 months.
For file naming and instrument recognizing, see my answer to s2los