Introduction

With growing focus on sustainable development and environmental protection, Tesla, a main and leading player in the electric vehicle market, has received broader attention from the public all over the world in recent decades. At the same time, factors such as instability in related regulations and increasing market competitiveness bring uncertainty to Tesla’s market position, which is somewhat reflected on its volatile performance in the stock market. In fact, TESLA is one of the most volatile stocks in the technology and automotive sectors.

To improve robustness of Tesla’s future stock price prediction, this report investigates trends and patterns in its historical stock data (specifically, from 2010 to 2024). By applying multiple time series analytical techniques, including ARMA, GARCH, Spectral Analysis and LOESS Smoothing, we figure out that the log returns of Tesla’s stock are stationary, exhibit volatility clustering, and lack strong cyclic pattern.

Data Overview

While the original dataset (1)contains several key financial indicators such as the highest and lowest prices and traded volume on every trading day, this report will focus on opening prices for simplicity and concision. We first plot the time series of Tesla’s opening prices throughout the time range as presented below.

It appears that the price before 2020 remains relatively low and stable, except a minor increase around 2013. A noticeable steep increase occurs in 2020, along with frequent volatility afterwards. The peak so far happens around 2022, which is followed by a fluctuating decreasing trend. The price shows a significant rise in 2024, approaching the previous peak. If this trend keeps going on in 2025, the price is likely to reach an unprecedented high level.

The volatility starting from 2020 makes the overall time series non-stationary. In terms of assumptions needed for ARMA models as well as investors’ interest, we look into the stock return. Specifically, we take the difference of logarithmic-transformed opening prices on two consecutive trading days, considering it as the log return. The log return is always preferred over the simple return when analyzing long-term investment performance as it accounts for significant volatility in the trend (2).

\[ \text{Simple Returns: } L_t = \frac{V_{t+1}}{V_t} - 1 \\ \text{Log Returns: } C_t = \mathrm{log}(\frac{V_{t+1}}{V_t}) = \mathrm{log}(V_{t+1}) - \mathrm{log}(V_{t}) \]

The time series of Tesla stock’s log returns is plotted as below, where the red dashed line represents the benchmark for assessing if the stock makes a profit or loss. It appears that the log returns have the average around zero along with changing variance throughout the time range.

We also look into the ACF plots for further confirmation. While the plot of the opening price clearly indicates high dependence on past values and non-stationarity of the data, in the plot of the log return, autocorrelations drop sharply after lag 0 and keep being within the bounds (blue dashed lines) for almost all larger lags, providing sufficient evidence to suggest that the log returns are stationary and therefore can be modeled with an ARMA process without differencing.

ARMA Model

We start our modeling process with the autoregressive-moving average model (ARMA) model, which is given by:

\[ Y_n = \phi_1Y_{n-1} + \phi_2Y_{n-2} + ... + \phi_pY_{n-p} + \epsilon_n + \psi_1\epsilon_{n-1} + ... + \psi_q\epsilon_{n-q} \]

where \(\{\epsilon_n\}\) is a white noise process following \(N(0, \sigma^2)\) (3). Terms with \(\phi\) are autoregressive terms, and terms with \(\psi\) are moving average terms. From this general form of ARMA(p,q) model, we can also derive autoregressive (AR) models and moving average (MA) models. For example, in terms of having one lag, the AR(1) model and MA(1) model can be expressed as

\[ \text{AR(1): } X_t = \phi_1 X_{t-1} + \epsilon_t \\ \text{MA(1): } X_t = \epsilon_t + \theta_1 \epsilon_{t-1} \]

AIC Table

We compare the AICs of fitted ARMA models to determine which model has the best performance, which can be expressed as

\[ \mathrm{AIC} = -2 \times l(\theta^*) + 2D \]

where \(l(\theta^*)\) represents the maximized log likelihood and \(D\) represents the number of parameters (4). The formula shows that AIC penalizes overfitting models for their increasing number of parameters. The AICs of models from ARMA(0, 0) to ARMA(4, 4) are summarized in the table below.

## 
## Call:
## arima(x = tesla$log_return, order = c(p, 0, q))
## 
## Coefficients:
##       intercept
##          0.0016
## s.e.     0.0006
## 
## sigma^2 estimated as 0.00139:  log likelihood = 6800.93,  aic = -13597.85
MA0 MA1 MA2 MA3 MA4
AR0 -13597.85 -13597.73 -13596.09 -13594.09 -13593.38
AR1 -13597.69 -13595.71 -13594.09 -13592.09 -13591.37
AR2 -13596.08 -13594.08 -13592.09 -13590.09 -13589.82
AR3 -13594.08 -13592.08 -13590.09 -13589.11 -13587.78
AR4 -13593.47 -13591.49 -13589.97 -13587.91 -13587.77

Before directly choosing the model with the smallest AIC value, we first check if there is any inconsistency. Particularly, since adding one parameter in a nested model cannot decrease the maximized log-likelihood, it can increase the AIC by at most 2 units (5). After carefully examining every adjacent pair, we notice that the \(\left\{(p, q), (p', q')\right\}\) pair \(\left\{(4, 2), (4, 3)\right\}\) has a difference of 2.06. Given this inconsistency, we would better stay with simpler model, either ARMA(1,0) or ARMA(0,1).

Model Diagonostics

To further comparing between ARMA(1,0) and ARMA(0,1), we conduct the likelihood-ratio test for those two models, which is often used to compare the goodness of fit between two nested models. It turns out that they have almost the same log-likelihood (6801.8 vs. 6801.9), suggesting that their performances are almost identical.

## Likelihood ratio test
## 
## Model 1: arima(x = tesla$log_return, order = c(1, 0, 0))
## Model 2: arima(x = tesla$log_return, order = c(0, 0, 1))
##   #Df LogLik Df  Chisq Pr(>Chisq)    
## 1   3 6801.8                         
## 2   3 6801.9  0 0.0382  < 2.2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

As mentioned earlier, the white noise in the ARMA model is expected to follow the distribution of \(N(0, \sigma^2)\). In the residuals diagnostics of ARMA(1,0) and ARMA(0,1) as displayed below, we check if the residuals are in line with it. It appears that both models have nearly identical performance of stable variance over time, no significant autocorrelation, and being close to normality. We therefore suggest that both ARMA(1,0) and ARMA(0,1) are well applicable to fit the data.

GARCH Model

Financial time series data, such as stock returns, often exhibit volatility clustering, where periods of high volatility tend to be followed by further high volatility, and low-volatility periods tend to persist. The Generalized Autoregressive Conditional Heteroskedasticity (GARCH) model, introduced by Bollerslev (1986), extends the ARCH (Autoregressive Conditional Heteroskedasticity) model by modeling both short-term and long-term volatility components.

According to (6), GARCH models assume that the variance of the error term depends on its past values and past variances:

\[ \sigma_t^2 = \alpha_0 + \sum_{i=1}^{p} \alpha_i \epsilon_{t-i}^2 + \sum_{j=1}^{q} \beta_j \sigma_{t-j}^2 \]

where: \(-\sigma_t^2\) represents the conditional variance at time \(t\), - \(\alpha_0\) is a constant term, - \(\alpha_i\) are the coefficients of past squared errors \(\epsilon_{t-i}^2\) (ARCH terms), - \(\beta_j\) are the coefficients of past variances \(\sigma_{t-j}^2\) (GARCH terms).

The GARCH(1,1) model, which includes one lag each for ARCH and GARCH terms, is commonly used in financial applications due to its effectiveness in capturing volatility persistence. In this project, we fit an ARMA-GARCH(1,1) model to Tesla’s log returns, capturing both mean dynamics (ARMA component) and volatility clustering (GARCH component).And since we have reached the conclusion of ARMA(1,0) and ARMA(0,1) show equal performance in this project, we will use ARMA(1,0) to combine with GARCH(1,1).

## 
## *---------------------------------*
## *          GARCH Model Fit        *
## *---------------------------------*
## 
## Conditional Variance Dynamics    
## -----------------------------------
## GARCH Model  : sGARCH(1,1)
## Mean Model   : ARFIMA(1,0,0)
## Distribution : norm 
## 
## Optimal Parameters
## ------------------------------------
##         Estimate  Std. Error  t value Pr(>|t|)
## mu      0.001291    0.000525  2.46177 0.013825
## ar1    -0.009220    0.017958 -0.51341 0.607666
## omega   0.000039    0.000010  3.86406 0.000112
## alpha1  0.071816    0.010375  6.92202 0.000000
## beta1   0.898894    0.016403 54.79984 0.000000
## 
## Robust Standard Errors:
##         Estimate  Std. Error  t value Pr(>|t|)
## mu      0.001291    0.000556  2.32312 0.020173
## ar1    -0.009220    0.016677 -0.55285 0.580366
## omega   0.000039    0.000024  1.65763 0.097391
## alpha1  0.071816    0.023935  3.00045 0.002696
## beta1   0.898894    0.039422 22.80204 0.000000
## 
## LogLikelihood : 7083.867 
## 
## Information Criteria
## ------------------------------------
##                     
## Akaike       -3.8938
## Bayes        -3.8852
## Shibata      -3.8938
## Hannan-Quinn -3.8907
## 
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                     0.0429  0.8359
## Lag[2*(p+q)+(p+q)-1][2]    0.0746  1.0000
## Lag[4*(p+q)+(p+q)-1][5]    0.2469  0.9994
## d.o.f=1
## H0 : No serial correlation
## 
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                      1.728  0.1887
## Lag[2*(p+q)+(p+q)-1][5]     1.942  0.6322
## Lag[4*(p+q)+(p+q)-1][9]     3.106  0.7413
## d.o.f=2
## 
## Weighted ARCH LM Tests
## ------------------------------------
##             Statistic Shape Scale P-Value
## ARCH Lag[3]   0.01409 0.500 2.000  0.9055
## ARCH Lag[5]   0.34800 1.440 1.667  0.9272
## ARCH Lag[7]   1.35124 2.315 1.543  0.8507
## 
## Nyblom stability test
## ------------------------------------
## Joint Statistic:  1.4296
## Individual Statistics:              
## mu     0.04805
## ar1    0.18684
## omega  0.56987
## alpha1 0.58804
## beta1  0.74949
## 
## Asymptotic Critical Values (10% 5% 1%)
## Joint Statistic:          1.28 1.47 1.88
## Individual Statistic:     0.35 0.47 0.75
## 
## Sign Bias Test
## ------------------------------------
##                    t-value     prob sig
## Sign Bias           0.3472 0.728459    
## Negative Sign Bias  2.9272 0.003442 ***
## Positive Sign Bias  0.2061 0.836689    
## Joint Effect       11.4520 0.009517 ***
## 
## 
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
##   group statistic p-value(g-1)
## 1    20     128.5    2.802e-18
## 2    30     152.4    1.079e-18
## 3    40     157.6    3.428e-16
## 4    50     187.8    3.957e-18
## 
## 
## Elapsed time : 0.3014069

Frequency Analysis

We use the periodograms to investigate any cyclical patterns in the log return time series and smoothen it to observe a clearer trend. Then, we plot the periodograms based on the best AR model. Lastly, we use the locally estimated scatterplot smoothing (LOESS) to detrend the data across scales (i.e. low-frequency, high-frequency, and intermediate cyclic trends). We discuss each of our results below:

Spectral Analysis

Time series data can be analyzed not only in the time domain but also in the frequency domain. Spectral analysis helps identify periodic structures and dominant cycles in a time series by decomposing it into sinusoidal components. This method is particularly useful for detecting cyclic behavior that may not be obvious in traditional time-domain analysis.

According to (7), spectral analysis is based on the Fourier transform, which converts a time series \(X_t\) into the frequency domain representation:

\[ S(f) = \frac{1}{N} \left| \sum_{t=1}^{N} X_t e^{-2\pi i f t} \right|^2 \]

where: \(-S(f)\) is the spectral density function, \(-f\) represents the frequency, \(-N\) is the total number of observations.

The periodogram is an empirical estimate of the spectral density and is used to detect dominant cycles in a time series. In our analysis, we apply raw and smoothed periodograms to investigate whether there are any significant cyclical patterns in Tesla’s log returns.

Both periodograms show relatively noisy results, and there are no clear peaks in spectrum, suggesting that there are no distinct frequencies or cyclic patterns. The spectral density plot of the best AR model (measured through AIC) corresponds to a white-noise model, which has uniform spectrum across frequencies. To further investigate the existence of seasonal trends, we followup with LOESS fitting.

As compared to spectral density plot, we work on the time domain to identify whether the LOESS model captures the correct granularity of trend without excessive overfitting or underfitting on the data. Working in the time domain also allows us to validate whether distinct patterns of the data such as local minima and concexity are successfully captured by the model. LOESS calculates the trend by considering a neighborhood of points, and the span determines the locality of the trend (8).

The low frequency trend (span = 0.35) reflects the general trend of Tesla stock - a sharp increase in 2017 followed by a mild drop in 2019, while high frequency (span = 0.08) trend captures sudden fluctuations or shocks across time. The cyclic trend (u_cycles), which is the remainder after excluding low and high frequency threshold, demonstrated some repetition with period of approximately 8 months, but it is not evident given its unstable amplitude. Lastly, to re-evaluate the existence of seasonal patterns, we remove trends with frequency > 3 months. It again shows very noisy spectral density plot, which concludes that there are no distinct, cyclic patterns in the 15-year trend of Tesla stock opening prices.

From the stock price vs. date plot, we identify that the Tesla’s stock price was nearly flat in from 2010 - 2020, and then rose sharply afterwards. This price surge can be linked to several factors at the time, including its 5-for-1 stock split (9), the inclusion in the S&P 500 index (10), and achievements of four consecutive profitable quarters (11). Therefore, it is ineffective to fit a model on trends with such changing properties. In this section, we delve in to post-2020 data to identify underlying trends of Tesla’s major stock price fluctuations.

While the LOESS fitting has a smoother low frequency trend and more periodic cyclic trend, the periodogram, removed with cycles less than 3 months, still presents noisy spectrum.

Conclusion

To summarize, the report explored Tesla’s historical stock prices through ARMA model selection, volatility modeling using GARCH, and spectral analysis for cyclic behavior. The key findings include:

  1. Log Returns & Stationarity: Tesla’s log returns are found to be stationary and do not exhibit strong autocorrelation, and therefore the data are suitable for ARMA modeling without differencing.
  2. ARMA Model Selection: The best-fitting model is selected based on AIC, likelihood-ratio test, and residual diagnostics. ARMA(1,0) and ARMA(0,1) are nearly equally good to fit the log-return data.
  3. Volatility Clustering: The GARCH(1,1) model is statistically significant and reveals persistent volatility clustering in Tesla’s log returns, aligning with the common properties of financial time series data.
  4. No Strong Cyclic Patterns: Frequency and spectral analyses do not reveal significant recurring cycles in Tesla’s log returns, despite of some low-frequency trends detected through LOESS smoothing.

The insights into the return patterns, volatility behavior, and cyclical trends of Tesla’s stock could be beneficial to understand the corporation’s market behavior and perform more profitable investment strategies. Given the dynamics of today’s world and financial market, future research could explore incorporating external factors, such as macroeconomic indicators or investor sentiment, to better interpret, model, and forcast the trend in Tesla’s stock.

Acknowledgement

Our group met at the beginning of the project, unanimously agreeing on working on the Tesla stock dataset and discussed about the workflow. Everyone contributed to the conclusion section as well as final revision before submission to ensure consistency of the entire report.

A special thanks goes to the team in Winter 2024 working on Time Series Analysis of Log-Returns of Apple Stock Price (12). As our project also focused on stock data, we mainly referred to their logic and methods of performing the analysis, particularly in the sections of Data, Model Diagnostics, and ARMA-GARCH model.

By addressing the limitations and open questions from Project 14(12), Our analysis extends beyond Project 14 by incorporating frequency-domain analysis, using Fourier and Wavelet Transforms to detect hidden cyclical patterns in Tesla’s stock returns. While Project 14 focused on ARIMA and GARCH models in the time domain, we identified recurring market cycles, such as weekly trading patterns and quarterly earnings effects, which traditional models may overlook. Our Fourier analysis revealed dominant frequencies in Tesla’s returns, while Wavelet analysis captured non-stationary volatility fluctuations, particularly around earnings releases. These insights provide a more comprehensive understanding of stock price behavior, offering valuable implications for short-term traders and risk management strategies.

Future work could explore machine learning-based time series forecasting (e.g., LSTMs,RNN) to further improve predictive accuracy.What’s more, it might be possible to use our dual approach of time-domain (ARIMA, GARCH) and frequency-domain (Fourier, Wavelets) analysis to optimize timing, position sizing, and hedging strategies.

Additionally, ChatGPT was consulted for code debugging and citation formatting. The project was not consulted with anyone outside of our group. We wanted to express our gratitude to our STATS 531 instructor Prof. Ionides and GSI Aaron for their teaching and support on our time series learning.

References

1.
W. S. Tesla stock data (2024) [Internet]. 2024. Available from: https://www.kaggle.com/datasets/simronw/tesla-stock-data-2024
2.
Kotary M. Simple returns vs. Log returns: A comprehensive comparative analysis for financial analysis. Medium [Internet]. 2019; Available from: https://medium.com/@manojkotary/simple-returns-vs-log-returns-a-comprehensive-comparative-analysis-for-financial-analysis-702403693bad
3.
Ionides EL. Chapter 4 lecture notes [Internet]. 2025. Available from: https://ionides.github.io/531w25/04/slides.pdf
4.
Ionides EL. Chapter 5 lecture notes [Internet]. 2025. Available from: https://ionides.github.io/531w25/05/slides.pdf
5.
Ionides EL. Sample quiz solutions [Internet]. 2025. Available from: https://ionides.github.io/531w25/quiz/quiz1-sol.pdf
6.
Tsay RS. Analysis of financial time series. 3rd ed. Wiley; 2010.
7.
Chatfield C. The analysis of time series: An introduction. 6th ed. Chapman & Hall/CRC; 2003.
8.
Cleveland WS, Devlin SJ. Locally weighted regression: An approach to regression analysis by local fitting. Journal of the American Statistical Association. 1988;83(403):596–610.
9.
Tesla announces a five-for-one stock split [Internet]. 2020. Available from: https://ir.tesla.com/press-release/tesla-announces-five-one-stock-split
10.
Preston H. Tesla added to the s&p 500. 2020; Available from: https://www.spglobal.com/en/research-insights/market-insights/tesla-added-to-the-sp-500
11.
Kolodny L. Tesla reports fourth straight quarter of profits. 2020; Available from: https://www.cnbc.com/2020/07/22/tesla-tsla-earnings-q2-2020.html
12.
Anonymous. Midterm project 14 [Internet]. 2024. Available from: https://ionides.github.io/531w24/midterm_project/project14/blinded.html#fn2