Project’s Overview

In the fast-paced world of financial markets, traders are always seeking an edge. Technical trading strategies promise the tantalizing possibility of exploiting patterns in market data to generate consistent profits. We conducted rigorous backtesting of various technical indicators using Stata to determine if these strategies can produce risk-adjusted returns exceeding a basic buy-and-hold approach. Details related to this project include:

  1. Find buy and hold returns for a passive investment strategy
  2. Find profitability for different technical indicators such as:
  3. Double moving average (DMA)
  4. Exponentially Weighted Moving Average (EWMA)
  5. Moving Average Convergence Divergence (MACD)
  6. Bollinger Bands (BB)
  7. Relative Strength Indicator (RSI)
  8. Application of factor model to see whether the returns generated by the above indicators are abnormal returns or a compensation for some risk factors
  9. We created several unique risk factors such as currency value factor, currency volatility factor, and currency momentum
  10. Further, for each strategy we coded to find the number of trades, total average return per trade, the average number of days in the trade, the annualized daily return, Sharpe index
  11. Conducted t-tests to see that the profits generated by the technical rules significantly differ from buy-and-hold strategy

  Our Stata Code

We have developed easy to use yet robust codes for the above steps. The codes need just a basic understanding of Stata. Further, our comments on each line of code will surely help you in running the code as well as in understanding the process more clearly. We normally share all Stata files, the raw data files, and Stata codes with comments. The purpose is to help researchers to learn and apply these codes on their own. We also try to answer questions that might arise at a later stage when the researcher applies these codes.


The code is available for $ $199, plus a $50 for raw data processing (in case the data is not in Stata format and variables are not already constructed). For further details, please contact us at: