Quantify [Trading Model] | FractalystNote: In this description, "TM" refers to Trading Model (not trademark) and "EM" refers to Entry Model
What’s the indicator’s purpose and functionality?
You know how to identify market bias but always struggle with figuring out the best exit method, or even hesitating to take your trades?
I've been there. That's why I built this solution—once and for all—to help traders who know the market bias but need a systematic and quantitative approach for their entries and trade management.
A model that shows you real-time market probabilities and insights, so you can focus on execution with confidence—not doubt or FOMO.
How does this Quantify differentiate from Quantify ?
Have you managed to code or even found an indicator that identifies the market bias for you, so you don’t have to manually spend time analyzing the market and trend?
Then that’s exactly why you might need the Quantify Trading Model.
With the Trading Model (TM) version, the script automatically uses your given bias identification method to determine the trend (bull vs bear and neutral), detect the bias, and provide instant insight into the trades you could’ve taken.
To avoid complications from consecutive signals, it uses a kNN machine learning algorithm that processes market structure and probabilities to predict the best future patterns.
(You don’t have to deal with any complexity—it’s all taken care of for you.)
Quantify TM uses the k-Nearest Neighbors (kNN) machine learning algorithm to learn from historical market patterns and adapt to changing market structures. This means it can recognize similar market conditions from the past and apply those lessons to current trading decisions.
On the other hand, Quantify EM requires you to manually select your directional bias. It then focuses solely on generating entry signals based on that pre-determined bias.
While the entry model version (EM) uses your manual bias selection to determine the trend, it then provides insights into trades you could’ve taken and should be taking.
Trading Model (TM)
- Uses `input.source()` to incorporate your personal methodology for identifying market bias
- Automates everything—from bias detection to entry and exit decisions
- Adapts to market bias changes through kNN machine learning optimization
- Reduces human intervention in trading decisions, limiting emotional interference
Entry Model (EM)
- Focuses specifically on optimizing entry points within your pre-selected directional bias
- Requires manual input for determining market bias
- Provides entry signals without automating alerts or bias rules
Can the indicator be applied to any market approach/trading strategy?
Yes, if you have clear rules for identifying the market bias, then you can code your bias detection and then use the input.source() user input to retrieve the direction from your own indicator, then the Quantify uses machine-learning identify the best setups for you.
Here's an example:
//@version=6
indicator('Moving Averages Bias', overlay = true)
// Input lengths for moving averages
ma10_length = input.int(10, title = 'MA 10 Length')
ma20_length = input.int(20, title = 'MA 20 Length')
ma50_length = input.int(50, title = 'MA 50 Length')
// Calculate moving averages
ma10 = ta.sma(close, ma10_length)
ma20 = ta.sma(close, ma20_length)
ma50 = ta.sma(close, ma50_length)
// Identify bias
var bias = 0
if close > ma10 and close > ma20 and close > ma50 and ma10 > ma20 and ma20 > ma50
bias := 1 // Bullish
bias
else if close < ma10 and close < ma20 and close < ma50 and ma10 < ma20 and ma20 < ma50
bias := -1 // Bearish
bias
else
bias := 0 // Neutral
bias
// Plot the bias
plot(bias, title = 'Identified Bias', color = color.blue,display = display.none)
Once you've created your custom bias indicator, you can integrate it with Quantify :
- Add your bias indicator to your chart
- Open the Quantify settings
- Set the Bias option to "Auto"
- Select your custom indicator as the bias source
The machine learning algorithms will then analyze historical price action and identify optimal setups based on your defined bias parameters. Performance statistics are displayed in summary tables, allowing you to evaluate effectiveness across different timeframes.
Can the indicator be used for different timeframes or trading styles?
Yes, regardless of the timeframe you’d like to take your entries, the indicator adapts to your trading style.
Whether you’re a swing trader, scalper, or even a position trader, the algorithm dynamically evaluates market conditions across your chosen timeframe.
How Quantify Helps You Trade Profitably?
The Quantify Trading Model offers several powerful features that can significantly improve your trading profitability when used correctly:
Real-Time Edge Assessment
It displays real-time probability of price moving in your favor versus hitting your stoploss
This gives you immediate insight into risk/reward dynamics before entering trades
You can make more informed decisions by knowing the statistical likelihood of success
Historical Edge Validation
Instantly shows whether your trading approach has demonstrated an edge in historical data
Prevents you from trading setups that historically haven't performed well
Gives confidence when entering trades that have proven statistical advantages
Optimized Position Sizing
Analyzes each setup's success rate to determine the adjusted Kelly criterion formula
Customizes position sizing based on your selected maximum drawdown tolerance
Helps prevent account-destroying losses while maximizing growth potential
Advanced Exit Management
Utilizes market structure-based trailing stop-loss mechanisms
Maximizes the average risk-reward ratio profit per winning trade
Helps capture larger moves while protecting gains during market reversals
Emotional Discipline Enforcement
Eliminates emotional bias by adhering to your pre-defined rules for market direction
Prevents impulsive decisions by providing objective entry and exit signals
Creates psychological distance between your emotions and trading decisions
Overtrading Prevention
Highlights only setups that demonstrate positive expectancy
Reduces frequency of low-probability trades
Conserves capital for higher-quality opportunities
Systematic Approach Benefits
By combining machine learning algorithms with your personal bias identification methods, Quantify helps transform discretionary trading approaches into more systematic, probability-based strategies.
What Entry Models are used in Quantify Trading Model version?
The Quantify Trading Model utilizes two primary entry models to identify high-probability trade setups:
Breakout Entry Model
- Identifies potential trade entries when price breaks through significant swing highs and swing lows
- Captures momentum as price moves beyond established trading ranges
- Particularly effective in trending markets when combined with the appropriate bias detection
- Optimized by machine learning to filter false breakouts based on historical performance
Fractals Entry Model
- Utilizes fractal patterns to identify potential reversal or continuation points
- Also uses swing levels to determine optimal entry locations
- Based on the concept that market structure repeats across different timeframes
- Identifies local highs and lows that form natural entry points
- Enhanced by machine learning to recognize the most profitable fractal formations
- These entry models work in conjunction with your custom bias indicator to ensure trades are taken in the direction of the overall market trend. The machine learning component analyzes historical performance of these entry types across different market conditions to optimize entry timing and signal quality.
How Does This Indicator Identify Market Structure?
1. Swing Detection
• The indicator identifies key swing points on the chart. These are local highs or lows where the price reverses direction, forming the foundation of market structure.
2. Structural Break Validation
• A structural break is flagged when a candle closes above a previous swing high (bullish) or below a previous swing low (bearish).
• Break Confirmation Process:
To confirm the break, the indicator applies the following rules:
• Valid Swing Preceding the Break: There must be at least one valid swing point before the break.
3. Numeric Labeling
• Each confirmed structural break is assigned a unique numeric ID starting from 1.
• This helps traders track breaks sequentially and analyze how the market structure evolves over time.
4. Liquidity and Invalidation Zones
• For every confirmed structural break, the indicator highlights two critical zones:
1. Liquidity Zone (LIQ): Represents the structural liquidity level.
2. Invalidation Zone (INV): Acts as Invalidation point if the structure fails to hold.
How does the trailing stop-loss work? what are the underlying calculations?
A trailing stoploss is a dynamic risk management tool that moves with the price as the market trend continues in the trader’s favor. Unlike a fixed take profit, which stays at a set level, the trailing stoploss automatically adjusts itself as the market moves, locking in profits as the price advances.
In Quantify, the trailing stoploss is enhanced by incorporating market structure liquidity levels (explain above). This ensures that the stoploss adjusts intelligently based on key price levels, allowing the trader to stay in the trade as long as the trend remains intact, while also protecting profits if the market reverses.
What is the Kelly Criterion, and how does it work in Quantify?
The Kelly Criterion is a mathematical formula used to determine the optimal position size for each trade, maximizing long-term growth while minimizing the risk of large drawdowns. It calculates the percentage of your portfolio to risk on a trade based on the probability of winning and the expected payoff.
Quantify integrates this with user-defined inputs to dynamically calculate the most effective position size in percentage, aligning with the trader’s risk tolerance and desired exposure.
How does Quantify use the Kelly Criterion in practice?
Quantify uses the Kelly Criterion to optimize position sizing based on the following factors:
1. Confidence Level: The model assesses the confidence level in the trade setup based on historical data and sample size. A higher confidence level increases the suggested position size because the trade has a higher probability of success.
2. Max Allowed Drawdown (User-Defined): Traders can set their preferred maximum allowed drawdown, which dictates how much loss is acceptable before reducing position size or stopping trading. Quantify uses this input to ensure that risk exposure aligns with the trader’s risk tolerance.
3. Probabilities: Quantify calculates the probabilities of success for each trade setup. The higher the probability of a successful trade (based on historical price action and liquidity levels), the larger the position size suggested by the Kelly Criterion.
How can I get started to use the indicator?
1. Set Your Market Bias
• Choose Auto.
• Select the source you want Quantify to use as for bias identification method (explained above)
2. Choose Your Entry Timeframes
• Specify the timeframes you want to focus on for trade entries.
• The indicator will dynamically analyze these timeframes to provide optimal setups.
3. Choose Your Entry Model and BE/TP Levels
• Choose a model that suits your personality
• Choose a level where you'd like the script to take profit or move stop-loss to BE
4. Set and activate the alerts
What tables are used in the Quantify?
• Quarterly
• Monthly
• Weekly
Terms and Conditions | Disclaimer
Our charting tools are provided for informational and educational purposes only and should not be construed as financial, investment, or trading advice. They are not intended to forecast market movements or offer specific recommendations. Users should understand that past performance does not guarantee future results and should not base financial decisions solely on historical data.
Built-in components, features, and functionalities of our charting tools are the intellectual property of @Fractalyst Unauthorized use, reproduction, or distribution of these proprietary elements is prohibited.
- By continuing to use our charting tools, the user acknowledges and accepts the Terms and Conditions outlined in this legal disclaimer and agrees to respect our intellectual property rights and comply with all applicable laws and regulations.
Models
Model Indicator |ASE|The purpose of this indicator is to allow the user to build their own model. Each feature works cohesively together and depending on the filters you enable, the model gives less and more specific entries. This benefits the trader because they have complete control over the kinds of trades they want to take, while maintaining its automatic form.
We want to be as customizable as possible while still meeting our users’ needs. We started this indicator to propel us into our ultimate project, the ASE Algo.
Features:
SMC Display
Current Structure:
Liquidity Levels:
Daily Premium Discount Array
SMT Divergence
Displacement Candles:
Entry Factors
FVG
Continuation FVGs
MTF FVGs
Order Blocks
MTF Order Blocks
Confluence Filters
MS Reversal
Liquidity Level Raid
Inducement
Daily Prem/Disc Array
Target Factors
Liquidity Level Targets
Current Structure Targets
Trade Management
Trade Overlay
Risk:Reward Target
Benefits & Examples:
In the image below the indicator signaled multiple entries based on two simple confluence filters, a MS reversal (CHoCH/MSS) and a Liquidity Raid. Going from left to right we can see a short entry at the highs with a supporting Order Block. Liquidity levels are taken before we see a double IDM right below the respected OB that leads to the next signaled entry. In the middle of the chart we see a long entry that leads right into a short entry showing the effectiveness of such a simple model.
In this supporting image we are showcasing the first implementation of the Trade Overlay feature. This feature displays the Entry and Stop Loss to make it more visible and adds a risk to reward target. Additionally displayed is the SMC Toolkit indicator showing us additional confirmation with our signaled entries playing right out of a higher timeframe FVG.
An additional entry feature is the MTF zone. Setups can form on all timeframes and subjecting yourself to only one may lead you to miss out on some perfect setups or a larger move. In the image below we are on the 1 minute timeframe. We can see the Initial Reversal Entry which played out beautifully and filled a higher timeframe SFVG. With the MTF zone we can see a 3 minute and 5 minute Zone which produces the rest of the trend reaching another higher timeframe SFVG after filling the previous one. Once again showing the benefit of the Toolkit indicator but the plotted entries from such a simple model.
In addition to the model indicators filtered out entry zone, we can use additional confluences to confirm these entries. In the image below we can see a short entry printed after a move out of the Std. Dev. vwap wave which shows over extension. Taking the entry we can have a tight stop loss at the vwap wave or the recent high where we have a liquidity level, targeting a lower liquidity level or higher timeframe FVG.
For this example we are only filtering based on MS Reversals (CHoCH/MSS) to get our entries. Because of this we need additional confirmation to be confident in taking the plotted entry. In the image below you can see a long signal printed, confirmation being the previous Failed Reversal.
Prime Distance Frame Quant Model for Risk Reward & Pivot PointsIn this script we take all of the prime numbers up to 100 and plot them as olive lines and then consider the distance between two adjacent plots and color code these distances with the fill function. This allows us to find higher and lower prime gaps allowing us to make much more informed decisions on our risk reward for a given trade and the levels where we should consider taking profit.
The Script includes scaling for all assets and is intended to be used for crypto trading.
Seasonality of ReturnsHi!
I want to share a simple script I built to analize the seasonality of Bitcoin and other assets.
So far it just displays the average return of each month, but I might add some more things later on.
The best timeframe to use it is the monthly timeframe it works on all timeframes but you need the full history for the average, and on weekly you will see issues cause weeks dont match months
On the dataview you can see the variance of each month, feel free to edit it at your own like
Mikel
Implied Volatility SuiteThis is an updated, more robust, and open source version of my 2 previous scripts : "Implied Volatility Rank & Model-Free IVR" and "IV Rank & IV Percentile".
This specific script provides you with 4 different types of volatility data: 1)Implied volatility, 2) Implied Volatility Rank, 3)Implied Volatility Percentile, 4)Skew Index.
1) Implied Volatility is the market's forecast of a likely movement, usually 1 standard deviation, in a securities price.
2) Implied Volatility Rank, ranks IV in relation to its high and low over a certain period of time. For example if over the past year IV had a high of 20% and a low of 10% and is currently 15%; the IV rank would be 50%, as 15 is 50% of the way between 10 & 20. IV Rank is mean reverting, meaning when IV Rank is high (green) it is assumed that future volatility will decrease; while if IV rank is low (red) it is assumed that future volatility will increase.
3) Implied Volatility Percentile ranks IV in relation to how many previous IV data points are less than the current value. For example if over the last 5 periods Implied volatility was 10%,12%,13%,14%,20%; and the current implied volatility is 15%, the IV percentile would be 80% as 4 out of the 5 previous IV values are below the current IV of 15%. IV Percentile is mean reverting, meaning when IV Percentile is high (green) it is assumed that future volatility will decrease; while if IV percentile is low (red) it is assumed that future volatility will increase. IV Percentile is more robust than IV Rank because, unlike IV Rank which only looks at the previous highs and lows, IV Percentile looks at all data points over the specified time period.
4)The skew index is an index I made that looks at volatility skew. Volatility Skew compares implied volatility of options with downside strikes versus upside strikes. If downside strikes have higher IV than upside strikes there is negative volatility skew. If upside strikes have higher IV than downside strikes then there is positive volatility skew. Typically, markets have a negative volatility skew, this has been the case since Black Monday in 1987. All negative skew means is that projected option contract prices tend to go down over time regardless of market conditions.
Additionally, this script provides two ways to calculate the 4 data types above: a)Model-Based and b)VixFix.
a) The Model-Based version calculates the four data types based on a model that projects future volatility. The reason that you would use this version is because it is what is most commonly used to calculate IV, IV Rank, IV Percentile, and Skew; and is closest to real world IV values. This version is what is referred to when people normally refer to IV. Additionally, the model version of IV, Rank, Percentile, and Skew are directionless.
b) The VixFix version calculates the four data types based on the VixFix calculation. The reason that you would use this version is because it is based on past price data as opposed to a model, and as such is more sensitive to price action. Additionally, because the VixFix is meant to replicate the VIX Index (except it can be applied to any asset) it, just like the real VIX, does have a directional element to it. Because of this, VixFix IV, Rank, and Percentile tend to increase as markets move down, and decrease as markets move up. VixFix skew, on the other hand, is directionless.
How to use this suite of tools:
1st. Pick the way you want your data calculated: either Model-Based or VixFix.
2nd. Input the various length parameters according to their labels:
If you're using the model-based version and are trading options input your time til expiry, including weekends and holidays. You can do so in terms of days, hours, and minutes. If you're using the model-based version but aren't trading options you can just use the default input of 365 days.
If you're using the VixFix version, input how many periods of data you want included in the calculation, this is labeled as "VixFix length". The default value used in this script is 252.
3rd. Finally, pick which data you want displayed from the dropdown menu: Implied Volatility, IV Rank, IV Percentile, or Volatility Skew Index.
Garch (1,1) ModelThe Garch (General Autoregressive Conditional Heteroskedasticity) model is a non-linear time series model that uses past data to forecast future variance.
The Garch (1,1) formula is:
Garch = (gamma * Long Run Variance) + (alpha * Squared Lagged Returns) + (beta * Lagged Variance)
The gamma, alpha, and beta values are all weights used in the Garch calculations. According to RiskMetrics by JP Morgan, the optimal beta weight is 0.94, but this figure is highly disputed in the academic realm. The biggest problem academics and economists have with the 0.94 figure is that JP Morgan used monthly data to come to this number, meaning it does not take other time frames into account. Because of the disputed nature of what beta should be, this script will automatically calculate the beta weight for you in real time, taking into account the time frame you're using and realized variance, by using the Minimum Sum of Squared Errors Method.
The gamma and alpha weights are also calculated for you.
Even though the Garch formula provides today's projected variance, today's projected deviation is also calculated. This is done by taking the square root of Garch.
Additionally, if you want to project the variance or deviation for as many days forward as you want, you can.
In order to project the variance and deviation beyond just today, these equations are used:
Projected Variance = Long Run Variance + (alpha + beta)^Days Forward * (Garch - Long Run Variance)
Projected Deviation = sqrt(Projected Variance)
How to use this model:
1st. Decide the type of data you want: Projected Variance in % or Projected Deviation in %.
2nd. Decide how many days you want projected forward. If you input 0, you will get projections for today. If you input 1, you will get projections for tomorrow, and etc.
That's it. If you have any further questions, I left detailed comments in the code explaining each step, as best as I could.
COVID Statistics Tracker & Model Projections by Cryptorhythms😷 COVID-19 Coronavirus Tracker & Statistics Tools by Cryptorhythms 😷
📜Intro
I wanted to put some more meaning behind the numbers for 2020's Covid pandemic. I hope this tool can help people analyze and deal with these hard times. With these metrics I hope to give greater depth and dimension to whats available. While also at the same time creating something that looks decently presentable and gives actionable information.
I had planned on including a few forecasting models and letting the user play with values to see how social distancing works. But alas I couldnt complete those in the scope of time I gave myself for the indicator. If you are interested in collaborating on it, I will share what I have with you and we can further work on it.
📋Description
The script contains 3 main parts you will interact with. I suggest you enable the chart labels for "indicator name" and "indicator last value" to make the charts more readable (right click on the scale of your chart and goto the "labels" pop out menu). Depending on what plots and data you choose to chart, logarithmic and regular scales can both be applied in different situations. To get similar visuals to the examples I will show below, you can goto the indicator options > style tab. I then play with the line styles, colors and transparencies to achieve the nice looking charts. Please also note there is a distinction between "Infected" and "Infectious". A model telling you the number of infected doesnt designate whether that person can still pass the virus on to others (infectious). So Infectious numbers are usually lower than total confirmed, but this isnt always the case if for example a country wasnt testing very much during the early phase or something else.
🚧Disclaimer
I am not a medical professional and none of this should be considered medical advice. All of the models, numbers and math I sourced from professional places but this is not a guarantee of the future only an approximation based on current information. Numbers change daily and so can these models!
🌐PART ONE
In this area you select a region to read the proper statistics data from tradingview. You can do global totals, country totals, or for a few places (AU, CA, CN, US) you can see state/province totals. Remember to SELECT ONLY ONE region.
🧮PART TWO
The Plots/Stats/Data section includes:
1. ) Plot the Days to Double Number of Confirmed
2. ) Plot the Infection Growth Ratio
3. ) Plot Fatality Risk Rate (Total Deaths / Total Outcomes)
4. ) Plot Overall Fatality Rate / Recovery Rate
5. ) Plot % of World Infected & % of USA Infected
6. ) Plot Daily New Deaths, Confirmed & Recovered
7. ) Plot Daily Change Percentages
🎱PART THREE
Forecasting Models and Settings:
1 .) Plot the % of Custom Population Infected (Vs. the Region Selected in Part 1 of Settings)
2 .) Plot the True Num. of Infectious (Death Model / DM)
3 .) Plot the Current and Next Weeks Cumulative Infection Projection (DM)
4 .) Plot Estimated Infection Rates? (DM)
5 .) Enable Basic Trajectory Projection?
6 .) Plot the Likelihood of > 0 **Infectious** in a Group (DM) for Today, Tomorrow and Next Week
7 .) Plot the True Num. of Infected (Confirmed/Tested Model)
8 .) Plot the Estimated Epidemiology for 7 and 14 Days Out (Hospital Beds, ICU Beds, Ventilator Units)
Planned But not completed
9.) SIR Epidemiology Model
10.) Exponential Growth Plot & Correlation
To use the Estimator for likelihood of Infected in N group of people you need to do 2 things. Select and use "Custom Population" as the population source for part 3. Then you need to enable "Custom Infected" as the source for the model. Then you enter your geographical area's population and confirmed cases. Its best to goto the smallest / most granular level of data available to accurately estimate the likelihood. So for instance in the order of least effective to most effective data source: global, country, state, county, city...etc.
If you do not understand what these terms or numbers represent, please read the source materials I have linked in the code, or use google. I dont have the time or expertise to explain all the various specific methods and terms included here. This entire project was a learning journey for me and I have zero experience in epidemiology so please excuse any errors I may have made. (and tell me, so I can change it!)
🔮Future Additions
If anyone has a model or stat they would like included I will be happy to add your code to this toolbox to make it more effective and give you credit here in the description. If you want to collaborate please message me.
📊Some Example Charts:
The Cryptorhythms Team wish you and your families all the absolute best of health!
P.S. Stay safe and act smart I dont think this will be the EOTW.