Introduction

Alvin Tan created interesting Noteboook, which is partly used in this presentation. The Investopedia information source is also used. In addition, a Bookdown of Technical Analysis with R (second edition) from Ko Chiu Yu and ChatGPT were helpful with the coding in R.

Technical analysis is a method to predict price movement in the financial markets. Unlike the usual balance sheet analysis (fundamental investing), technical analysis estimates the value of a given stock using underlying trends of the price movement. The core assumption behind this method is that the fundamentals (information from financial statements) were factored into the price fluctuation, hence, detecting the patterns and signals from the fluctuation should provide sufficient indicator for future performance.

For this project, we are going to explore some of the common technical indicators using the TQQQ Exchange trade fund (ETF) stock. Among leveraged ETFs, ProShares UltraPro QQQ (TQQQ) is one of the largest with assets under management of \(\$18.56\) billion as of July 2022. TQQQ is also one of the more heavily traded leveraged ETFs in the U.S. with an average daily volume of \(\$5.29\) billion (compared with QQQ’s \(\$21\) billion).

TQQQ carries an expense ratio of 0.95%.

#install.packages("quantmod")
#install.packages("data.table")
#install.packages("ggplot2")
library(quantmod)
library(data.table)
library(ggplot2)

Data Extraction & Manipulation, Data structure

TQQQ data is extracted using the getSymbols function from Yahoo Finance. Alternatively, the source can be replaced with FRED, MySQL, Google, or others. The data extracted should be in an ‘xts’ object - a format commonly used in time series analysis where observations are recorded in a matrix structure with an index of corresponding time.

Technically, analysis can be done in xts format alone, but for the sake of simplicity, data is converted into a standard dataframe and index column is renamed as “Date’. The end result is shown as below:

getSymbols('AAPL',src = 'yahoo')   ## change TQQQ ticker to Your ticker symbol
[1] "AAPL"

Volume

Apple’s trading volume in 2020 was quite high. The average daily trading volume of Apple stock (ticker symbol AAPL) in 2020 was around 80 million shares. The trading volume peaked at beggining September, 2020, when was sold around 140 million shares.It’s worth noting that the trading volume for any stock can vary widely from day to day.

chartSeries(stock,
            subset='2020-01-01::2020-09-23', type = "candlestick",
            theme=chartTheme('white'))

addSMA(n = 12, on = 1, with.col = Cl, overlay = TRUE, col = "brown")

addSMA(n = 24, on = 1, with.col = Cl, overlay = TRUE, col = "blue")

NA
NA

Moving Average Convergence Divergence (MACD)

In 2020, Apple’s MACD indicator showed several significant buy and sell signals throughout the year. For example, in beginning March 2020, the MACD crossed below the signal line, indicating a potential sell signal. This was likely driven by concerns about the pandemic’s impact on the global economy.

Parabolic stop and reversal

chartSeries(stock,
            subset='2020-01-01::2020-09-23', type = "bars",
            theme=chartTheme('white'))

addRSI(n = 14, maType = "EMA", wilder = TRUE)

In 2020, Apple’s stock price experienced a significant dip in late February and March due to the COVID-19 pandemic and the resulting market volatility. However, the stock price began to recover in the following months. In 2020, Apple’s parabolic stop and reversal (PSAR) occurred in early September when the stock price were increased around 130 per share. At this point signaled a serious reversal by flipping from below the stock price to above it. This reversal was a warning sign to that the uptrend was losing momentum, and a potential downtrend could be on the horizon. Following this signal, the stock price did indeed experience a short-term modification, dropping to around 105 per share by late September before eventually recovering.

LS0tCnRpdGxlOiAiVGVjaG5pY2FsIGFuYWx5c2lzIGluIFIiCm91dHB1dDogaHRtbF9ub3RlYm9vawotLS0KCiMjIEludHJvZHVjdGlvbgoKQWx2aW4gVGFuIGNyZWF0ZWQgaW50ZXJlc3RpbmcgW05vdGVib29va10oaHR0cDovL3JwdWJzLmNvbS96aGVzaHVlbi82NjU2MTYpLCB3aGljaCBpcyBwYXJ0bHkgdXNlZCBpbiB0aGlzIHByZXNlbnRhdGlvbi4gVGhlIFtJbnZlc3RvcGVkaWFdKGh0dHBzOi8vd3d3LmludmVzdG9wZWRpYS5jb20vKSBpbmZvcm1hdGlvbiBzb3VyY2UgaXMgYWxzbyB1c2VkLiBJbiBhZGRpdGlvbiwgYSBCb29rZG93biBvZiBbVGVjaG5pY2FsIEFuYWx5c2lzIHdpdGggUiAoc2Vjb25kIGVkaXRpb24pIGZyb20gS28gQ2hpdSBZdV0oaHR0cHM6Ly9ib29rZG93bi5vcmcva29jaGl1eXUvdGVjaG5pY2FsLWFuYWx5c2lzLXdpdGgtci1zZWNvbmQtZWRpdGlvbjIvKSBhbmQgQ2hhdEdQVCB3ZXJlIGhlbHBmdWwgd2l0aCB0aGUgY29kaW5nIGluIFIuCgpUZWNobmljYWwgYW5hbHlzaXMgaXMgYSBtZXRob2QgdG8gcHJlZGljdCBwcmljZSBtb3ZlbWVudCBpbiB0aGUgZmluYW5jaWFsIG1hcmtldHMuIFVubGlrZSB0aGUgdXN1YWwgYmFsYW5jZSBzaGVldCBhbmFseXNpcyAoZnVuZGFtZW50YWwgaW52ZXN0aW5nKSwgdGVjaG5pY2FsIGFuYWx5c2lzIGVzdGltYXRlcyB0aGUgdmFsdWUgb2YgYSBnaXZlbiBzdG9jayB1c2luZyB1bmRlcmx5aW5nIHRyZW5kcyBvZiB0aGUgcHJpY2UgbW92ZW1lbnQuIFRoZSBjb3JlIGFzc3VtcHRpb24gYmVoaW5kIHRoaXMgbWV0aG9kIGlzIHRoYXQgdGhlIGZ1bmRhbWVudGFscyAoaW5mb3JtYXRpb24gZnJvbSBmaW5hbmNpYWwgc3RhdGVtZW50cykgd2VyZSBmYWN0b3JlZCBpbnRvIHRoZSBwcmljZSBmbHVjdHVhdGlvbiwgaGVuY2UsIGRldGVjdGluZyB0aGUgcGF0dGVybnMgYW5kIHNpZ25hbHMgZnJvbSB0aGUgZmx1Y3R1YXRpb24gc2hvdWxkIHByb3ZpZGUgc3VmZmljaWVudCBpbmRpY2F0b3IgZm9yIGZ1dHVyZSBwZXJmb3JtYW5jZS4KCkZvciB0aGlzIHByb2plY3QsIHdlIGFyZSBnb2luZyB0byBleHBsb3JlIHNvbWUgb2YgdGhlIGNvbW1vbiB0ZWNobmljYWwgaW5kaWNhdG9ycyB1c2luZyB0aGUgVFFRUSBFeGNoYW5nZSB0cmFkZSBmdW5kIChFVEYpIHN0b2NrLiBBbW9uZyBsZXZlcmFnZWQgRVRGcywgUHJvU2hhcmVzIFVsdHJhUHJvIFFRUSAoVFFRUSkgaXMgb25lIG9mIHRoZSBsYXJnZXN0IHdpdGggYXNzZXRzIHVuZGVyIG1hbmFnZW1lbnQgb2YgJFwkMTguNTYkIGJpbGxpb24gYXMgb2YgSnVseSAyMDIyLiBUUVFRIGlzIGFsc28gb25lIG9mIHRoZSBtb3JlIGhlYXZpbHkgdHJhZGVkIGxldmVyYWdlZCBFVEZzIGluIHRoZSBVLlMuIHdpdGggYW4gYXZlcmFnZSBkYWlseSB2b2x1bWUgb2YgJFwkNS4yOSQgYmlsbGlvbiAoY29tcGFyZWQgd2l0aCBRUVEncyAkXCQyMSQgYmlsbGlvbikuCgpUUVFRIGNhcnJpZXMgYW4gW2V4cGVuc2UgcmF0aW9dKGh0dHBzOi8vd3d3LmludmVzdG9wZWRpYS5jb20vdGVybXMvZS9leHBlbnNlcmF0aW8uYXNwKSBvZiAwLjk1JS4KCmBgYHtyfQojaW5zdGFsbC5wYWNrYWdlcygicXVhbnRtb2QiKQojaW5zdGFsbC5wYWNrYWdlcygiZGF0YS50YWJsZSIpCiNpbnN0YWxsLnBhY2thZ2VzKCJnZ3Bsb3QyIikKbGlicmFyeShxdWFudG1vZCkKbGlicmFyeShkYXRhLnRhYmxlKQpsaWJyYXJ5KGdncGxvdDIpCmBgYAoKIyMgRGF0YSBFeHRyYWN0aW9uICYgTWFuaXB1bGF0aW9uLCBEYXRhIHN0cnVjdHVyZQoKVFFRUSBkYXRhIGlzIGV4dHJhY3RlZCB1c2luZyB0aGUgZ2V0U3ltYm9scyBmdW5jdGlvbiBmcm9tIFlhaG9vIEZpbmFuY2UuIEFsdGVybmF0aXZlbHksIHRoZSBzb3VyY2UgY2FuIGJlIHJlcGxhY2VkIHdpdGggRlJFRCwgTXlTUUwsIEdvb2dsZSwgb3Igb3RoZXJzLiBUaGUgZGF0YSBleHRyYWN0ZWQgc2hvdWxkIGJlIGluIGFuICd4dHMnIG9iamVjdCAtIGEgZm9ybWF0IGNvbW1vbmx5IHVzZWQgaW4gdGltZSBzZXJpZXMgYW5hbHlzaXMgd2hlcmUgb2JzZXJ2YXRpb25zIGFyZSByZWNvcmRlZCBpbiBhIG1hdHJpeCBzdHJ1Y3R1cmUgd2l0aCBhbiBpbmRleCBvZiBjb3JyZXNwb25kaW5nIHRpbWUuCgpUZWNobmljYWxseSwgYW5hbHlzaXMgY2FuIGJlIGRvbmUgaW4geHRzIGZvcm1hdCBhbG9uZSwgYnV0IGZvciB0aGUgc2FrZSBvZiBzaW1wbGljaXR5LCBkYXRhIGlzIGNvbnZlcnRlZCBpbnRvIGEgc3RhbmRhcmQgZGF0YWZyYW1lIGFuZCBpbmRleCBjb2x1bW4gaXMgcmVuYW1lZCBhcyAiRGF0ZScuIFRoZSBlbmQgcmVzdWx0IGlzIHNob3duIGFzIGJlbG93OgoKYGBge3IgZG93bmxvYWRfc3RvY2tfaGlzdG9yeX0KZ2V0U3ltYm9scygnQUFQTCcsc3JjID0gJ3lhaG9vJykgICAjIyBjaGFuZ2UgVFFRUSB0aWNrZXIgdG8gWW91ciB0aWNrZXIgc3ltYm9sCmBgYAoKIyMgVm9sdW1lCgpBcHBsZSdzIHRyYWRpbmcgdm9sdW1lIGluIDIwMjAgd2FzIHF1aXRlIGhpZ2guIFRoZSBhdmVyYWdlIGRhaWx5IHRyYWRpbmcgdm9sdW1lIG9mIEFwcGxlIHN0b2NrICh0aWNrZXIgc3ltYm9sIEFBUEwpIGluIDIwMjAgd2FzIGFyb3VuZCA4MCBtaWxsaW9uIHNoYXJlcy4gVGhlIHRyYWRpbmcgdm9sdW1lIHBlYWtlZCBhdCBiZWdnaW5pbmcgU2VwdGVtYmVyLCAyMDIwLCB3aGVuIHdhcyBzb2xkIGFyb3VuZCAxNDAgbWlsbGlvbiBzaGFyZXMuSXQncyB3b3J0aCBub3RpbmcgdGhhdCB0aGUgdHJhZGluZyB2b2x1bWUgZm9yIGFueSBzdG9jayBjYW4gdmFyeSB3aWRlbHkgZnJvbSBkYXkgdG8gZGF5LgoKCmBgYHtyfQpjaGFydFNlcmllcyhzdG9jaywKICAgICAgICAgICAgc3Vic2V0PScyMDIwLTAxLTAxOjoyMDIwLTA5LTIzJywgdHlwZSA9ICJjYW5kbGVzdGljayIsCiAgICAgICAgICAgIHRoZW1lPWNoYXJ0VGhlbWUoJ3doaXRlJykpCmFkZFNNQShuID0gMTIsIG9uID0gMSwgd2l0aC5jb2wgPSBDbCwgb3ZlcmxheSA9IFRSVUUsIGNvbCA9ICJicm93biIpCmFkZFNNQShuID0gMjQsIG9uID0gMSwgd2l0aC5jb2wgPSBDbCwgb3ZlcmxheSA9IFRSVUUsIGNvbCA9ICJibHVlIikKCgpgYGAKCiMjIE1vdmluZyBBdmVyYWdlIENvbnZlcmdlbmNlIERpdmVyZ2VuY2UgKE1BQ0QpCgoKSW4gMjAyMCwgQXBwbGUncyBNQUNEIGluZGljYXRvciBzaG93ZWQgc2V2ZXJhbCBzaWduaWZpY2FudCBidXkgYW5kIHNlbGwgc2lnbmFscyB0aHJvdWdob3V0IHRoZSB5ZWFyLiBGb3IgZXhhbXBsZSwgaW4gYmVnaW5uaW5nIE1hcmNoIDIwMjAsIHRoZSBNQUNEIGNyb3NzZWQgYmVsb3cgdGhlIHNpZ25hbCBsaW5lLCBpbmRpY2F0aW5nIGEgcG90ZW50aWFsIHNlbGwgc2lnbmFsLiBUaGlzIHdhcyBsaWtlbHkgZHJpdmVuIGJ5IGNvbmNlcm5zIGFib3V0IHRoZSBwYW5kZW1pYydzIGltcGFjdCBvbiB0aGUgZ2xvYmFsIGVjb25vbXkuCgojIyBQYXJhYm9saWMgc3RvcCBhbmQgcmV2ZXJzYWwKCmBgYHtyfQpjaGFydFNlcmllcyhzdG9jaywKICAgICAgICAgICAgc3Vic2V0PScyMDIwLTAxLTAxOjoyMDIwLTA5LTIzJywgdHlwZSA9ICJiYXJzIiwKICAgICAgICAgICAgdGhlbWU9Y2hhcnRUaGVtZSgnd2hpdGUnKSkKYWRkUlNJKG4gPSAxNCwgbWFUeXBlID0gIkVNQSIsIHdpbGRlciA9IFRSVUUpCgpgYGAKCkluIDIwMjAsIEFwcGxlJ3Mgc3RvY2sgcHJpY2UgZXhwZXJpZW5jZWQgYSBzaWduaWZpY2FudCBkaXAgaW4gbGF0ZSBGZWJydWFyeSBhbmQgTWFyY2ggZHVlIHRvIHRoZSBDT1ZJRC0xOSBwYW5kZW1pYyBhbmQgdGhlIHJlc3VsdGluZyBtYXJrZXQgdm9sYXRpbGl0eS4gSG93ZXZlciwgdGhlIHN0b2NrIHByaWNlIGJlZ2FuIHRvIHJlY292ZXIgaW4gdGhlIGZvbGxvd2luZyBtb250aHMuIEluIDIwMjAsIEFwcGxlJ3MgcGFyYWJvbGljIHN0b3AgYW5kIHJldmVyc2FsIChQU0FSKSBvY2N1cnJlZCBpbiBlYXJseSBTZXB0ZW1iZXIgd2hlbiB0aGUgc3RvY2sgcHJpY2Ugd2VyZSBpbmNyZWFzZWQgYXJvdW5kIDEzMCBwZXIgc2hhcmUuIEF0IHRoaXMgcG9pbnQgc2lnbmFsZWQgYSBzZXJpb3VzIHJldmVyc2FsIGJ5IGZsaXBwaW5nIGZyb20gYmVsb3cgdGhlIHN0b2NrIHByaWNlIHRvIGFib3ZlIGl0LiBUaGlzIHJldmVyc2FsIHdhcyBhIHdhcm5pbmcgc2lnbiB0byB0aGF0IHRoZSB1cHRyZW5kIHdhcyBsb3NpbmcgbW9tZW50dW0sIGFuZCBhIHBvdGVudGlhbCBkb3dudHJlbmQgY291bGQgYmUgb24gdGhlIGhvcml6b24uIEZvbGxvd2luZyB0aGlzIHNpZ25hbCwgdGhlIHN0b2NrIHByaWNlIGRpZCBpbmRlZWQgZXhwZXJpZW5jZSBhIHNob3J0LXRlcm0gbW9kaWZpY2F0aW9uLCBkcm9wcGluZyB0byBhcm91bmQgMTA1IHBlciBzaGFyZSBieSBsYXRlIFNlcHRlbWJlciBiZWZvcmUgZXZlbnR1YWxseSByZWNvdmVyaW5nLgo=