This research delves into the stock market trends of the Dow Jones Industrial Average (DJIA), focusing on data starting from 1992. The project combines time series analysis, moving averages, and volatility measures to understand market behaviors and predict future movements.
- Time Series Analysis: Employed to identify patterns or trends in the dataset over time.
- Moving Averages: Utilized to smooth out short-term fluctuations and highlight longer-term trends.
- Average True Range (ATR): A measure developed to assess market volatility.
- LSTM Model: Used for predicting the next day's closing price based on historical data.
- Data for the Dow Jones Industrial Average was retrieved from Yahoo Finance using the
yfinance
Python module.
- Explored the correlation between major global events and market reactions.
- Identified significant growth of the DJIA since 1992 despite numerous challenges.
- Analyzed market volume data to spot trends in buying and selling.
- Used LSTM for short-term stock price predictions, highlighting the complexities of longer-term predictions.
- Data Management: Dealing with vast datasets and ensuring data integrity.
- Technique Selection: Deciding on suitable analytical techniques considering various options.
- Data Accuracy: Ensuring the reliability of data sourced from 'yfinance'.
- Predictive Challenges with LSTM: Faced difficulties in extending predictions beyond a single day.
This research offers a holistic perspective on stock market dynamics, providing a balanced view between quantitative data and understanding human behaviors in the market. While the predictive model works best for short-term predictions, the overarching insights are invaluable for anyone in the finance sector.
- Ensure Python is installed and set up on your system.
- Install the required libraries:
pip install pandas matplotlib yfinance tensorflow
. - Clone the repository:
git clone <repository-link>
. - Navigate to the directory and run the main script.
I realized that the data is also behind so I've added a Last data from fetched data so you can see what date the data are being fetched.