I was interested in Z9 system performance before 2012. However, it's not possible to change a start date yet (waiting for version 1.74). So, I decided to tweak data a bit and shift dates. As a result, data is from 2007/04/11 to 2014/03/27 with timestamps 2010/12/30 - 2017/12/15. Again, it was needed to feed earlier data to Z9 system.
The results are below:
The asset list is default
Last edited by kujo; 12/18/1702:46.
Re: Z9 system performance 2008-2014
[Re: kujo]
#469986 12/18/1703:3912/18/1703:39
Great creative solution to a real problem with backtesting Z9!
It is actually rather funny to see that my first attempt DualMomentumV1.1 code performs considerably better over the same time period (the only changes I made was setting Lookback=12*20; instead of 24*20, and adjusting the dates). And I should point out that I personally consider the below performance to be complete garbage and a waste of time and money to trade live in that time period:
the asset list is the original one for Z9 (with SPY still on it). See attachments for the results.
Last edited by Hredot; 12/18/1703:52.
Re: Z9 system performance 2008-2014
[Re: Hredot]
#469987 12/18/1707:5212/18/1707:52
This is the Z9 performance 2008-2017, with VOO replaced by SPY.
Within the next 2 days the new Zorro version will come out where you can set the Z9 start date with the asset list. It has also some modifications, f.i. capital is now reinvested and CAGR is displayed.
Re: Z9 system performance 2008-2014
[Re: jcl]
#469990 12/18/1714:0412/18/1714:04
jcl, this is amazing news! Thank you for implementing capital reinvestment! I hope there will be a parameter to decide which power of the returns to reinvest. For instance, the default setting could be "1/2" for reinvesting the square root of returns. But please allow for the option to adjust it:
Instead of
Code:
sqrt(...)
Use
Code:
pow(...,P)
where P=0.5 initially and can be changed by a slider.
Do you think you could make that happen?
Re: Z9 system performance 2008-2014
[Re: Hredot]
#469991 12/18/1714:1512/18/1714:15
The power depends on the ratio of max margin to max drawdown. If DD >> Margin, use the square root, if Margin >> DD, directly invest all profits. The Z9 backtest uses P = 0.9.
Re: Z9 system performance 2008-2014
[Re: jcl]
#469994 12/18/1714:4012/18/1714:40
2 is for non-us indexes and 3 for a lead index that represents the US market. The formula is correct, although Z9 calculates the same in a different way. For withdrawing, you need normally no complex formula. The difference between pow(0.9) and pow(1) in the backtest is marginal.
Re: Z9 system performance 2008-2014
[Re: jcl]
#470017 12/19/1713:4012/19/1713:40
The difference between pow(0.9) and pow(1) in the backtest is marginal.
Thanks, as I understand the new Z9 is heavily focused on reinvestments because difference between pow(0.9) and pow(1) will be not so big: not much to withdraw.
Also I have a question about a margin call conditions. Below is a piece of Z9_test.log and a first trade:
Originally Posted By: jcl
TLT 1.00 0 -> 123 [TLT::L2301] Long 123@81.06330 at 00:00:00 Vol $9973 Bonds $9973 Margin 4986 Levg 2.0
Margin call detection is switched off with Z8 and Z9. Otherwise you'd naturally get margin calls all the time, since the Capital slider sets up the margin, not the balance. The minimum that you need on your account is displayed under "Required Capital".
Re: Z9 system performance 2008-2014
[Re: jcl]
#470019 12/19/1715:1112/19/1715:11
Z9.03: H 4 W 2 V 1 Loading 12 assets.. Multiple assets............ Test: Z9 2002..2017 Assets AssetsZ9 Max Leverage 2.0 Avg Bonds 27.4% Monte Carlo Analysis... Median AR 21% Win 14181$ MI 122$ DD 446$ Capital 5295$ Trades 290 Win 76.9% Avg +470.6p Bars 103 CAGR 14.89% PF 4.19 SR 0.88 UI 6% R2 0.80 Chart... ok Chart... ok
and 3915 in performance report
Quote:
Gross win/loss 18633$ / -4451$ (+136486p) Average profit 1464$/year, 122$/month, 5.63$/day Max drawdown -330$ 2.3% (MAE -2270$ 16.0%) Total down time 15% (TAE 82%) Max down time 32 weeks from Apr 2008 Max open margin 3732$ Max open risk 99.71$ Trade volume 344057$ (35509$/year) Transaction costs -814$ spr, 0.83$ slp, 0$ rol, -163$ com Capital required 3915$
Re: Z9 system performance 2008-2014
[Re: kujo]
#470021 12/19/1716:1812/19/1716:18
I am also confused by the statement about margin call. Isn't it the case that as soon as Equity drops below open margin a broker like IB will just close all your positions?
Last edited by Hredot; 12/19/1716:19.
Re: Z9 system performance 2008-2014
[Re: kujo]
#470022 12/19/1716:2012/19/1716:20
One more question about MarginVal. According to the manual, during backtest MarginVal remains constant until the trade closes. In live trading situation could be different because brokers adapt MarginVal based on the asset price (i.e. IB). So, margin call conditions change as well. I assume I need to calculate manually MarginVal or MarginTotal during backtest to simulate broker's margin call conditions. Could you please advise what variable to calculate and how? Thanks
Last edited by kujo; 12/19/1716:33.
Re: Z9 system performance 2008-2014
[Re: kujo]
#470041 12/20/1714:0212/20/1714:02
The capital in the zorro window is correct. The other one is wrong - I'll forward this to the developers. - Yes, the broker will start closing your positions when you have not enough capital for the open margin. - The variable to calculate is TradeMarginCost.
Re: Z9 system performance 2008-2014
[Re: jcl]
#470058 12/21/1703:4812/21/1703:48
I continue to test Z9 system and found out the following:
Quote:
Simulated account AssetsZ9 (NFA) Bar period 24 hours (avg 2088 min) Test period 2006-03-13..2017-12-21 (2966 bars) Lookback period 252 bars (52 weeks) Montecarlo cycles 200 Simulation mode Realistic (slippage 5.0 sec) Capital invested 5000$
Gross win/loss 28666$ / -6027$ (+85764p) Average profit 1923$/year, 160$/month, 7.39$/day Max drawdown -331$ 1.5% (MAE -3551$ 15.7%) Total down time 26% (TAE 82%) Max down time 82 weeks from Aug 2015 Max open margin 1435$ Max open risk 269$ Trade volume 493123$ (41877$/year) Transaction costs -1578$ spr, -14.55$ slp, 0$ rol, -316$ com Capital required 1602$
Capital required << Capital invested Max open margin is 1435, however it should be around 5000
Please find asset list and logs attached
Last edited by kujo; 12/21/1703:51.
Re: Z9 system performance 2008-2014
[Re: kujo]
#470060 12/21/1706:1212/21/1706:12
True, the margin is too low for the capital. I suspect that reducing the asset list to just a few assets also reduces market participation, since probably only a fixed maximal fraction of all assets in the list are traded, and each likely has a participation cap.
However, even if we keep the standard asset selection, maximal open margin is about $3500 and that's even though Equity has grown to $15000! Way too small participation, definitely needs to be reballanced in my opinion.
Last edited by Hredot; 12/21/1706:13.
Re: Z9 system performance 2008-2014
[Re: Hredot]
#470062 12/21/1707:1112/21/1707:11
Required capital is max margin plus max drawdown. Of course adjusted to the simulation start, so it won't be $15000 even when the equity has grown to that. It's displayed in the Zorro window and normally about 10% higher than the Margin set with slider.
Re: Z9 system performance 2008-2014
[Re: jcl]
#470075 12/21/1714:1312/21/1714:13
jcl, does this imply that when trading live the system expects a manual readjustment of the capital slider by the user according to the profits made, when the trade button is hit every few weeks?
If that is the case, the system in reality does not reinvest profits automatically and requires manual adjustment.
Re: Z9 system performance 2008-2014
[Re: jcl]
#470078 12/21/1714:5012/21/1714:50
It is normal, but you should use the parameters with care. The maximum margin is neither 4984 nor 4064, but more like 15000.
The reason is the capital reinvesting, which does not allow anymore to determine an initial capital from margin and drawdown. For doing it nevertheless, Z9 simply reduces the maximum drawdown and margin by the ratio of start and end capital. So the values are not precise, but estimated. In most cases they are ok, but with your asset list apparently quite off. So be careful. I'll put a warning in the manual.
Re: Z9 system performance 2008-2014
[Re: jcl]
#470084 12/21/1716:3312/21/1716:33
As to the Hredot point, about reinvesting... With the default asset list test starts with Balance=5000. Margin is approx. the same, according to the log (=4989). However, at the end of backtest balance = 15142 but the Margin = 7041.
I took this numbers from the log. I assumed, that with reinvesting according to pow(..., 0.9) formula, the margin will grow much faster and will be close to 15000 at the end of backtest.
I believe that's why Hredot mentioned that it's still needed to move Capital slider during live trading.
Jcl, could you please explain why margin grows so slowly while most of the profits are reinvested?
Last edited by kujo; 12/21/1716:35.
Re: Z9 system performance 2008-2014
[Re: kujo]
#470194 01/02/1809:1701/02/1809:17
Because the current beta version, as I just learned, only partially reinvested profit in the backtest. The mechanism was accidentally switched to a different formula. The next update will have the full reinvesting activated.
Re: Z9 system performance 2008-2014
[Re: jcl]
#470197 01/02/1812:2001/02/1812:20
Thank you for the update! I (and Hredot too, as he wrote above) would appreciate if the % of profit reinvestment could be controlled with a parameter. It would make the system more flexible.
Re: Z9 system performance 2008-2014
[Re: jcl]
#470441 01/15/1806:0301/15/1806:03
This is the Z9 performance 2008-2017, with VOO replaced by SPY.
Within the next 2 days the new Zorro version will come out where you can set the Z9 start date with the asset list. It has also some modifications, f.i. capital is now reinvested and CAGR is displayed.
How do we change the Start Date with the asset list?
Re: Z9 system performance 2008-2014
[Re: firecrest]
#470444 01/15/1809:4601/15/1809:46