Skip to content

kadiyalamani15/Determining-Influential-Macroeconomic-Indicators-for-the-Australian-Stock-Market

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Determining Influential Macroeconomic Indicators for the Australian Stock Market

This project focuses on using macroeconomic indicators to predict the performance of the Australian Stock Exchange (ASX) and National Stock Exchange (NSX). The data ranges from 2010-2018 and has been aggregated to monthly form.

Australian Macroeconomic Indices



AUSBOT AUSBP AUSBR AUSCA AUSCARS AUSCBBS
AUSCCON AUSCCPI AUSCF AUSCI AUSCINF AUSCNCN
AUSCONPMI AUSCOP AUSCP AUSCPI AUSCPIC AUSCSP
AUSCU AUSCUR AUSDINV AUSDPINC AUSEC AUSEDBT
AUSEMP AUSEXPX AUSEXVOL AUSFDI AUSFER AUSFTEMP
AUSG AUSGAGR AUSGBGT AUSGBVL AUSGCP AUSGD
AUSGDG AUSGFCF AUSGNP AUSWAGE AUSGOLD AUSGPC
AUSGSP AUSGYLD AUSHOOD AUSIBOR AUSIMPX AUSIMVOL
AUSINFEX AUSJOBADV AUSJVAC AUSLC AUSLEI AUSLFPR
AUSLPS AUSM1 AUSM3 AUSMANWG AUSMKT AUSMP
AUSMPMI AUSNHS AUSOIL AUSPPI AUSPPIC AUSPROD
AUSPSAV AUSPTEMP AUSRSY AUSSPMI AUSSSR AUSSSRC
AUSSSRE AUSTOT AUSTOUR AUSTVS AUSUNP AUSUNR
AUSUNRY


Data Reduction Tests

Before regressing the indices, the data has been put through data reduction tests to ensure the accuracy of the predictions. The tests included:

  • Correlation
  • Bartlett test
  • KMO test
  • Principal Component Analysis (PCA)
  • PCA with VARIMAX

Out of seventy-nine indices, the indices which failed to load onto a factor or component in PCA with VARIMAX were dropped, and the iteration of PCA and PCA with VARIMAX continued. As per Eigen Values, K1-Kaiser test, for the data being used, there were nine components or factors.

The indices which had the highest loading on to these respective components were put to ADF test to check for the stationarity of the time series data. This final data was used in regressing.

Future Work

In future work, this project can be extended to the prediction of the ASX and NSX stock markets could be improved with the help of Long-Short Term Memory from Recurrent Neural Networks, which works very comfortably with the time-series data.

Methodology

The following flowchart explains the methodology used in this project.

flowchart TD
start((Start)) --> load[Load Dataset]
load --> agg[Aggregate the dataset into monthly form]
agg --> corr[Find Correlation Matrix]
corr --> corr_res{If matrix has more positive and negative values}
corr_res --True--> tests[Perform Bartlett test and KMO test]
corr_res--False-->scale
tests --> kmo{If KMO > 0.5} --True-->scale[Scaling the data]
kmo --False-->agg
scale --> pca[PCA]
pca --> varimax[PCA with VARIMAX]
varimax --> condition{If factor loaded onto only one component}
condition--True-->adf[Perform ADF test]
condition--False-->pca
adf-->p_value{If P value < 0.05}
p_value--True-->stationary[Factors are stationary]
p_value--1st Run False-->first_diff[Find First Difference]
first_diff-->adf
p_value--2nd Run False-->second_diff[Find Second Difference]
second_diff-->garch[Perform GARCH Model]
garch-->garch_condition{if 	α + β <  1}--False-->garch_diff[Find another difference]-->garch
garch_condition--True-->stationary
stationary-->reg[Perform Regression]
reg-->indices[Influential Macroeconomic Indices]
indices-->stop((Stop))
Loading

Technology Stack

The following technologies were used in this project:

  • Python
  • Pandas
  • Numpy
  • Scikit-learn PCA
  • Scikit-learn StandardScaler
  • Factor analyzer
  • Matplotlib

Regression Results



ASX Prediction Accuracy: 94.81%

NSX Prediction Accuracy: 74.57%

Usage

The project is available as a Python notebook, and the dataset can be shared upon request.

Contributions

Contributions are welcome! If you would like to contribute, please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Write your code and add tests if necessary.
  4. Commit your changes and push your branch to your fork.
  5. Submit a pull request with a detailed description of your changes.

Credits

This project was developed by Konda Vaishnavi, Manish Chandra Kadiyala, and Prakash K Aithal at Manipal Institute of Technology.