Home > Technical Topics > Strategy Development > Is 75% of successful forecasts on close price enough for profitable trading?

Is 75% of successful forecasts on close price enough for profitable trading?

  1. Hello.

    I have been developing systems to forecast next day price changes on financial instruments such as forex pairs, stocks, indexes, commodities and so on.

    Since I have not developed a detailed strategy, I have a question maybe somebody might be able to answer.

    If you could predict successfully 75% of the times if next day's close price was going to be above or below current day's close price; could you make a profitable strategy?

    Would it be enough? If not, which level of accuracy would you need for it?
  2. Sounds like it would be good for spreads.

  3. Welcome to ET.

    In terms of general trading, the entire question isn't quite appropriate, because (I strongly suspect) the thinking/belief-set from which it was formulated is actually a slightly misguided one.

    The reality is that there isn't a quantified "level of accuracy" for directional price-movements that determines whether or not a profitable method can be derived from something. There's a lot more to it than just that. There can easily be systems with 75% directional accuracy that steadily lose money, and there can easily be systems with only 25% directional accuracy that steadily make profits.

    What matter is overall expectancy, not win-rate.

    You need to gain more from your collective wins than you lose from your collective losses.

    Key concept: whether or not you can actually do this steadily tends to have a lot more to do with trade management and risk management than it does with "how often you can get the direction right".

    Would a short list of introductory trading books that explain all this stuff be helpful to you?
  4. 50-60% win rate, 2:1 reward to risk ratio, low drawdowns on equity curve, fewer trades if possible like 5-8 per month, 20%+ a year returns................and you are in an elite bracket already.

    Seems yours is very good on win rate, more numbers would be welcome.
  5. Not enough.

    75% prediction has little to do with your actual win rate if you use stops. If you don't you will likely blow your account beyond recovery. If you do, too small and it will hurt your win rate, too big and you will have bad r:r.

    Accuracy of prediction is not enough. If you asked this question without addressing any of the above, then definitely not. Build on the missing parts.
  6. Many good answers in this thread.
  7. Thank you for your answers.

    I do not have a trading system, but a system to forecast whether prices will go either up or down for a given timeframe.

    These algorithms may be improved but before doing it, I wonder if an experienced trader would find it useful to develop a trading system knowing that the average rate of right predicted movements is for instance 75% for next day close and let's say 87% for next open.

    So, the issue is not about trading strategy, but about comparing that ratio with the ratio of successful predictions required to be profitable by the strategies you know may require similar information.

    Knowing this I know if it is worth starting to work on some applications for these predictions or if it would be better to improve the accuracy.

    I am not a experienced trader, so I do not have the data required to answer my doubt.

    kind regards.
  8. Now, just determine how wrong the other 25% of trades are.

    Since you are not an experienced trader, please take this the right way. Anyone can have a 95% correct prediction of where price will go. And lose BIG $$

    Tomorrow price will go up at least 1 tick. 95% chance I'm right. It may go down 50 ticks first or if it doesn't come back it may go down 100 ticks by end of day.

    You need to know the path a price takes before it gets to your final predicted destination.

  9. As explained just above, there simply isn't a "required ratio of directional predicitions for profitability", because the proportion of correct directional predictions is only a very minor part in the potential construction of a profitable trading method from a directional prediction-system.

    Apologies indeed if I sound critical, but the question you're asking is itself predicated on a slightly misguided and mistaken (albeit perfectly intuitive and superfically entirely reasonable) assumption.

    We have all been there: none of us was born with an understanding of these often counterintuitive and tricky subjects.

    But, respectfully, repeating your question really won't increase its validity or make it any more answerable within the frame of reference you seek, because that isn't actually an appropriate frame of reference in the first place; sorry! [​IMG]

    Would a short list of introductory trading books that explain all this stuff be helpful to you?
  10. Hi, regarding DTN2 issue on price change indeed, most of the times the system fails is because relative volatility is low, performing better on more volatile environments, that's why I was thinking that the ranges of succesful trades would be about 3 times higher those losers.

    That difference between volatility plays in favour of winners.

    I have quite good knowledge of different trading systems and several years os testing those. But this approach based on risk and a stochastic analysis is a something new I have developed entirely. That's why I ask about this issue provided that other statisticians or mathematicians employ similar approaches. I could implement a testing system as well, but I think asking is smarter initially.
  11. The other real problem is filling at the price you think you will get. There are timing and liquidity issues that most people ignore or underestimate.
  12. It's true?
  13. 51% should be enough

    but this ratio only can't decide whether you can make consistent profit in the long run
  14. You can be profitable with 40% success rate. What matters is how much you make and lose each time you’re right or wrong! And to know that you need to test.
  15. Everything in the stock market is variable, you should advise very well with your broker since he is the one who has the last word in terms of the development of the market. It also counts on your part to train yourself in the market.
  16. %%
    Good points;
    since stuff happens, op would well advised , not that this is investment advice,, but money management helps.Without getting to cryptic, some people did fine early paying for pineapple-$8,000 per pineapple.I seldom sell outside the channel as IBD suggests; but since i like the idea/ institution of James Dole Pineapple, i could lose my position + still eat well :cool:. NOT a stock tip:D.
  17. Sounds like an amateur/inexperienced question -- try it, and you'll see the much deeper, dynamic, complex answer, o_O
  18. It depends on payoff ratio but in practice you should be able to make profits from 75% win rate.
  19. Hello all.

    I have concluded this stage of the study. There are a few conclusions got from this model:

    - Since the model predicts correctly in average the variation of price for next day 75% of the times, it is especially useful to understand when price should not change and when price may or will change even if it should not do it.
    - By studying where the predictions for next day fail, you can get interesting insights about price action reliability.
    - The technical indicators improve the model, so they are still good tools. Before using non-linear models I was not able to introduce technical indicators and volume, but after using models based on decision trees and neural networks, those predictors suddenly started to contribute to the accuracy of the models.
    - The ability to understand price action and interpret charts is a skill superior to this model. This model, as mentioned, may only help to improve the knowledge related to price action, but not to define a system.

    Finally, I have published a couple of related artifacts:
    - One is a brief introduction to the system I have developed to generate the model. It is not the model since it targets open prices, not close prices and it does not include any technical indicator to make it more accessible to the general public interested in machine learning applications. It does not include model optimization, feature selection, etc... Just the basic idea to get it quickly. You will see it is quite simple, but it took months of research to understand what to analyze and how to do it exactly. The model used does not require data regularization nor normalization. I have smoothed the data the minimum possible (2 day SMA) to get predictions from it.

    - The other is a tool I have developed and it is still quite basic to test price action strategies. It allows to load any financial time series data (stocks, forex, etc.) to generate ticks and simulate orders executions. You can trade several years of real market data in less than one hour with it. I think it is very useful before beginning demo trading to test strategies. It's also free.


    Thank you for all the responses you gave for my previous posts.
  20. A 75% accuracy rate in identifying the next day's direction is good. But focusing on one single day's price action is seriously under-ambitious.
  21. I assume your comment is related to the model, not to the trading trainer, since the trading trainer has nothing to do with one-day price action.

    Yes, that's why this statistical model is good to improve understanding price action trading through the days the system fails to predict only.

    However, I am speaking about daily chart price action, not one day price action. I am unsure if we are on the same row.

    More important even is that predicting the 2-days smoothed price direction is not always telling you actually where price will go, because the 2-day sma and the 1-day price can move in opposite directions. However, the 2-day moving average is quite an ambitious target, since its variablity is also very high. For the daily price I have not worked on a system for it. I wish I had time enough to write in code a price action model that takes into account all the price chart setup, the market dynamics, the traders sentiment, news, other securities information, etc.

    The model innacuracy, those 25% of the predictions may tell something.
    • Why has it failed since, which factors made the most probable forecast to be wrong?
    • Why was price at the opposite side of the balance point?
    • How many times does it fail consecutively. This is interesting, the system never failed three consecutive bars virtually (maybe it could fail three times one time over one thousand).
    • It usually failed only one bars and the next the prediction was always right also 70-80% of the times, I do not remember exactly. So, if you are tracking a few thousand securities, you may detect which predictions failed two times consecutively and bet that next bar's prediction is right almost without doubt.
    • What happened those days that the model failed? For instance, I performed some basic statistical analysis and found out that the average variability of price the days that the model failed was about 5 times lower than the days the model was accurate. So, this means that for very low price change (short bars), the immediate price change is much more uncertain than for bars with regular or high price variability. It also tells that if you ignore very small bars you are likely to perform good entries.
    There are certain programming languages like Python or R that are especially appropriate for mathematical and statistical analysis. You can perform advanced analytics with a few lines, the analytical methods are already implemented so you only have to understand them, you can easily use GPU and distributed computing, etc.

    When I was fine-tuning the model I found that most of the papers published were not actually providing the details of the development done by the authors; that's also why I decided to write a short but practical article and what it is most important, with source code and the data set used.

  22. Those who have knowledge, don't predict. Those who predict, don't have knowledge. Lao Tzu

    The markets have always had many Casandra's that believed they could predict the market. History has shown none to date were any more accurate than flipping a coin.

    Most traders cant even predict what they will do next.
  23. Lao Tzu and many like him weren't traders in a dynamic modern age, they were vague philosophers of ancient wars and other slower, nearly cosmic events of life and people.

    Which all still hold true to some degree and extent, but within a different collective environment.
    Basically what I'm saying is the market is essentially part art, part science...and I feel like eating fish and chips...High-Five`
  24. You’re on a productive path. The third bar contained within the high and low of the first bar defines a lateral. A lateral exists until there are two closes outside it’s boundary. The bar that Initially breaks out of the lateral (of the two bar close criteria) is the lateral definition. Ie lat32 contains 25 more bars than lat7. Laterals can contain laterals. To trade inside a lateral is like the black diamond trails, thrilling, exhilarating and requiring a heighten degree of concentration definitely not for beginners.
    It requires a different logic than PA not contained within a lateral.

    The fails of the system also have labels. There are two distinct labels in the same fail set. This set is different than the label that defines what’s true. There are 54 distinct true labels. Yet all these labels both true and false are also of the same overarching Set. This Set includes all distinct yet finite possibilities, therefore it defines all possibilities - both the true and the false.

    As you build your model, it’s accuracy is dependent on how coupled it is to the grandularity of market information.

    Back testing has a limited usefulness. Technical indicators are formulations of ohlcv Time series. Therefore they are derivatives of what has already been defined.

    Foreword testing has a present time usefulness. It operates on negative logic. One can know a thing by knowing what it is not. It’s logical construction by it’s very nature is distinct from back testing. Forward testing has anticipatory usefulness when the results are logged. The log will unveil an ever-repeating sequence of events in the progression of trend.

    Understanding this difference is the crux from backtesting to forward testing in implementing a model for successful production.
  25. I am probably too stupid as I cannot predict. At the opening I know what I should do based on statistics about patterns. So at the last minute.
    I also know in long term how my chances are to be correct. And it is funny, but I beat friends who try to predict, over and over again. They predict and wait till their prediction is fullfilled or they get stopped out. To me it looks like they don't predict but gamble. And watching their stats confirm my opinion. Predictions should be confirmed with spectacular stats, if not it was a lucky shot (or even a few in a row).
    I follow my statistics and if wrong immediatelly act based on the changes of the patterns. And follow again my stats as in long term they are right, or at least give me the best result I can achieve.
  26. Everyone trading is trying to predict, the only difference is that a machine is simply better than a human being doing it.

    In order to prepare a real automated trading system you should just be able to write in mathematical (or algorithmic) language your thoughts and how you evaluate what you see. So the difference is that implementing an automated trading system is quite complex.

    For us it's easy to draw in our minds all the support/resistance areas, the patterns, trends, relative movements, etc. But doing it programatically is another stuff and there is no one unique approach, and none of those approaches is easy.

    Regarding the idea and the comment that price movements are random and cannot be predicted is completely false. Otherwise, how could a system predict more than 50% of price changes for every security tested over years of data? If it would have been a random process, the prediction accuracy would have been 50% in average. This is more than obvious.

    The current state of IA offers many possible approaches. One that seems quite promising is reinforcement learning, a type of methodology that learns without instructions, given a set of allowed actions. Here is a paper about it taken randomly from Google: https://web.stanford.edu/class/cs221/2017/restricted/p-final/sk3391/final.pdf

    Tip: start reading the conclusion it's always the more interesting part.
  27. Thank you for sharing.

    It is the first time I see it. It seems to be a strategy parser that converts features extracted from the users definitions into predictors to minimize probably one or several loss functions using deep networks.

    I have done similar works using Tensorflow and Keras, both of them deep learning libraries. I find those a bit slow even directing computer resources into GPU-processing. That's why I finally ended up using gradient boosting machines.

    Another good point I see is that the DLPAL integrates with commercial software. I have found challenging, for instance, wrapping over metatrader. I did it most often using MT4API and C# to manage all the instances, but it was very prone to failure.

    The strategy shown on the page, however will not be profitable because it is not taking into account:
    - Volatility and ROC
    - Relative volatility and ROC
    - Volume.
    - Support and resistance bands.
    - I think it is not using trailing SL/TP neither.
    - It uses a fixed ratio for TP levels iof taking into account factors such as the relative displacement of price within the bar against the other bars, price levels, moving averages, etc..
    - Inter-bar direction of movement analysis.
    - etc...

    Now that we talk about it, have you ever tested a system trained with Japanese candlesticks? I have done it but I have never found a statistical correlation between Japanese c. patterns and price change.

  28. Just as a few general thoughts:
    -- You probably want to re-test your results on a return stream that's market neutral and adjusted for dividends
    -- I am usually very skeptical of ML applications to trading strategies in terms of generating alpha factors because of the overfitting concerns (especially unsupervised ML)
    -- If you are going down the ML path with EOD data, I suggest looking for external alpha factors instead of focusing on price/volume
  29. There is a paper around, a guy I think he wrote it for his Phd, that used several external factors not related to price, including news, something related to wikipedia, and other external data sources to precisely find out those factors that are not related to price.

    I think he obtained about 90% of accuracy on next day 3-day SMA price change. However, I think it is a low score for a 3-day SMA. He used random forest for that and supervised classification.

    One of the features I have been thinking about is capturing experts sentiment also, by scrapping news and other data sources. I think the may be useful as well. However, I am not currently interested on applying ML to trading, I've had this project inactive for two years and I wanted to close this particular model of next day price change prediction using exclusively price and volume to generate features and models. So I did it these Christmas days I had a bit of time.

  30. I forgot to mention.

    To avoid overfitting I use a main approach:

    First you must divide into two sets your data. One for training the model and other to test it with new data.

    The first set, the training set is divided again into two other subsets. You only use a randomly selected partial group of the training set to train the model. For instance, only 70% of the records.

    The for testing it you use new data. the test set that has not been involved within the training stage.

    For instance, for EURUSD I think I had over 4000 rows, used a subset of the first 3000 rows and predicted the next 1000 rows to verify the accuracy. The model always fits within your data, the problem is not to overfit it. You need to fit the model for each new security, but not to each new datum.

    At the end, overfitting I think it is more about not understanding how to design a statistical experiment and being negligent. It is a very basic principle.

    However, don't you think that training a neural network to identify car plates is overfitting, but it works like charm?

  31. Get real, you are not a genius that has cracked Matrix. If anyone could forecast the market with 75% or better accuracy. Governments, universities, & well capitalized firms with teams of PHD mathematicians have tried for many decades to forecast the market - all with dismal results no better than a coin toss.

    There are some big players using AI to examine the sum of all Internet babble to try to get clues as to the probabilities of market direction - will just have to see how this works out in the years to come. The problem is that the real market movers use transparency to enter/exit positions- dark pools. At best AI could only gather from the web what some of the vocal weak hands may be up to.

    If anyone truly had forecasting powers at 75% or greater they would be worth many billions to big operators like the J.P Morgans of the world that could use this to capture the worlds $ supply. I am sure the SMA does not have mystical crystal ball like super powers - at least mine sure doesn't. At best it may help some traders be aligned with the short term trend at times - during chop it will be worthless.

    There is historical data showing seasonal influences, business cycles, and the presidential election cycle - however this is at best may improve your odds a bit over the long haul.
  32. Should I respond to this?

    In fact I won't answer to any personal message. However anyone is free to write as desired.

    For anyone else reading this particular quote, on the previous posts there is an explanation of what is this good for and what it is not. I won't repeat it again here since it would be starting a circular conversation I am not interested in.
  33. Yes please do respond. Why? because I want to believe you but I tend to agree with comagnum.

    In the mean time I will do some analysis to see if there is logic behind the scheme and get some forward testing done to see if it works.

    Thank you for sharing and take care.
  34. Hi Ironchef.

    I won't talk about myself, because an argument based on who is someone is a fallacy. So I won't respond to the personal part of the message.

    The summary of what's posted by me:
    - A method to predict 2-bar SMA direction with average 75% cross-security accuracy.
    - It is not a trading system.
    - No application on trading has been provided for it.
    - It may help anyone to understand better how price reacts to certain factors.
    - Period.

    Then the fact that financial data or financial prices already contain all the market information and cannot be forecasted, that is false. Why? Because it can be and it has been forecasted using non-linear methods such as Support Vector Machines, Decision tree-based models, neural networks and so on. The difference is that non-linear approach does not assume that all the information can be reduced to a line or unique function.

    It is very easy to find across prestigious and trusted universitites and organizations studies about it. I have provided a very easy-to-replicate model written in Python a few post before too, that's why I was a bit surprised by the answer, since it can be easily tested just with the already implemented model provided by myself. The technique I used completely removes overfitting and uses gradient descent optimization over decision trees.

    This is not a religion, nor an opinion, it is something one can either prove or fail to do.

    Doing a bit of research anyone can find plenty of documentation, taken randomly from Google:

    - https://www.cs.princeton.edu/sites/default/files/uploads/saahil_madge.pdf - Failure to predict price market.
    - https://arxiv.org/ftp/arxiv/papers/1603/1603.00751.pdf - Success to classify security movement prediction

    There are tens of other studies that anyone can read, I just included a couple of them, one that fails to achieve its objective and another that succeeds at it.

    I have not investigated yet how to predict price itself, and I don't know if it is possible to do because I simply have not researched it enough.

    I hope this answer is enough. I am unsure of that doubts may still remain after all the explanations given on this and precedent posts.

  35. Thank you gon, I appreciate you taking the time to give me this lengthy response. What I missed was this:

    From a structure and logic basis, it makes some sense: Like any systems with some momentum and some form of damping factor (friction), the inertia will usually carry from time period to time period, especially when the time period is short. So, the 75% success rate of prediction of the direction for the next period could be a reasonable outcome. It depends on the momentum (directionality) and damping factor....

    The $64 dollar question for me is how to take advantage and make a profitable system out of your observation and algorithm. I will do some forward testing using this concept and share the outcome when I get some results.

    Best wishes.
  36. You are conflating the accuracy of the median prediction with the mean prediction that takes into account the whole distribution. As an extreme example, a median expectation of a late night stroll through Mogadishu is "nothing happened", but would you be willing to take that walk without knowing the mean expectation?
  37. Hi.

    Indeed, the starting point of all this was thinking in price like an object with a certain mass subject to a series of dynamics. So I started to apply velocity, acceleration, force and other concepts taken precisely from physics and calculus.

    But, the $64 dolar question, the information that a classificator like this one provides could be used as a predictor within a bigger model, just another feature else.

    In my case, I got a few lessons:
    - Technical indicators and price/volume history matters.
    - Even 2-bar SMA is too smoothed to provide an accurate estimation of actual price change. This is important, because getting quite good accuracy with the 2-daySMA is not an easy task, and I found that I could not get a direct profit from it after struggling for a few weeks.
    - Comparing the bars and other data to the model predictions provides a mathematical confirmation of what each type of bar and price dynamics should represent, not just the theories and opinions of authors that do not provide one sole proof about what they say or sell.

    But, what do we want to maximize? Profits?

    Then if profit is the function to maximize and loss the function to minimize, then price, volume or banana is not the target item we should be studying ultimately.

    If you want to maximize profit, you need to provide the market information as input data, also any prediction or classification if you want to. But the target should be profit.

    And to map market to profit you need a set of intermediate layers. I think that here is where strategy comes. For this, if I would have time to go ahead in the future, I would be for strategy definition and parameter optimization more than purely thinking about a stochastic approach. This reminds me to unsupervised reinforcement learning, but again, maybe more simple approaches to identify the different price areas to detect breakouts, trend reversals, gaps, supports and resistance levels, etc... could be more than sufficient.

    So, imo if you already have a good system, just write it and optimize it. But, for anyone not being a programmer knowledgeable at statistics I would discourage of trying it.

    The reason why I opened this post was to find out if any forum member was using that kind of information to trade. And to find out if traders were actually using mathematical approaches, intuition or both of them.
  38. Rentech says hello. Liquidity constraints keep them from unlimited growth. You can only take as much as is offered.
  39. Yes.

    I use mathematical and intuitive approaches. The intuitions may be relied upon until such time that additional testing/research can confirm/reject those hypotheses. At that point, the intuitive parameters are replaced with the mathematical results of the testing/research.
  40. Indeed, when I was trying the model what I got was a better intuitive knowledge of price action.
  41. Let me see if I understand what you are saying: 75% probability of prediction is not the same as positive profit expectancy? In other words, just like selling OTM options, one has usually > 80% win probability but the 20% that you lose can wipe you out?
  42. Thank you.

    I read the two articles you posted prior. Very interesting, I used to try modeling using similar parameters listed by the papers but did not (and did not know how to) apply machine learning. Basically I used multi parameters regression to try forecast. It didn't work very well for me.

    Question: Do you have any suggestion how I can learn Support Vector Machine learning, or are there software package that can do SVM?

  43. Exactly. It does not have to be options, there are a lot of strategies on linear instruments that are asymmetric by nature. Let's say you're an HFT trader and are making markets in a stock X. You don't really try to do anything sophisticated, simply buy for the bid and right away try sell at the offer. The median result of each trade will be the bid/ask spread (let's say 1 cent), but once in a blue moon when you are sitting on the bid, news come out and the stock moves $1 down.
  44. I use this:
  45. Are you making a one day ahead forecast, up or down, of a two day moving average? If so, your null is 75% accuracy, your model is adding nothing. Just guess up if today's close is above MA2 and guess down if below. You'll be right 75% of the time. If the math of why is beyond you, here is a simulation that illustrates the point:

    > require(quantmod)
    > a <-data.frame(rnorm(10001))
    > b <- cbind(a,c(rollmean(a$rnorm,2),0))
    > colnames(b) <- c('Returns','MA2')
    > (sum(sign(b$Returns * b$MA)+1)-1)/20000
    [1] 0.7533
  46. Totally agree.