Testing My Very First Multi-Indicators Trading System

Finally, I have customised a multi-indicators trading system (using R-script) to test out on FBMKLCI-listed stocks. My test parameters are as follows:

a. Test subjects (selected constituents of Malaysia’s FBMKLCI): Public Bank, Malayan Banking, Sime Darby, Axiata Group and Petronas Chemicals

Top 10 Stocks.png

b. Test period: 1 Jan 2011 – 30 Jun 2017

c. Indicators to be used = Keltner Channel (20, 2.25) + RSI (14)

d. Buy signal: when current price of security crosses above lower band of Keltner Channel + RSI crosses above 30

e. Sell signal:  when current price of security crosses above upper band of Keltner Channel + RSI crosses above 70

f. To benchmark against Buy & Hold strategy (excluding dividend income)

g. Transaction cost (“TC”) is set at 1.0% of transaction value

h. No short selling

Test Subject 1: Public Bank

PBB_1PBB_2

PBB_3

Conclusion: Trading based on multi-indicators did not  outperform the Buy & Hold strategy. Nevertheless, it has recorded a positive annualised return at the end of test period.

Test Subject 2: Malayan Banking

MBB_1MBB_2MBB_3

Conclusion: Trading based on multi-indicators did outperform the Buy & Hold strategy. It has also recorded a positive annualised return at the end of test period (even taking account of transaction costs).

Test Subject 3: Sime Darby

SD_1SD_2SD_3

Conclusion: Trading based on multi-indicators did outperform the Buy & Hold strategy. It has also recorded a positive annualised return at the end of test period (even taking account of transaction costs). In this case, the Buy & Hold strategy records a negative annualised return at the end of test period.

Test Subject 4: Axiata

Axiata_1Axiata_2Axiata_3

Conclusion: Trading based on multi-indicators did outperform the Buy & Hold strategy. It has also recorded a positive annualised return at the end of test period (even taking account of transaction costs). In this case, the Buy & Hold strategy records a negative annualised return at the end of test period.

Test Subject 5: Petronas Chemicals

Pchem_1Pchem_2Pchem_3

Conclusion: Trading based on multi-indicators did outperform the Buy & Hold strategy. It has also recorded a positive annualised return at the end of test period (even taking account of transaction costs). 

Overall Summary

  • The above test analysis is strictly for educational & illustrative purpose;
  • Feedback / constructive critique is most welcomed;
  • Multi-indicator (using Keltner Channel & RSI) has outperformed the Buy & Hold Strategy in 4 out of 5 test subjects and has achieved positive annualised return (for every test subject) at the end of test period; 
  • More fine-tuning is required – to accommodate a larger scope of stocks / investable assets as well as different time frames; and
  • Need to benchmark against other multi-indicators trading systems.

 

DISCLAIMER: THIS IS A PERSONAL BLOG AND SHALL NOT BE RELIED IN WHATSOEVER MANNER BY ANYONE. ALL ARTICLES CONTAINED IN THIS SITE ARE STRICTLY FOR INFORMATION AND ILLUSTRATIVE PURPOSES ONLY AND DOES NOT PURPORT TO SHOW ACTUAL RESULTS. IT IS NOT, AND SHOULD NOT BE REGARDED AS INVESTMENT ADVICE OR AS A RECOMMENDATION REGARDING ANY PARTICULAR SECURITY OR COURSE OF ACTION. SOURCES USED IN THIS SITE HAVE NOT BEEN INDEPENDENTLY VERIFIED FOR ACCURACY, COMPLETENESS AND TIMELINESS. YOU SHOULD SEEK INDEPENDENT AND PROFESSIONAL INVESTMENT ADVICE IN REGARD TO YOUR INVESTMENT DECISIONS. THE AUTHOR MAY HOLD POSITIONS IN THE SECURITIES MENTIONED IN THE ARTICLES

Author: Ken Utau

Data Scientist, Markets Analyst and Food Lover

1 thought on “Testing My Very First Multi-Indicators Trading System”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s