Bayesian filters for forex trading

I’ve been asked multiple times how exactly bayesian filters work. In layman terms, consider the following situation:

A month has 30 days. We know that, on average, 10 days / month are rainy days, so the probability of rain is 10 / 30  = 0.3 (30%). We also know that 15 days per month are cloudy days, so the probability of having a cloudy day is 15 / 30 = 0.5 (50%). It is obvious that every time we have a rainy day, that day is also a cloudy day because rain comes from the clouds, so the probability of clouds given rain is 100%.

The question is: Will it rain today given the fact that today we have a cloudy day?

P(rain) = probability of rain
P(clouds) = probability of clouds
P(clouds|rain) = probability of clouds given rain

Bayes formula of computing the probability of having a rainy day today considering the fact that today is a cloudy day is:

P(rain|clouds) = P(rain) * P(clouds|rain) / P(clouds)

If we do the math, the probability of raining today is 0.6 which means 60%.

The same thing can be applied in forex.

We know that the chance of winning or losing a trade is 50%. We also know the probability of having a day with a higher volatility than usual. Given the past experience and our trading strategy (volatility breakout), we know the probability of winning a trade during high volatility conditions.

So, the probability of winning a trade considering the fact we have a high volatility day is:

P(winning) = P(volatility) * P(volatility|winning) / P(volatility).

Zamolxis uses a few neural networks to properly compute the probabilities we need: the probability of winning/losing a trade within our volatility breakout strategy when we don’t know whether we have a volatile day or not, the probability of having a high volatile day and the probability of winning a trade during a high volatile day.

The math behind it is much more complicated than it looks at the first glance, but this article gives you all info you need to know about how Zamolxis works.