Approximate Entropy Zones [PhenLabs]Version: PineScript™ v6
Description
This indicator identifies periods of market complexity and randomness by calculating the Approximate Entropy (ApEn) of price action. As the movement of the market becomes complex, it means the current trend is losing steam and a reversal or consolidation is likely near. The indicator plots high-entropy periods as zones on your chart, providing a graphical suggestion to anticipate a potential market direction change. This indicator is designed to help traders identify favorable times to get in or out of a trade by highlighting when the market is in a state of disarray.
Points of Innovation
Advanced Complexity Analysis: Instead of relying on traditional momentum or trend indicators, this tool uses Approximate Entropy to quantify the unpredictability of price movements.
Dynamic Zone Creation: It automatically plots zones on the chart during periods of high entropy, providing a clear and intuitive visual guide.
Customizable Sensitivity: Users can fine-tune the ‘Entropy Threshold’ to adjust how frequently zones appear, allowing for calibration to different assets and timeframes.
Time-Based Zone Expiration: Zones can be set to expire after a specific time, keeping the chart clean and relevant.
Built-in Zone Size Filter: Excludes zones that form on excessively large candles, filtering out noise from extreme volatility events.
On-Chart Calibration Guide: A persistent note on the chart provides simple instructions for adjusting the entropy threshold, making it easy for users to optimize the indicator’s performance.
Core Components
Approximate Entropy (ApEn) Calculation: The core of the indicator, which measures the complexity or randomness of the price data.
Zone Plotting: Creates visual boxes on the chart when the calculated ApEn value exceeds a user-defined threshold.
Dynamic Zone Management: Manages the lifecycle of the zones, from creation to expiration, ensuring the chart remains uncluttered.
Customizable Settings: A comprehensive set of inputs that allow users to control the indicator’s sensitivity, appearance, and time-based behavior.
Key Features
Identifies Potential Reversals: The high-entropy zones can signal that a trend is nearing its end, giving traders an early warning.
Works on Any Timeframe: The indicator can be applied to any chart timeframe, from minutes to days.
Customizable Appearance: Users can change the color and transparency of the zones to match their chart’s theme.
Informative Labels: Each zone can display the calculated entropy value and the direction of the candle on which it formed.
Visualization
Entropy Zones: Shaded boxes that appear on the chart, highlighting candles with high complexity.
Zone Labels: Text within each zone that displays the ApEn value and a directional arrow (e.g., “0.525 ↑”).
Calibration Note: A small table in the top-right corner of the chart with instructions for adjusting the indicator’s sensitivity.
Usage Guidelines
Entropy Analysis
Source: The price data used for the ApEn calculation. (Default: close)
Lookback Length: The number of bars used in the ApEn calculation. (Default: 20, Range: 10-50)
Embedding Dimension (m): The length of patterns to be compared; a standard value for financial data. (Default: 2)
Tolerance Multiplier (r): Adjusts the tolerance for pattern matching; a larger value makes matching more lenient. (Default: 0.2)
Entropy Threshold: The ApEn value that must be exceeded to plot a zone. Increase this if too many zones appear; decrease it if too few appear. (Default: 0.525)
Time Settings
Analysis Timeframe: How long a zone remains on the chart after it forms. (Default: 1D)
Custom Period (Bars): The zone’s lifespan in bars if “Analysis Timeframe” is set to “Custom”. (Default: 1000)
Zone Settings
Zone Fill Color: The color of the entropy zones. (Default: #21f38a with 80% transparency)
Maximum Zone Size %: Filters out zones on candles that are larger than this percentage of their low price. (Default: 0.5)
Display Options
Show Entropy Label: Toggles the visibility of the text label inside each zone. (Default: true)
Label Text Position: The horizontal alignment of the text label. (Default: Right)
Show Calibration Note: Toggles the visibility of the calibration note in the corner of the chart. (Default: true)
Best Use Cases
Trend Reversal Trading: Identifying when a strong trend is likely to reverse or pause.
Breakout Confirmation: Using the absence of high entropy to confirm the strength of a breakout.
Ranging Market Identification: Periods of high entropy can indicate that a market is transitioning into a sideways or choppy phase.
Limitations
Not a Standalone Signal: This indicator should be used in conjunction with other forms of analysis to confirm trading signals.
Lagging Nature: Like all indicators based on historical data, ApEn is a lagging measure and does not predict future price movements with certainty.
Calibration Required: The effectiveness of the indicator is highly dependent on the “Entropy Threshold” setting, which needs to be adjusted for different assets and timeframes.
What Makes This Unique
Quantifies Complexity: It provides a numerical measure of market complexity, offering a different perspective than traditional indicators.
Clear Visual Cues: The zones make it easy to see when the market is in a state of high unpredictability.
User-Friendly Design: With features like the on-chart calibration note, the indicator is designed to be easy to use and optimize.
How It Works
Calculate Standard Deviation: The indicator first calculates the standard deviation of the source price data over a specified lookback period.
Calculate Phi: It then calculates a value called “phi” for two different pattern lengths (embedding dimensions ‘m’ and ‘m+1’). This involves comparing sequences of data points to see how many are “similar” within a certain tolerance (determined by the standard deviation and the ‘r’ multiplier).
Calculate ApEn: The Approximate Entropy is the difference between the two phi values. A higher ApEn value indicates greater irregularity and unpredictability in the data.
Plot Zones: If the calculated ApEn exceeds the user-defined ‘Entropy Threshold’, a zone is plotted on the chart.
Note: The “Entropy Threshold” is the most important setting to adjust. If you see too many zones, increase the threshold. If you see too few, decrease it.
Entropy
Volumetric Entropy IndexVolumetric Entropy Index (VEI)
A volume-based drift analyzer that captures directional pressure, trend agreement, and entropy structure using smoothed volume flows.
---
🧠 What It Does:
• Volume Drift EMAs : Shows buy/sell pressure momentum with adaptive smoothing.
• Dynamic Bands : Bollinger-style volatility wrappers react to expanding/contracting drift.
• Baseline Envelope : Clean structural white rails for mean-reversion zones or trend momentum.
• Background Shading : Highlights when both sides (up & down drift) are in agreement — green for bullish, red for bearish.
• Alerts Included : Drift alignment, crossover events, net drift shifts, and strength spikes.
---
🔍 What Makes It Different:
• Most volume indicators rely on bars, oscillators, or OBV-style accumulation — this doesn’t.
• It compares directional EMAs of raw volume to isolate real-time bias and acceleration.
• It visualizes the twisting tension between volume forces — not just price reaction.
• Designed to show when volatility is building inside the volume mechanics before price follows.
• Modular — every element is optional, so you can run it lean or fully loaded.
---
📊 How to Use It:
• Drift EMAs : Watch for one side consistently dominating — sharp spikes often precede breakouts.
• Bands : When they tighten and start expanding, it often signals directional momentum forming.
• Envelope Lines : Use as high-probability reversal or continuation zones. Bands crossing envelopes = potential thrust.
• Background Color : Green/red backgrounds confirm volume agreement. Can be used as a filter for other signals.
• Net Drift : Optional smoothed oscillator showing the difference between bullish and bearish volume pressure. Crosses above or below zero signal directional bias shifts.
• Drift Strength : Measures pressure buildup — spikes often correlate with large moves.
---
⚙️ Full Customization:
• Turn every layer on/off independently
• Modify all colors, transparencies, and line widths
• Adjust band width multiplier and envelope offset (%)
• Toggle bonus plots like drift strength and net baseline
---
🧪 Experimental Tools:
• Smoothed Net Drift trace
• Drift Strength signal
• Envelope lines and dynamic entropy bands with adjustable math
---
Built for signal refinement. Made to expose directional imbalance before the herd sees it.
Created by @Sherlock_Macgyver
Entropy Chart Analysis [PhenLabs]📊 Entropy Chart analysis -
Version: PineScript™ v6
📌 Description
The Entropy Chart indicator analysis applies Approximate Entropy (ApEn) to identify zones of potential support and resistance on your price chart. It is designed to locate changes in the market’s predictability, with a focus on zones near significant psychological price levels (e.g., multiples of 50). By quantifying entropy, the indicator aims to identify zones where price action might stabilize (potential support) or become randomized (potential resistance).
This tool automates the visualization of these key areas for traders, which may have the effect of revealing reversal levels or consolidation zones that would be hard to discern through traditional means. It also filters the signals by proximity to key levels in an attempt to reduce noise and highlight higher-probability setups. These dynamic zones adapt to changing market conditions by stretching, merging, and expiring based on user-inputted rules.
🚀 Points of Innovation
Combines Approximate Entropy (ApEn) calculation with price action near significant levels.
Filters zone signals based on proximity (in ticks) to predefined significant price levels (multiples of 50).
Dynamically merges overlapping or nearby zones to consolidate signals and reduce chart clutter.
Uses ApEn crossovers relative to its moving average as the core trigger mechanism.
Provides distinct visual coloring for bullish, bearish, and merged (mixed-signal) zones.
Offers comprehensive customization for entropy calculation, zone sensitivity, level filtering, and visual appearance.
🔧 Core Components
Approximate Entropy (ApEn) Calculation : Measures the regularity or randomness of price fluctuations over a specified window. Low ApEn suggests predictability, while high ApEn suggests randomness.
Zone Trigger Logic : Creates potential support zones when ApEn crosses below its average (indicating increasing predictability) and potential resistance zones when it crosses above (indicating increasing randomness).
Significant Level Filter : Validates zone triggers only if they occur within a user-defined tick distance from significant price levels (multiples of 50).
Dynamic Zone Management : Automatically creates, extends, merges nearby zones based on tick distance, and removes the oldest zones to maintain a maximum limit.
Zone Visualization : Draws and updates colored boxes on the chart to represent active support, resistance, or mixed zones.
🔥 Key Features
Entropy-Based S/R Detection : Uses ApEn to identify potential support (low entropy) and resistance (high entropy) areas.
Significant Level Filtering : Enhances signal quality by focusing on entropy changes near key psychological price points.
Automatic Zone Drawing & Merging : Visualizes zones dynamically, merging close signals for clearer interpretation.
Highly Customizable : Allows traders to adjust parameters for ApEn calculation, zone detection thresholds, level filter sensitivity, merging distance, and visual styles.
Integrated Alerts : Provides built-in alert conditions for the formation of new bullish or bearish zones near significant levels.
Clear Visual Output : Uses distinct, customizable colors for buy (support), sell (resistance), and mixed (merged) zones.
🎨 Visualization
Buy Zones : Represented by greenish boxes (default: #26a69a), indicating potential support areas formed during low entropy periods near significant levels.
Sell Zones : Represented by reddish boxes (default: #ef5350), indicating potential resistance areas formed during high entropy periods near significant levels.
Mixed Zones : Represented by bluish/purple boxes (default: #8894ff), formed when a buy zone and a sell zone merge, indicating areas of potential consolidation or conflict.
Dynamic Extension : Active zones are automatically extended to the right with each new bar.
📖 Usage Guidelines
Calculation Parameters
Window Length
Default: 15
Range: 10-100
Description: Lookback period for ApEn calculation. Shorter lengths are more responsive; longer lengths are smoother.
Embedding Dimension (m)
Default: 2
Range: 1-6
Description: Length of patterns compared in ApEn calculation. Higher values detect more complex patterns but require more data.
Tolerance (r)
Default: 0.5
Range: 0.1-1.0 (step 0.1)
Description: Sensitivity factor for pattern matching (as a multiple of standard deviation). Lower values require closer matches (more sensitive).
Zone Settings
Zone Lookback
Default: 5
Range: 5-50
Description: Lookback period for the moving average of ApEn used in threshold calculations.
Zone Threshold
Default: 0.5
Range: 0.5-3.0
Description: Multiplier for the ApEn average to set crossover trigger levels. Higher values require larger ApEn deviations to create zones.
Maximum Zones
Default: 5
Range: 1-10
Description: Maximum number of active zones displayed. The oldest zones are removed first when the limit is reached.
Zone Merge Distance (Ticks)
Default: 5
Range: 1-50
Description: Maximum distance in ticks for two separate zones to be merged into one.
Level Filter Settings
Tick Size
Default: 0.25
Description: The minimum price increment for the asset. Must be set correctly for the specific instrument to ensure accurate level filtering.
Max Ticks Distance from Levels
Default: 40
Description: Maximum allowed distance (in ticks) from a significant level (multiple of 50) for a zone trigger to be valid.
Visual Settings
Buy Zone Color : Default: color.new(#26a69a, 83). Sets the fill color for support zones.
Sell Zone Color : Default: color.new(#ef5350, 83). Sets the fill color for resistance zones.
Mixed Zone Color : Default: color.new(#8894ff, 83). Sets the fill color for merged zones.
Buy Border Color : Default: #26a69a. Sets the border color for support zones.
Sell Border Color : Default: #ef5350. Sets the border color for resistance zones.
Mixed Border Color : Default: color.new(#a288ff, 50). Sets the border color for mixed zones.
Border Width : Default: 1, Range: 1-3. Sets the thickness of zone borders.
✅ Best Use Cases
Identifying potential support/resistance near significant psychological price levels (e.g., $50, $100 increments).
Detecting potential market turning points or consolidation zones based on shifts in price predictability.
Filtering entries or exits by confirming signals occurring near significant levels identified by the indicator.
Adding context to other technical analysis approaches by highlighting entropy-derived zones.
⚠️ Limitations
Parameter Dependency : Indicator performance is sensitive to parameter settings ( Window Length , Tolerance , Zone Threshold , Max Ticks Distance ), which may need optimization for different assets and timeframes.
Volatility Sensitivity : High market volatility or erratic price action can affect ApEn calculations and potentially lead to less reliable zone signals.
Fixed Level Filter : The significant level filter is based on multiples of 50. While common, this may not capture all relevant levels for every asset or market condition. Accurate Tick Size input is essential.
Not Standalone : Should be used in conjunction with other analysis methods (price action, volume, other indicators) for confirmation, not as a sole basis for trading decisions.
💡 What Makes This Unique
Entropy + Level Context : Uniquely combines ApEn analysis with a specific filter for proximity to significant price levels (multiples of 50), adding locational context to entropy signals.
Intelligent Zone Merging : Automatically consolidates nearby buy/sell zones based on tick distance, simplifying visual analysis and highlighting stronger confluence areas.
Targeted Signal Generation : Focuses alerts and zone creation on specific market conditions (entropy shifts near key levels).
🔬 How It Works
Calculate Entropy : The script computes the Approximate Entropy (ApEn) of the closing prices over the defined Window Length to quantify price predictability.
Check Triggers : It monitors ApEn relative to its moving average. A crossunder below a calculated threshold (avg_apen / zone_threshold) indicates potential support; a crossover above (avg_apen * zone_threshold) indicates potential resistance.
Filter by Level : A potential zone trigger is confirmed only if the low (for support) or high (for resistance) of the trigger bar is within the Max Ticks Distance of a significant price level (multiple of 50).
Manage & Draw Zones : If a trigger is confirmed, a new zone box is created. The script checks for overlaps with existing zones within the Zone Merge Distance and merges them if necessary. Zones are extended forward, and the oldest are removed to respect the Maximum Zones limit. Active zones are drawn and updated on the chart.
💡 Note:
Crucially, set the Tick Size parameter correctly for your specific trading instrument in the “Level Filter Settings”. Incorrect Tick Size will make the significant level filter inaccurate.
Experiment with parameters, especially Window Length , Tolerance (r) , Zone Threshold , and Max Ticks Distance , to tailor the indicator’s sensitivity to your preferred asset and timeframe.
Always use this indicator as part of a comprehensive trading plan, incorporating risk management and seeking confirmation from other analysis techniques.
Entropy-Based Adaptive SuperTrendOverview:
Introducing the Entropy-Based Adaptive SuperTrend – a groundbreaking trading indicator designed to adapt dynamically to market conditions using market entropy. This enhanced SuperTrend indicator adjusts its sensitivity according to the level of chaos (or order) in price movements, providing more stable signals during volatile periods and more responsive signals when the market becomes orderly.
Key Features:
Entropy-Adaptive Mechanism: By incorporating an entropy measure, this indicator estimates the degree of unpredictability in the market. During high entropy periods (more chaotic), signals are made less sensitive, while during low entropy periods, the indicator reacts more quickly to price changes.
Adaptive ATR Multiplier: Unlike traditional SuperTrend indicators that use a fixed ATR multiplier, this version calculates a dynamic ATR multiplier based on the entropy score, ensuring more flexibility and adaptability in setting stop levels.
Visual Clarity: The indicator is overlayed on the price chart with customizable visual elements. The bullish and bearish trends are color-coded for ease of use, and optional entry signals ("L" for long and "S" for short) are plotted to clearly mark potential entry opportunities.
Alerts for Key Opportunities : Never miss an opportunity with built-in alerts for buy and sell signals. Traders can easily configure these alerts to be notified instantly when market conditions trigger a new trend.
How It Works:
Entropy Calculation: The entropy of the price data is calculated over a user-defined period, giving an indication of the degree of randomness in the price movements. The result is then smoothed to reduce noise and create a meaningful trend indication.
Dynamic ATR Adjustment: The ATR (Average True Range) multiplier, which controls the distance of the trailing stop, is adjusted based on the entropy score. This allows the SuperTrend line to widen in chaotic times, reducing false signals, while tightening in orderly times, allowing quicker trend captures.
Parameters Explained:
Entropy Settings: Control the sensitivity of entropy calculations, including the look-back period, number of bins for price distribution, and smoothing length.
Adaptive Settings: Adjust how the indicator adapts to different levels of entropy, including the adaptation period and the filtering weight.
SuperTrend Settings : Customize the ATR period and the dynamic multiplier range to fine-tune the trailing stops for your trading style.
Visual Settings: Choose your preferred colors for bullish and bearish trends, and decide if you want the entry labels displayed directly on the chart.
Use Cases:
Swing Traders can utilize the indicator to capture trend reversals while filtering out the noise during high entropy periods.
Intraday Traders can adapt the settings for shorter time frames to benefit from dynamic adjustments that reduce overtrading and false signals.
Risk Management: The entropy-based adaptive feature provides an edge in risk management by reducing sensitivity during times of increased chaos, thus helping to limit unnecessary trades.
How to Use It:
Look for entry labels ("L" for long, "S" for short) to identify potential opportunities.
Use the color-coded trendlines to determine market bias: greenish hue for bullish trends, reddish hue for bearish trends.
Customize the input settings to align with your preferred market timeframe and risk profile.
Alerts & Notifications:
Built-in alerts notify you of significant trend changes. Simply enable these alerts to receive updates when a new long or short opportunity is detected, helping you stay ahead without needing to watch the screen constantly.
Customization Tips:
Longer Timeframes : Increase the Entropy Period to better capture macro trends in high timeframe charts.
Higher Volatility Markets: Increase the ATR Max Multiplier to ensure stops are set farther away during high entropy.
Lower Volatility Markets: Use a lower ATR Base Multiplier and tighter entropy thresholds to capture rapid price movements.
Final Thoughts:
The Entropy-Based Adaptive SuperTrend indicator merges traditional trend-following logic with an adaptive mechanism driven by market entropy, aiming to address the challenges of whipsaws and false signals common in conventional SuperTrend setups. This indicator offers an intelligent and flexible way to track market trends, suitable for both beginners and experienced trade
Volume EntropyKey Components :
📍 Natural Logarithm Function : The script starts by employing a custom Taylor Series approximation for natural logarithms. This function serves to calculate entropy with higher accuracy than conventional methods, laying the foundation for further calculations.
📍 Entropy Calculation : The core of this indicator is its entropy function. It employs the custom natural log function to compute the randomness of the trading volume over a user-defined micro-pattern length, offering insights into market stability or volatility.
📍 Micro-Pattern Length : This is the parameter that sets the stage for the level of detail in the entropy calculation. Users can adjust it to suit different time frames or market conditions, thus customizing the indicator's sensitivity to randomness in trading volume.
Adaptive Two-Pole Super Smoother Entropy MACD [Loxx]Adaptive Two-Pole Super Smoother Entropy (Math) MACD is an Ehlers Two-Pole Super Smoother that is transformed into an MACD oscillator using entropy mathematics. Signals are generated using Discontinued Signal Lines.
What is Ehlers; Two-Pole Super Smoother?
From "Cycle Analytics for Traders Advanced Technical Trading Concepts" by John F. Ehlers
A SuperSmoother filter is used anytime a moving average of any type would otherwise be used, with the result that the SuperSmoother filter output would have substantially less lag for an equivalent amount of smoothing produced by the moving average. For example, a five-bar SMA has a cutoff period of approximately 10 bars and has two bars of lag. A SuperSmoother filter with a cutoff period of 10 bars has a lag a half bar larger than the two-pole modified Butterworth filter.Therefore, such a SuperSmoother filter has a maximum lag of approximately 1.5 bars and even less lag into the attenuation band of the filter. The differential in lag between moving average and SuperSmoother filter outputs becomes even larger when the cutoff periods are larger.
Market data contain noise, and removal of noise is the reason for using smoothing filters. In fact, market data contain several kinds of noise. I’ll group one kind of noise as systemic, caused by the random events of trades being exercised. A second kind of noise is aliasing noise, caused by the use of sampled data. Aliasing noise is the dominant term in the data for shorter cycle periods.
It is easy to think of market data as being a continuous waveform, but it is not. Using the closing price as representative for that bar constitutes one sample point. It doesn’t matter if you are using an average of the high and low instead of the close, you are still getting one sample per bar. Since sampled data is being used, there are some dSP aspects that must be considered. For example, the shortest analysis period that is possible (without aliasing)2 is a two-bar cycle.This is called the Nyquist frequency, 0.5 cycles per sample.A perfect two-bar sine wave cycle sampled at the peaks becomes a square wave due to sampling. However, sampling at the cycle peaks can- not be guaranteed, and the interference between the sampling frequency and the data frequency creates the aliasing noise.The noise is reduced as the data period is longer. For example, a four-bar cycle means there are four samples per cycle. Because there are more samples, the sampled data are a better replica of the sine wave component. The replica is better yet for an eight-bar data component.The improved fidelity of the sampled data means the aliasing noise is reduced at longer and longer cycle periods.The rate of reduction is 6 dB per octave. My experience is that the systemic noise rarely is more than 10 dB below the level of cyclic information, so that we create two conditions for effective smoothing of aliasing noise:
1. It is difficult to use cycle periods shorter that two octaves below the Nyquist frequency.That is, an eight-bar cycle component has a quantization noise level 12 dB below the noise level at the Nyquist frequency. longer cycle components therefore have a systemic noise level that exceeds the aliasing noise level.
2. A smoothing filter should have sufficient selectivity to reduce aliasing noise below the systemic noise level. Since aliasing noise increases at the rate of 6 dB per octave above a selected filter cutoff frequency and since the SuperSmoother attenuation rate is 12 dB per octave, the Super- Smoother filter is an effective tool to virtually eliminate aliasing noise in the output signal.
What are DSL Discontinued Signal Line?
A lot of indicators are using signal lines in order to determine the trend (or some desired state of the indicator) easier. The idea of the signal line is easy : comparing the value to it's smoothed (slightly lagging) state, the idea of current momentum/state is made.
Discontinued signal line is inheriting that simple signal line idea and it is extending it : instead of having one signal line, more lines depending on the current value of the indicator.
"Signal" line is calculated the following way :
When a certain level is crossed into the desired direction, the EMA of that value is calculated for the desired signal line
When that level is crossed into the opposite direction, the previous "signal" line value is simply "inherited" and it becomes a kind of a level
This way it becomes a combination of signal lines and levels that are trying to combine both the good from both methods.
In simple terms, DSL uses the concept of a signal line and betters it by inheriting the previous signal line's value & makes it a level.
Included:
Bar coloring
Alerts
Signals
Loxx's Expanded Source Types
Basic Shannon Entropy & DerivativesThis script performs the basic Shannon entropy on the closing value of the stock. Additionally, it performs the trailing first and second derivatives of the Shannon Entropy, giving you more information about its movement.
You can change the "Source" to be whatever value you like.
ProbabilityLibrary "Probability"
erf(value) Complementary error function
Parameters:
value : float, value to test.
Returns: float
ierf_mcgiles(value) Computes the inverse error function using the Mc Giles method, sacrifices accuracy for speed.
Parameters:
value : float, -1.0 >= _value >= 1.0 range, value to test.
Returns: float
ierf_double(value) computes the inverse error function using the Newton method with double refinement.
Parameters:
value : float, -1. > _value > 1. range, _value to test.
Returns: float
ierf(value) computes the inverse error function using the Newton method.
Parameters:
value : float, -1. > _value > 1. range, _value to test.
Returns: float
complement(probability) probability that the event will not occur.
Parameters:
probability : float, 0 >=_p >= 1, probability of event.
Returns: float
entropy_gini_impurity_single(probability) Gini Inbalance or Gini index for a given probability.
Parameters:
probability : float, 0>=x>=1, probability of event.
Returns: float
entropy_gini_impurity(events) Gini Inbalance or Gini index for a series of events.
Parameters:
events : float , 0>=x>=1, array with event probability's.
Returns: float
entropy_shannon_single(probability) Entropy information value of the probability of a single event.
Parameters:
probability : float, 0>=x>=1, probability value.
Returns: float, value as bits of information.
entropy_shannon(events) Entropy information value of a distribution of events.
Parameters:
events : float , 0>=x>=1, array with probability's.
Returns: float
inequality_chebyshev(n_stdeviations) Calculates Chebyshev Inequality.
Parameters:
n_stdeviations : float, positive over or equal to 1.0
Returns: float
inequality_chebyshev_distribution(mean, std) Calculates Chebyshev Inequality.
Parameters:
mean : float, mean of a distribution
std : float, standard deviation of a distribution
Returns: float
inequality_chebyshev_sample(data_sample) Calculates Chebyshev Inequality for a array of values.
Parameters:
data_sample : float , array of numbers.
Returns: float
intersection_of_independent_events(events) Probability that all arguments will happen when neither outcome
is affected by the other (accepts 1 or more arguments)
Parameters:
events : float , 0 >= _p >= 1, list of event probabilities.
Returns: float
union_of_independent_events(events) Probability that either one of the arguments will happen when neither outcome
is affected by the other (accepts 1 or more arguments)
Parameters:
events : float , 0 >= _p >= 1, list of event probabilities.
Returns: float
mass_function(sample, n_bins) Probabilities for each bin in the range of sample.
Parameters:
sample : float , samples to pool probabilities.
n_bins : int, number of bins to split the range
@return float
cumulative_distribution_function(mean, stdev, value) Use the CDF to determine the probability that a random observation
that is taken from the population will be less than or equal to a certain value.
Or returns the area of probability for a known value in a normal distribution.
Parameters:
mean : float, samples to pool probabilities.
stdev : float, number of bins to split the range
value : float, limit at which to stop.
Returns: float
transition_matrix(distribution) Transition matrix for the suplied distribution.
Parameters:
distribution : float , array with probability distribution. ex:.
Returns: float
diffusion_matrix(transition_matrix, dimension, target_step) Probability of reaching target_state at target_step after starting from start_state
Parameters:
transition_matrix : float , "pseudo2d" probability transition matrix.
dimension : int, size of the matrix dimension.
target_step : number of steps to find probability.
Returns: float
state_at_time(transition_matrix, dimension, start_state, target_state, target_step) Probability of reaching target_state at target_step after starting from start_state
Parameters:
transition_matrix : float , "pseudo2d" probability transition matrix.
dimension : int, size of the matrix dimension.
start_state : state at which to start.
target_state : state to find probability.
target_step : number of steps to find probability.
Function - Entropy Gini Indexfunction to retrieve Gini Impurity / Gini Index.
reference:
- victorzhou.com
- en.wikipedia.org
Function - Shannon Entropyfunctions for shannon's entropy
reference:
- en.wiktionary.org
- machinelearningmastery.com
Bernoulli Process - Binary Entropy FunctionThis 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.
BTC-Strategy
Stock-Strategy (#loveyouNFLX)
FOREX - (for everyone hopped up on 40X leverage)
Shannon Entropy V2Version 2, Shannon Entropy
This update includes both a deadband (Plotting Optional) and PercentRank Indicating.
Here is a unique way of looking at your price & volume information. Utilize the calculated value of "Shannon Entropy". This is a measure of "surprise" in the data, the larger the move or deviation from the most probable value, the higher the new information gain. What I think is so interesting about this value, is the smoothness that it displays the information without using moving averages. There is a lot of meat on this bone to be incorporated in other scripts.
H = -sum(prob(i) * log_base2(prob(i)))
I've included the typical way that I've been experimenting with this, which is the difference between the volume information and price information. I've included the option to turn either price or volume data off to see the Shannon Entropy value of either value. There are a ton of complex scripts out there trying to do what this calculation is doing in 3 lines. As with anything, there are no free lunches, so you can nicely see as you lower the lengths you'll quickly learn where your nyquist frequencies are at, you'll want to work at about double the noisy value at a minimum.
Using this script is based on "Information" and it highlights places that need your attention, either because there is a large amount of change (new information) or there is minimal new information (complacency, institutional movements). Buy and Sell points are up to the user, this is just showing you where you need to provide some attention.
You can use it with or without volume data, you can also isolate either the source and volume. Below are some options for printing:
It can also with BTC (better with volume data)
Big shoutout to yatrader2 for great Shannon Entropy discussions.
And to Picte/ for his interesting inspiration STOCH-HVP-picte
Shannon EntropyHere is a unique way of looking at your price & volume information. Utilize the calculated value of "Shannon Entropy". This is a measure of "surprise" in the data, the larger the move or deviation from the most probable value, the higher the new information gain. What I think is so interesting about this value, is the smoothness that it displays the information without using moving averages. There is a lot of meat on this bone to be incorporated in other scripts.
H = -sum(prob(i) * log_base2(prob(i)))
I've included the typical way that I've been experimenting with this, which is the difference between the volume information and price information. I've included the option to turn either price or volume data off to see the Shannon Entropy value of either value. There are a ton of complex scripts out there trying to do what this calculation is doing in 3 lines.
As with anything, there are no free lunches, so you can nicely see as you lower the lengths you'll quickly learn where your nyquist frequencies are at, you'll want to work at about double the noisy value at a minimum.