Home › Forums › Trading System Mentor Course Community › Trading System Brainstorming › ETF Strategies
- This topic is empty.
-
AuthorPosts
-
September 15, 2017 at 8:26 am #107666DanielBaeumlerMember
Len, were you able to replicate Antonacci’s backtest results in AB? Coding looks pretty simple but I didn’t get anywhere near Antonacci’s results he presented in the Abstract document (10-16% CAR in each of the categories). Unfortunately, most of the suggested ETFs don’t have a long history in AB which makes backtesting obviously difficult.
September 16, 2017 at 1:44 am #107677LEONARDZIRParticipantDaniel,
I was at one point seriously considering putting money into GEM, but I couldn’t replicate his results. I emailed Antonucci several times and he told me I wasn’t using his same data base. I decided not to use GEM and shortly thereafter I discovered Nick’s site and started trading US momo with a portion of my retirement funds.September 22, 2017 at 7:56 am #107681SaidBitarMemberin the last week i tested some ETF rotational strategies, i was getting really weird results they can not even beat buy and hold.
most probably i am doing one thing wrong (which is weird since they are very simple) anyhow will check again over the weekend. I noticed one thing that the selection of the ETF and the number of positions play a huge role.
I tested the following:
sector ETF rotation
Countries ETF rotation
GEMSeptember 22, 2017 at 8:18 am #107695ScottMcNabParticipantI found same thing ..this site might be interesting Said
http://sanzprophet.com/category/etfs-and-stocks/etf-trading/
September 22, 2017 at 5:24 pm #107696SaidBitarMemberSo i did the backtest manually from Feb 2003 till today
the universe is SPY,TLT,EFAhere are the results
I plotted the equity curve also the equity curve of the other three ETFs
September 22, 2017 at 5:30 pm #107697SaidBitarMemberNow i noticed that what i tested is different from what Nick described I will test it later
September 22, 2017 at 9:47 pm #107645ScottMcNabParticipantanother etf strategy..10 days above 200 MA interesting variation
ETF Sector Trading: The effect of daily, weekly and monthly timeframes
September 23, 2017 at 1:34 pm #107698LEONARDZIRParticipantSaid,
Why did you start testing GEM on this graph from 2003 rather than much earlier? Also what was the CAR/MDD from 2003?
In his book Antonucci shows statistics from a very long backtest period.September 23, 2017 at 4:24 pm #107699SaidBitarMemberthe reason i started from 2003 is because of the data for the ETFs i need to start from one date where all the ETFs are existing.
honestly i do not know the result from 2003 in the book because the results are for 40 years
September 23, 2017 at 7:09 pm #107700LEONARDZIRParticipantSaid,
That is the problem I ran into when trying to backtest GEM. Antonucci backtests from 1975. One other issue is that GEM can be run in one of 2 ways as mentioned in some other sites. First you check if US market is greater than 3 month treasury bill. If that is the case you you go into either SPY or international markets exUSA whichever is stronger. The other method is to see if either international or USA is stronger than 3 month treasury and go into the stronger etf based on total return. The CAR and MDD as slightly different. The first requires the US market to be stronger than 3 month treasury optherwise you are in bonds..The second requires either US or International stronger than 3 month treasury..
Which method did you use?September 23, 2017 at 10:18 pm #107703Nick RadgeKeymasterJust on the longer backtest, I think you’ll find that Antonacci uses non-tradeble data
September 24, 2017 at 12:23 am #107704Nick RadgeKeymasterHere’s some code for the All Weather portfolio. I just found it on the web so not sure how will it runs:
SetFormulaName(“ALL WEATHER”);
SetOption(“InitialEquity”,100000);
SetOption(“CommissionMode”,2);
SetOption(“CommissionAmount”,10);
SetOption(“AccountMargin”,100);
SetOption(“AllowPositionShrinking”, True);
RoundLotSize = 1;Symbol = Name();
SetPositionSize(IIf(Symbol == “TLT”, 40, IIf(Symbol == “IEF”, 15, IIf(Symbol == “SPY”, 30, IIf(Symbol == “IAU”, 7.5, IIf(Symbol == “DBC”, 7.5, 0))))), spsPercentOfEquity);BuyPrice = O;
SellPrice = C;Firstdayoftheyear = year()!= ref(year(),-1);
Lastdayoftheyear = year()!= ref(year(),1);// Entry and exit rules
BUY = Firstdayoftheyear;
SELL = Lastdayoftheyear;// — End
September 24, 2017 at 6:27 am #107646JulianCohenParticipantOne advantage (possibly) of the Antonucci system posted here is that it is diversified over real estate and gold and treasuries, not just SPY against foreign indices. This might give a nice diversification to a portfolio whilst running a US momentum system alongside.
One could choose other ETFs to use, maybe a general commodity one, although I’m not sure one exists that you would want to trade. Remember for example, the crude oil ETF is not a good one to trade.
not
September 24, 2017 at 7:29 am #107706SaidBitarMemberhere is the universe i tested against
SPY (US index)
ACWX (Global stocks ex US)
BNDS (bonds)here is the code
Code:include_once “FormulasNorgate DataNorgate Data Functions.afl”
SetBarsRequired(sbrAll,0);//=================================================================================
_SECTION_END();
_SECTION_BEGIN (“Parameters – Momentum”);
//=================================================================================
//Parameters
//=================================================================================
lenPeriod = Optimize(“# Months”,5,1,24,1);
TradingDaysPerMonth = 21;
LookBackPeriod = lenPeriod * TradingDaysPerMonth;
FirstSignal =ROC(C,LookBackPeriod) > 0 ;//=================================================================================
//Entry & Exit
//=================================================================================
//non trading stock exit
OnLastTwoBarsOfDelistedSecurity = BarIndex() >= (LastValue(BarIndex()) -1) AND !IsNull(GetFnData(“DelistingDate”));
OnSecondLastBarOfDelistedSecurity = BarIndex() == (LastValue(BarIndex()) -1) AND !IsNull(GetFnData(“DelistingDate”));
//———————————————————————————
BuyTrigger = FirstSignal ;
LE = Ref(BuyTrigger,-1) AND NOT OnLastTwoBarsOfDelistedSecurity;//=================================================================================
_SECTION_END();_SECTION_BEGIN (“Backtesting”);
//=================================================================================
//Backtesting
//=================================================================================
SetTradeDelays(0,0,0,0);
SetOption(“priceboundchecking”,True);
Capital = Param(“Backtesting : Initial Capital $”, 100000, 1000, 10000000, 1000);
SetOption(“InitialEquity”, Capital);
MaxPos = Param(“Maxium Open Positions”, 1,1,25,1);
SetOption(“MaxOpenPositions”, MaxPos );
SetOption(“WorstRankHeld”,MaxPos);
SetOption(“AllowPositionShrinking”,True);
SetOption(“AccountMargin”,100);
SetOption(“MinShares”,1);
SetBacktestMode(backtestRotational);
EnableRotationalTrading() ;SetPositionSize( 100/MaxPos, spsPercentOfEquity);
score = Ref(ROC(C,LookBackPeriod),-1);
Score = IIf(LE,score,0);
EOM = Month() != Ref(Month(),-1);
PositionScore = IIf(Year()>=1985 AND EOM,score,scoreNoRotate);
//=================================================================================
_SECTION_END();you will notice that i modified two things from the original system
1- i added periods where you are not invested and sitting on cash
2- made the look back period shorter I used 5 months instead of 12the reason i added the option to move to cash is that it has lower DD
if you want to test the system as is in the book you need to do the following:
FirstSignal = 1;
score = Ref(ROC(C,LookBackPeriod),-1) + 1000;the returns of the system here from 2003 till now is
CAR=8.27%
DD = -14.15
Win % = 61.11%
# trades = 36the returns of the original system (No cash) from 2003 till now is
CAR=9%
DD = -21.05
Win % = 56.67%
# trades = 30look back period for both tests was 5 months
September 24, 2017 at 9:57 pm #107701RobGilesMemberI’m looking at a system that focuses on a basket of 13 ETF’s that attempts to capture all the major global markets, and trade the top 3 on a monthly rotational basis. From a backtesting perspective the youngest ETF commenced trading in 2003. Is this too short a time frame to conduct a meaningful backtest on?
-
AuthorPosts
- You must be logged in to reply to this topic.