nikolamilosevic86 / FinAnalyzer

Tool for technical analysis of financial data about companies indexed on the stockmarket using machine learning
GNU General Public License v3.0
10 stars 14 forks source link

Able to predict short term trend and upload user's custom weka model? #4

Open ghost opened 8 years ago

ghost commented 8 years ago

HI nikol, Google brought me to your website accidentally and their I found this software. Its really an interesting software but what is your weka model's accuracy. Some where you wrote that when you converted to a weka model accuracy decreased or something.

Do you have a short term trend predicting model, say for predicting stocks trend up or down next month. Is it possible to add custom user weka model to your software?

This is not related to the software but to the machine learning applications in stock price prediction? I have created machine learning models using historical daily prices and its indicator values as features. But after many models and feature selection my model accuracy is near 50%. Now I am stuck my models are not improving or worsening it just stuck in one place. Do you have any advice?

nikolamilosevic86 commented 8 years ago

Hello @potholiday,

Thank you for contacting me. I thought I wrote at the blog post that precision and recall of weka model was around 71% based on 10-fold cross validation of past data. I haven't measured it other than that. The only thing about accuracy drop that I mentioned was because of the data retrieval process. I managed to make a better model, using data obtained from Bloomberg terminal and you can read about that here: https://arxiv.org/abs/1603.00751. However, since Bloomberg terminal is not free, I used for this Yahoo! Finance API. With Yahoo Finanance API I could not obtain some of the ratios such as quick and current ratio that boost performance. That is why performance dropped from 76% to 71%.

Currently, you can train model, name it same way as the file is called now and use it for whatever you want. However, it needs to use same ratios that I used for long term prediction and I think approach for short term prediction with be a bit different (price changes over some period are more important and some ratios may be less, etc.). However, it might be possible to have even a screen to change a model and point a file. I need to have a look and a bit of research whether it is possible to read features from weka models and somehow map them to the obtained data.

Regarding advices, I really have not played too much with short term prices, this was one of my first attempt to play with financial data. Please have a look at the paper's background section. There are mentioned work done with time series and short term prediction. What have you used as a features? I believe features for time series should be quite different and should reflect sentiment of the news, prices in past days and maybe movement of some major index. I would be happy to colaborate and create a feature of FinAnalyzer that predicts short term movement if you are interested. Let me know.

ghost commented 8 years ago

Thanks for the quick reply, For my machine learning models I have used techinical indictors such as rsi as the feature vector and no sentimental features . I have to report a slight problem with finanalyser for analyzing stocks outside US. example If we want to predict stocks from indian exchanges say ACC.NS, BIOCON.NS etc. Those stocks dont have many of the features which you are using for predicting. My request is to add a sentimental analysis(independently) for such markets where fundamental features are not available.

nikolamilosevic86 commented 8 years ago

I know about this issue, there is some problem with the API I am currently using that it does not retrieved information if the stock has dot (.) in the symbol. Sentiment analysis is planned anyway and I might go for some shorter term prediction as well in separate tab.

ghost commented 8 years ago

thanks nikol and awaiting for the new update :+1: