I am passing Trading with SVM course . After implementing the course we see classification report like below. I think this is not use full to predicting next day (candle) trend that was the aim of the course. if i am wrong about it , please help me to know how we may use model to just know what is the next day trend . thanks .
The classification_report tells us the accuracy of our predicted results. The next day's results are already predicted in variable y_predict. You can print and check the results. If you are wondering how we are predicting the values check the "cls.predict" function. Its implemented few cells above.
Yes, I know that but my problem is the accuracy. Now accuracy is low and it means the model predicts randomly.I want to handle this because I want to rely on prediction . change a lot on the model and input data but unfortunately, accuracy has not grown yet.
I sent an email about it a few hours ago and describe it .
I went through your code and checked the data you are using. No strategy or Ml model is universal. It might work very well on one stock but not so good with others. Every strategy is specifically tuned for one specific asset class or even one stock. I suggest you explore more ML models and see what works best for the Forex market.
The Strategies used in our course are for educational purposes. These strategies may or may not yield good market returns.
Machine learning can be tiring sometimes, as in financial markets the signal to noise ratio is very low. It is normal for the model to learn something in the training dataset which is not of any use in the testing dataset. You are lucky to discover this in the testing dataset, as many of them discover this in live trading.
I would suggest below steps to improve the model accuracy
Try on a different asset or instrument. For example, you can try on a different stock or currency pair. You can get the data using yfinance library. This blog can help you to get the data: https://blog.quantinsti.com/stock-market-data-analysis-python/
You can select different features. You can try with different technical indicators such as RSI, ADX. You can get a complete list of indicators from this page: https://mrjbq7.github.io/ta-lib/doc_index.html
Try to add features from different categories from the above list such as momentum indicator, volatility indicator, volume indicator and cycle indicator
Play with the target variable. You can have a binary classification, three class classification or classification threshold based on volatility in the market. This article walks through one such approach: https://ai.plainenglish.io/start-using-better-labels-for-financial-machine-learning-6eeac691e660
Lastly, you can experiment with different machine learning models. The following link might be helpful to you to try on different ml models with few lines of codes: https://towardsdatascience.com/how-to-run-30-machine-learning-models-with-2-lines-of-code-d0f94a537e52
Also, note accuracy is only a part of the story. It is also important to look at average profits and average loss per trade together with accuracy. As an illustration, a model with 60% accuracy can also be loss-making, if the loss in the 40% losing trade is bigger than the profits from the 60% winning trades.
Always consider plotting the equity curve to analyse the performance of the ML model along with drawdown plots.
You can additionally consider reading the below resources
Machine Learning in Trading Book: https://www.quantinsti.com/machine-learning-trading-book
XGBoost in Trading: https://blog.quantinsti.com/xgboost-python/
ML in Forex: https://youtu.be/kqH0AaDQisY
I hope this helps. Feel free to let me know if you need any help.