Skip to content

Commit ee1979a

Browse files
authored
Update README.md
Update README
1 parent 7ddc7eb commit ee1979a

File tree

1 file changed

+71
-5
lines changed

1 file changed

+71
-5
lines changed

README.md

Lines changed: 71 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,72 @@
1-
# Stock-Prediction-Using-ML
2-
Predicting Stock and Currency Prices Using Machine Learning and Artificial Intelligence Tools
1+
# Machine Learning Methods in Algorithmic Trading
2+
This is the code and documentation for the paper "Machine Learning Methods in Algorithmic Trading: An Experimental Evaluation of Supervised Learning Techniques for Stock Price".
33

4+
## Authors
5+
- Mohammad Javad Maheronnaghsh
6+
- Mohammad Mahdi Gheidi
7+
- Abolfazl Younesi
8+
- MohammadAmin Fazli
9+
10+
11+
## Introduction
12+
This paper explores using machine learning techniques like RNN, LSTM, NBeats, NHits and Transformer models for stock price prediction and algorithmic trading. The models are trained and evaluated on historical pricing data. A trading bot is also implemented to utilize the predictions.
13+
14+
- The key goals of the paper are:
15+
- Evaluate and compare different ML models for financial time series forecasting
16+
- Identify the most accurate models for stock price prediction
17+
- Implement a trading bot to leverage predictions for automated trading
18+
19+
## Models
20+
The following supervised learning models are implemented:
21+
22+
- Recurrent Neural Network (RNN)
23+
- Long Short-Term Memory (LSTM)
24+
- NBeats
25+
- NHits
26+
- Transformer
27+
The models are implemented in TensorFlow and Keras.
28+
29+
## Data
30+
The dataset used is daily closing prices for the EUR/USD currency pair obtained from yfinance API.
31+
32+
The data is split 80/20 into train and test sets. It is preprocessed by reshaping into input/output samples and normalizing to [0,1].
33+
34+
## Usage
35+
36+
The model training and evaluation scripts are located in the `src` folder:
37+
38+
- `train.py` - Trains a model
39+
- `evaluate.py` - Evaluates a trained model on the test set
40+
- `trading_bot.py` - Trading bot implementation
41+
**Example usage:**
42+
43+
```bash
44+
# Train LSTM model
45+
python train.py --model lstm
46+
47+
# Evaluate NBeats model
48+
python evaluate.py --model nbeats
49+
50+
# Train LSTM model
51+
python train.py --model lstm
52+
53+
# Evaluate NBeats model
54+
python evaluate.py --model nbeats
55+
```
56+
57+
## Results
58+
The NBeats and NHits models achieve the lowest errors, indicating good performance even with limited data. Transformer requires more data to reach full potential.
59+
60+
## Citation
61+
62+
```bash
63+
@article{maheronnaghsh2023machine,
64+
title={Machine Learning Methods in Algorithmic Trading: An Experimental Evaluation of Supervised Learning Techniques for Stock Price},
65+
author={Maheronnaghsh, Mohammad Javad and others},
66+
journal={preprint},
67+
year={2023}
68+
}
69+
```
470

571
## Milestones
672
I. Milestone 1: Data Collection and Preprocessing (Week 1)
@@ -21,7 +87,7 @@ IV. Milestone 4: Model Evaluation and Comparative Analysis (Week 4)
2187

2288
V. Milestone 5: Discussion of Results and Conclusion (Week 5)
2389
- [x] Present the findings of the comparative analysis, highlighting the strengths and weaknesses of each model.
24-
- [ ] Discuss the models' suitability for stock and currency price prediction in different market conditions.
25-
- [ ] Address potential limitations and challenges encountered during the research.
26-
- [ ] Summarize key findings and emphasize the model that demonstrated superior performance.
90+
- [x] Discuss the models' suitability for stock and currency price prediction in different market conditions.
91+
- [x] Address potential limitations and challenges encountered during the research.
92+
- [x] Summarize key findings and emphasize the model that demonstrated superior performance.
2793
- [x] Draw conclusions, discuss implications, and suggest future research directions.

0 commit comments

Comments
 (0)