Bernoulli Process - Binary Entropy Function

kocurekc Updated   
This indicator is the Bernoulli Process or Wikipedia - Binary Entropy Function. Within Information Theory, Entropy is the measure of available information, here we use a binary variable 0 or 1 (P) and (1-P) (Bernoulli Function/Distribution), and combined with the Shannon Entropy measurement. As you can see below, it produces some wonderful charts and signals, using price, volume , or both summed together. The chart below shows you a couple of options and some critical details on the indicator. The best part about this is the simplicity, all of this information in a couple of lines of code.

Using the indicator:
The longer the Entropy measurement the more information you are capturing, so the analogy is, the shorter the signal, the less information you have available to utilize. You'll run into your Nyquist frequencies below a length of 5. I've found values between 9 and 22 work well to gather enough measurements. You also have an averaging summation that measures the weight or importance of the information over the summation period. This is also used for highlighting when you have an information signal above the 5% level (2 sigma) and then can be adjusted using the Percent Rank Variable. Finally, you can plot the individual signals (Price or Volume ) to get another set of measurements to utilize. As can be seen in the chart below, the volume moves before price (but hopefully you already knew that)

At its core, this is taking the Binary Entropy measurement (using a Bernoulli distribution) for price and volume . I've subtracted the volume from the price so that you can use it like a MACD , also for shorter time frames (7, 9, 11) you can get divergences on the histogram. These divergences are primarily due to the weekly nature of the markets (5 days, 10 days is two weeks,...so 9 is measuring the last day of the past two weeks...so 11 is measuring the current day and the past two weeks).

Here are a couple of other examples, assuming you just love BTC , Stocks, or FOREX. I fashioned up a strategy to show the potential of the indicator.

Stock-Strategy (#loveyouNFLX)

FOREX - (for everyone hopped up on 40X leverage)
Release Notes: Added a shoutout to @Picte for his inspiring idea
Release Notes: Added Alerts for Up/Down Triangle Start
Release Notes: Version 2.0, Thanks for all the comments and love.
  • Added a broad array of Price/Volume averaging options, kept default method the same
  • Added an option to calculate the Original Binary Entropy equation. Added a negative
  • Added items to functions. Feel free to grab them.
  • Added an extra highlighting option, user request.

The default option will give you the same behavior as previous versions. Several new features were added based on user comments. We've included an adjusted Binary Entropy equation (the original equation), noted as the "Purest Option". Give similar highlights based on price and volume, but is less consistent on the direction. As with the previous version, when it is highlighed, it demands your attention.

Same functionality, where you can independently isolate price and volume. With the added purest option, the individual components will always be negative (information entropy, Shannon's basically). The more negative, the more new information is generated from the signal.

We also combined the averaging options from my CDF scripts. Finally, because everyone loves choices, we’ve included the ability to measure the probability of:
  • the current value (Price and volume )
  • change
  • percent change
  • momentum (change over a period of time)
  • Acceleration (change of the change)
  • contribution (amount of the current bar over the sum)
  • volatility (natural log ratio of today and the previous bar)

Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in a publication is governed by House Rules. You can favorite it to use it on a chart.


The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.

Want to use this script on a chart?