Do Mechanical Systems Work?
Author: andyk364
Creation Date: 4/23/2009 10:17 AM
profile picture

andyk364

#1
I would like to begin by saying what a great piece of software 'Wealth-Lab' is, it does exactly what you would want from a trading system testing sofware.
Also, the support has been excellent - thanks for your help Eugene.

However,
After spending the last month testing the systems that come with the software, aswell as several systems that I developed myself, I can only come to one disappointing conclusion -
What's The Point?

It seems to me that any system based on whatever criteria you choose can work on any stock during a particular time period, however, what you will never know is WHICH stock and through WHICH time period.
Any system (many of which do not even perform better than a buy & hold strategy)you test on a group of stocks over a period of time will always show some winning stocks and some losing stocks, and even the winning stocks will have periods when they lose -
how can you know which stocks you would have chosen over any particular time period?

Now, if like the infamous 'Turtle Traders' you have a small fortune to trade many markets and take every signal given in all of these markets, with the option to add several positions to each trade, then I accept that using a system over many years can be very profitable (although again, this is by no means certain). Most of us will only have enough capital to trade a handful of stocks and do not have the option of adding to positions otherwise we would surely end up missing trade signals and invariably the big winner.

Even with regards to money management/position sizing systems, I have found that during profitable periods an aggressive system will improve your gains but during losing periods will destroy your equity. A conservative system will reduce losses during losing periods but will only produce small gains during profitable periods. Again, the problem here is you will never know which period your in until it's too late.

Therefore, surely the whole process becomes a question of choosing the stocks which will act in the way you believe they will - if you're right, you have a good chance of making a profit and if you're wrong you have no chance of making a profit. Simple!

It seems to me that the only benefit any system can actually give is to give the trader a consistent approach as to when to enter and exit a stock. Any basic moving average system will do this without the need of any testing what so ever.

For myself, I have found the past months testing very important as it has made me realise that nothing can ever replace the need for good stock picking based on macroeconomics. In my opinion, short-term trading is nothing more than just another method of gambling.

Do mechanical systems work? Yes, they do what you tell them to do!
profile picture

DartboardTrader

#2
Never forget your adversary's goal.

A system works, until it breaks. (Modified adage from technical analysis.)
Sometimes it is a matter of figuring out what works, and when to revise your assumptions.

--Mike
profile picture

Roland

#3

Andrew,

You are right on every point mentioned in your post. But to your real question:

QUOTE:
Do mechanical systems work?


The answer is yes. Some, not all, but some mechanical systems do work. However, I think, like you said, such systems have to account for:

QUOTE:
you will never know is WHICH stock and through WHICH time period


your performance will come from.

In this regard, you might be interested in reading my free paper that deals directly with this problem (the not knowing what is coming).
Don’t let the math throw you off, all equations are explained in detail. The paper might help to refocus your trading procedures; in finding a compromise of sort in what to do faced with an unknown future.

These days, my first step is to design a mathematical model of a trading system. Should the model not hold mathematically on paper, why should it hold in real life? After crossing this little positive expectancy hurdle, it then becomes time to implement backtesting procedures.

I’m currently working on a modulated version of my last paper; it will be an add-on procedure so the intention is to increase performance even further. I like the direction it is taking, but I still have a lot of verifications to do. I like to operate on solid grounds.

So, my advice is: hang in there; it can take time to develop a worthwhile system.

profile picture

tedclimo

#4
Andrew,
I have used Wealth-Lab for nearly 10 years and would like to offer a few learnings over that time. So far,I've never had a losing year. That said, I don't always outperform the market during bullish phases (when it runs, I'm sometimes sitting in Cash' waiting for next pullback). Have you used WL 4.5 (the Pascal version) yet. There are 00's if scripts there (contributed by members over the years). If you use the ChartScript Rankings tool @ 20% Position Sizing (on the NDX100 components, for example), you'll find many that do well (you'll never escape drawdowns but the scripts I'm referring to, do recover from their DD's eventually. The most profitable in my experience are the limit order dip-buyers that use time stops of 1-3 days. You might also consider focusing on ETFs rather than Stocks. During Bear markets, the event risk in stocks can cause huge swings. Worst events are Earnings related or Same Store Sales in Retail. Avoid Pharma like the plague (a failed drug trial is always toxic). ETF's have nominal Event risk, by comparison. The biggest drawback to this approach, is that you need to be monitoring a large # of equities in the Quote Mgr throughout the day.
Hope this helps.
Ted
profile picture

tedclimo

#5
Here is a sample script from WLP4.5 that works nicely on NDX100 components & 1x leveraged Long ETFs.

Problem is that I cannot yet get the translated version to work in WLP5.3 You'll have to get someone else to help there. I am still a newbie on WLP5.3 and cannot get any translated scripts working yet.

WLD4.5 version
CODE:
Please log in to see this code.




Here is Watchlist of 1x leveraged Long ETFs
QUOTE:

AAXJ ACWI ACWX ADRA ADRD ADRE ADRU ADZ AEX AFK AGF AGG AGZ AIA AOA AOK AOM AOR ASO AUS BAL BBH BDG BDH BHH BIK BIL BIV BJK BKF BLV BND BNZ BSR BSV BWV BWX BZF CFT CGW CIU CMF CNY COW CRO CSD CSJ CUT CVY CWI CXA CYB CZA DAX DBA DBB DBC DBE DBN DBO DBP DBR DBS DBT DBU DBV DCR DDI DEB DEF DEM DES DEW DFE DFJ DGG DGS DGT DGZ DHS DIA DIM DJP DKA DLN DLS DND DNH DNL DOD DOL DON DOO DPC DPN DPO DPU DRF DRW DSC DSG DSI DSV DTD DTH DTN DVY DWM DWX DXJ DZK ECH EDC EDV EEB EEH EEM EEN EES EEZ EFA EFG EFV EGB EIS EKH ELG ELR ELV EMB EMG EMM EMV ENY EPI EPP EPS ERO EU EVX EWA EWC EWD EWG EWH EWI EWJ EWK EWL EWM EWN EWO EWP EWQ EWS EWT EWU EWW EWY EWZ EXB EXI EXT EZA EZM EZU EZY FAA FAB FAD FAN FBT FCG FCHI FDD FDL FDM FDN FDV FEU FEX FEZ FFR FGD FIO FIW FNI FNX FPX FRC FRI FRN FTA FTC FTY FUD FUE FVD FVI FVL FXA FXB FXC FXD FXE FXF FXG FXH FXI FXM FXN FXO FXR FXS FXU FXY FXZ FYX GAF GBB GBF GCC GCE GDX GEX GII GLD GLL GMF GML GMM GRI GRN GRU GSC GSG GSP GULF GUR GVI GWL GWO GWX GXC HAO HGI HHH HKG HYD HYG IAH IAI IAK IAT IAU IBB ICF ICI ICLN ICN IDU IDV IDX IEF IEI IEO IEV IEZ IFAS IFEU IFGL IFNA IFSM IGE IGF IGM IGN IGOV IGV IGW IHE IHF IHI IIH IJH IJJ IJK IJR IJS IJT ILF INP INR IOO IPE IPF IPK IPN IPW IQE IRV IRY ISHG ISI IST ITA ITB ITE ITF ITM ITR IVE IVV IVW IWB IWC IWD IWF IWM IWN IWO IWP IWR IWS IWV IWW IWZ IXC IXG IXJ IXN IXP IYC IYE IYF IYG IYH IYJ IYK IYM IYR IYT IYW IYY IYZ JEM JJA JJE JJS JJT JJU JKD JKE JKF JKG JKH JKI JKJ JKK JKL JNB JNK JO JPP JRE JSC JXI KBE KCE KIE KLD KOL KRE KWT KXI LAG LD LDN LIS LQD LSO LVL MBB MDY MGC MGK MGV MKH MLN MOO MTK MUB MWJ MXI MZG MZN MZO NFO NIB NLR NUCL NXT NY NYC NYF OEF OIH OIL OLO ONEQ OTP PAF PAGG PAO PBD PBE PBJ PBP PBS PBW PCA PDN PDP PDQ PEF PEH PEJ PEY PEZ PFA PFF PFI PFM PFP PGD PGF PGJ PGM PGX PGZ PHB PHJ PHO PHW PIC PID PIE PIN PIO PIQ PIV PIZ PJB PJF PJG PJM PJO PJP PKB PKN PKOL PKW PLK PLW PMA PMNA PMR PNQI PNXQ PPA PPH PQSC PQY PQZ PRB PRF PRFE PRFF PRFG PRFH PRFM PRFN PRFQ PRFS PRFU PRFZ PRN-A PRY PSAU PSI PSJ PSL PSP PST PSTL PTE PTF PTH PTJ PTM PTO PTRP PUA PUI PUW PVI PVM PWB PWC PWD PWJ PWND PWO PWP PWT PWV PWY PWZ PXE PXF PXH PXI PXJ PXN PXQ PYH PYZ PZA PZD PZI PZJ PZT QCLN QQEW QQQQ QQXT QTEC RCD REM REZ RFG RFV RGI RHO RHS RJA RJI RJN RJZ RKH ROB RPG RPV RSP RSX RTH RTL RTM RWJ RWK RWL RWR RWX RXI RYE RYF RYH RYT RYU RZG RZV SAD SCJ SCZ SDY SEA SFV SGG SGT SHM SHV SHY SLV SLX SMB SMH SNB SPY SSK STH SUB SVD SWH SZG SZR TAN TAO TAV TBT TDD TDH TDN TDV TDX TFI THD TIP TLH TLO TLT TMW TOK TTH TUR TYI UAG UBC UBM UBN UCI UCR UDN UEM UGA UHN ULQ UNG UOY URR USL USO USY UTH UUP VAW VB VBK VBR VCR VDC VDE VEA VEU VFH VGK VGT VHT VIG VIS VNQ VO VOE VOT VOX VPL VPU VT VTI VTV VUG VV VWO VXF VXX VXZ VYM WIP WMH WMW WOOD WPS XBI XES XGC XHB XLB XLE XLF XLG XLI XLK XLP XLU XLV XLY XME XOP XPH XRO XRT XRU XSD YCS


All the best, Ted
profile picture

Eugene

#6
Ted, please post your experiences with WealthScript Translator to the dedicated forum, thank you. (Translated script removed.)
profile picture

windward

#7
QUOTE:
Here is a sample script from WLP4.5 that works nicely on NDX100 components & 1x leveraged Long ETFs.

Problem is that I cannot yet get the translated version to work in WLP5.3 You'll have to get someone else to help there. I am still a newbie on WLP5.3 and cannot get any translated scripts working yet.


Ted,

Here is your script translated to WLP 5.3 version with a few changes. It has output (unlike the literal translation) that seems to be right. You (or anyone else who has access to WLP 4.5) may want to compare the output of each version to verify that the script is working properly. Let me know if you do that. Thanks.

Don

WLP 5.3 version

CODE:
Please log in to see this code.
profile picture

Cone

#8
windward, Tip: When you post code, click the "CODE" button and paste the code between the tags... I've done this for you above.
profile picture

swuzy

#9
Hi Windward,

I've always been hesitant of using any of the Limit order scripts. Could you share your practical experience / pointers?

For example, running the above script (what is its name?) daily on the NAZ 100 results 100 limit orders every day. Do you actually transmit all 100 daily limit orders to your broker? At what price-volume per symbol? That is, do you place each of the 100 limit orders get placed at 1/100th of your available equity, or is your broker more flexible and accepts limit orders and just executes them to the exent of your available equity? Or are you more selective and just place a smaller selected number of limit orders?

Thanks for sharing any other clarfying thoughts on using Limit Order Scripts or Stategies.

profile picture

Cone

#10
QUOTE:
Do you actually transmit all 100 daily limit orders to your broker?
I don't know what Windward does, but there's no reason to do that. Use the Quotes tool to place Limit orders at (or near) the time they'll be marketable. (See User Guide).

profile picture

windward

#11
QUOTE:
Hi Windward,

I've always been hesitant of using any of the Limit order scripts. Could you share your practical experience / pointers?

For example, running the above script (what is its name?) daily on the NAZ 100 results 100 limit orders every day. Do you actually transmit all 100 daily limit orders to your broker? At what price-volume per symbol? That is, do you place each of the 100 limit orders get placed at 1/100th of your available equity, or is your broker more flexible and accepts limit orders and just executes them to the exent of your available equity? Or are you more selective and just place a smaller selected number of limit orders?

Thanks for sharing any other clarfying thoughts on using Limit Order Scripts or Stategies.



Hi Swuzy,

If tedclimo sees your post, maybe he will respond since this was his 4.5 script. I wondered about the name of the script too, but Ted didn't give it a name. I haven't used this script...just made an attempt at translation for Ted.

My broker warns me when I place a cash buy order if I'm low on cash but does accept them as long as there is enough cash. If I don't have enough cash, my order is refused. So 100 orders could easily exceed my limit at some point.

Assuming enough cash, the number of orders I'd be willing to place would depend on my confidence in the script and the timing as to what the market is doing. For example, I'd not place 100 stop orders on a breakout scheme at any time because of my lack of confidence in breakouts. In a sideways or up-trending market, I've had good luck with dip-buyers which are, of course, limit orders. And with market direction clarity, I would not hesitate to put in 100 orders--assuming I have enough cash. ;-) But I typically work with a smaller select data set.

windward
profile picture

nexial_1002002

#12
Such newbie comments, but, hey, it's whole part and parcel to Fidelity's MO of thinking a newbie can come up with a viable trading system in the first three months of their time at Fidelity...solutions available on the old site, but here's the gist:

Cone answered the question, but I think they want it done "automatically."
I can appreciate how difficult it is to trade a limit order script in WL, but it's not impossible. All you have to do is do a real time check intraday on a daily script to see if the price is close enough. I don't really know wl5 well enough to do this for you, but I guarantee Cone or Eugene can. I still use wl4 if that tells you anything. I do like how quickly WL5 runs, though, and am slowly making the migration over.
profile picture

nexial_1002002

#13
To Andyk364, yes, it's absolutely possible to generate a winning system in Wealth Lab, just not in 3 months. Not in 6 months either. Try 2 years, which was about the time I released Superbands. It's NP was about 17,000% at one point with about a 1000% APR and 20% DD. Then, as you said, the market changed.

Anyway. You need to temper your expectations a bit. You're not going to be a top developer in the first three months. It's not going to happen. (What's your Sharpe Ratio? 1 is good, 2 is about the max I've been able to produce, little above right now in the backtest. Incidentally that was explicitly pointed out in the user guide that 1's good, and 2's excellent. When you start from the risk adjusted basis and maybe limit yourself to only trading a certain number of stocks and/or etfs, you might have more success). You have to overcome technical challenges as well as formulate hypotheses. When you get to the stage where you can put pen to paper and hypothesize without having to worry about technical challenges, then you can start developing. Your expectations for a system are simple. Make sure they can be realized with minimal effort, and keep sight of its risk characteristics. I find as long as I have a system with a statistical edge, I have no problem taking every trade. It surprises me that people continue to only discuss the dip buying scripts, when creating EOD systems is really what WL is about. You are right that limit orders produce questionable results, but maybe sticking to ETF's might produce more success and immediately provides a diversification benefit.


If you still think it's not possible to create a profitable long term strategy, you can visit www.collective2.com/go/pairsqidqld, and maybe that will change your mind.

On the system in question, when you go to build your universe, try picking from the NAZ100, or WL100, or S&P500 if you feel technologically savvy enough to track 500 stocks at once with multiple limit orders, but I bet the system would crash.

Two of those conditions are probably irrelevant when you pick from a quasi-approved and well known watchlist. I think every WL trader should only trade NAZ100, since we pretty much already know nearly all of the stocks in them. Creating the watchlist might be just as important as the hypothesis, and will eliminate some of the fundamental questions that might create more news risk in the strategy than a profit taking sell off upon which dip buyers are based on.

There's 4 known traders on collective2 using WL that have been succesful, and obviously I'm one of them, but that's out of some 40k that have been registered users, if that does tell you how hard it is.

The last thing I'm going to comment on is this bs about not being able to beat buy and hold. Buy and hold is only relative to the market. You should only care about whether you beat the snot out of the s&p by about 10%. If you're system did that, that's all that matters, and whether it continues to do that, but that's going to be part of its edge.
I'll tell you why they don't matter, because they're not the same risk. I can pretty much assure you that a buy and hold with a 0.2 sharpe to a top developers 2 sharpe isn't the same risk adjusted return. When you think about it in that context, you realize b&h is stupid and irrelevant to a presumably higher risk adjusted return system.

The irony about that comparison to buy and hold is pretty funny when you think about where QLD was at when I started on March 20th, 2007 on that c2 system I referenced. QLD was at 81, now at 34, and QID was at 52.11, now at 37. Yep, beat buy and hold, but the reality is that the returns on QLD and QID are due to compounding on the swaps contracts that underlie them. Anyway, the point is, buy and hold depends on the market, and, in my backtest, no matter if you watched QID or QLD, they both lost money, and mine was up huge.
profile picture

swuzy

#14
Hi Nexial,

I was not able to conect to your referenced link [www.collective2.com/go/pairsqidqld, is there a different link?

Also is your Superband on Collective, and could you provide a link to its performance view?

Thanks.
profile picture

nexial_1002002

#15
Just type in the link then, it's correct as http://www.collective2.com/go/pairsqidqld
You'll be able to see a technologically deficient form of superbands when you see other systems that I created.

I went with ninjatrader for superbands, and I didn't want to pay the $200 per month to fund the datafeed for it, and I doubted anyone was interested, so I discontinued it, and was in surgery on a day when it would have 17% very early, and you could probably see that if you were to backtest during that period on the NAZ100.
profile picture

thodder

#16
I am not familiar with the "finantic.TL" library or the class WealthScriptTL. I rewrote the WLD4.5 version posted by tedclimo on 4/24/2009 12:54 PM as the following:
CODE:
Please log in to see this code.