A client has asked me to show backtesting results net of the investment advisory fee. I am seeing the following potential solutions for this:
(1) create a commission scheme that somehow includes the investment advisor fees. I would need 2 components:
- about $0.015/share for the broker commission
- about 1% of total equity under management per year for the advisory fees, paid monthly
Is there a way to do this?
(2) trigger fee payment as part of the strategy code. Is there a way to programmatically "withdraw" cash from the backtesting engine?
(3) program this all manually... which is sure possible but the least exciting option, as now all KPIs in the strategy report are incorrect.
Any comments highly appreciated!
Thank you,
best regards, Felix
PS- FWIW, I am actually on MultiCharts.NET, but I figured this to be a generic question and there are way more people on this part of the forum.
Backtesting net of investment advisor fees
- Anna MultiCharts
- Posts: 560
- Joined: 14 Jul 2017
- Has thanked: 42 times
- Been thanked: 141 times
Re: Backtesting net of investment advisor fees
Hello, fbertram!
I’m afraid this can’t be done from commissions’ settings, as commission is applied to orders/trades, and it’s not calculated on the monthly or annual basis. The only way you can include this fee to the commission is to know the exact number of trades your strategy performs within a year, then you can divide 1% of total annual equity by the number of trades performed during a year and add that price to the commission.
It can't be done from the code either as it's not possible to specify the commission settings from a signal’s code.
If you want to see how this investment advisory fee affects your capital, you can try to program your strategy to send fake orders that will represent the investment advisory fee, but you won’t be able to separate these orders from all other orders sent by your strategy and to trace them separately.
I’m afraid this can’t be done from commissions’ settings, as commission is applied to orders/trades, and it’s not calculated on the monthly or annual basis. The only way you can include this fee to the commission is to know the exact number of trades your strategy performs within a year, then you can divide 1% of total annual equity by the number of trades performed during a year and add that price to the commission.
It can't be done from the code either as it's not possible to specify the commission settings from a signal’s code.
If you want to see how this investment advisory fee affects your capital, you can try to program your strategy to send fake orders that will represent the investment advisory fee, but you won’t be able to separate these orders from all other orders sent by your strategy and to trace them separately.
- fbertram
- Posts: 166
- Joined: 16 Oct 2014
- Location: Seattle, USA
- Has thanked: 36 times
- Been thanked: 76 times
- Contact:
Re: Backtesting net of investment advisor fees
Hi Anna,
thanks for your response and your suggestion. It seems that I have to write my own code to create custom reports, and not rely on MultiCharts' built-in reports. I am starting to dump the relevant data from my strategy into a CSV, and using Excel and VBA to create the plots and KPIs that I like to see. Do you have any suggestion how to create a tighter integration between Excel and MultiCharts to do that, so that I don't have to create a CSV as an intermediate step?
Thank you,
best regards, Felix
thanks for your response and your suggestion. It seems that I have to write my own code to create custom reports, and not rely on MultiCharts' built-in reports. I am starting to dump the relevant data from my strategy into a CSV, and using Excel and VBA to create the plots and KPIs that I like to see. Do you have any suggestion how to create a tighter integration between Excel and MultiCharts to do that, so that I don't have to create a CSV as an intermediate step?
Thank you,
best regards, Felix
Re: Backtesting net of investment advisor fees
I personally save performance reports to excel then simple copy and paste the daily P&Ls into my VAMI calculating excel sheet.
I use broker statements which mean that I have a p&l for every day.
If using the performance report daily section... it will only report a daily p&l if you traded/had a position on that given day. Therefore use Vlookup to reference the performance report daily metrics and insert them into you "every working day inclusive" VAMI calculator sheet. Struggling to explain that, sorry.
Anyway, don't know if that helps.... but it isn't a long process for me.
I use broker statements which mean that I have a p&l for every day.
If using the performance report daily section... it will only report a daily p&l if you traded/had a position on that given day. Therefore use Vlookup to reference the performance report daily metrics and insert them into you "every working day inclusive" VAMI calculator sheet. Struggling to explain that, sorry.
Anyway, don't know if that helps.... but it isn't a long process for me.
- Anna MultiCharts
- Posts: 560
- Joined: 14 Jul 2017
- Has thanked: 42 times
- Been thanked: 141 times
Re: Backtesting net of investment advisor fees
Fbertram,
It should be possible to pass the data from C# to Excel. Please, search for the relevant instructions on the Internet.
It should be possible to pass the data from C# to Excel. Please, search for the relevant instructions on the Internet.