Filter
Exclude
Time range
-
Near
The Pine script (take this TACO with a pinch of salt): Any idea to improve it is welcome! //@version=6 indicator("TACO Detector", overlay=false, max_labels_count=500) //---------------------------------------------------- // TACO DETECTOR:THE ULTIMATE TACO FRAGILITY INDEX //---------------------------------------------------- // // This indicator measures how vulnerable the market is to a sudden headline, tariff, political, or tweet-driven shock. // // Logic: // High risk appears when market volume, realised volatility, range, and optional VIX/VXN are compressed. // // Labels: // HF = High Fragility // XF = Extreme Fragility // SB = Shock Bar // ER = Escalation Risk // //---------------------------------------------------- //---------------------------------------------------- // Inputs //---------------------------------------------------- lookback = input.int(100, "Percentile Lookback", minval=20) rvLen = input.int(20, "Realized Vol Length", minval=5) atrLen = input.int(14, "ATR Length", minval=5) volLen = input.int(20, "Volume MA Length", minval=5) useVix = input.bool(true, "Use VIX / VXN Compression Filter?") vixSymbol = input.symbol("CBOE:VXN", "Volatility Index Symbol") vixWeight = input.float(0.25, "VIX/VXN Compression Weight", minval=0, maxval=1) volumeWeight = input.float(0.30, "Low Volume Weight", minval=0, maxval=1) rvWeight = input.float(0.30, "Low Realized Vol Weight", minval=0, maxval=1) rangeWeight = input.float(0.15, "Low Range Weight", minval=0, maxval=1) riskHigh = input.float(70, "High Risk Threshold", minval=0, maxval=100) riskExtreme = input.float(85, "Extreme Risk Threshold", minval=0, maxval=100) shockMoveMult = input.float(1.75, "Shock Move Multiple", minval=0.5, step=0.25) shockVolMult = input.float(1.50, "Shock Volume Multiple", minval=0.5, step=0.25) showDashboard = input.bool(true, "Show Dashboard") showLegend = input.bool(true, "Show Legend") //---------------------------------------------------- // Volume Compression //---------------------------------------------------- volMA = ta.sma(volume, volLen) volRatio = volume / volMA volRank = ta.percentrank(volume, lookback) lowVolScore = 100 - volRank //---------------------------------------------------- // Realized Volatility Compression //---------------------------------------------------- logRet = math.log(close / close[1]) realizedVol = ta.stdev(logRet, rvLen) * 100 rvRank = ta.percentrank(realizedVol, lookback) lowRvScore = 100 - rvRank //---------------------------------------------------- // Range Compression //---------------------------------------------------- atrPct = ta.atr(atrLen) / close * 100 atrRank = ta.percentrank(atrPct, lookback) lowRangeScore = 100 - atrRank //---------------------------------------------------- // Optional VIX / VXN Compression //---------------------------------------------------- vixClose = request.security(vixSymbol, timeframe.period, close, ignore_invalid_symbol=true) vixRank = ta.percentrank(vixClose, lookback) lowVixScore = useVix and not na(vixClose) ? 100 - vixRank : 0 //---------------------------------------------------- // Fragility Score //---------------------------------------------------- baseWeight = volumeWeight rvWeight rangeWeight (useVix ? vixWeight : 0) fragilityRaw = (lowVolScore * volumeWeight lowRvScore * rvWeight lowRangeScore * rangeWeight lowVixScore * (useVix ? vixWeight : 0)) / baseWeight fragility = math.max(0, math.min(100, fragilityRaw)) //---------------------------------------------------- // Shock Detection //---------------------------------------------------- absMovePct = math.abs(close / close[1] - 1) * 100 shockMove = absMovePct > realizedVol * shockMoveMult shockVol = volume > volMA * shockVolMult shockBar = shockMove and shockVol //---------------------------------------------------- // Escalation Detection //---------------------------------------------------- rangeExpansion = atrPct > ta.sma(atrPct, atrLen) volExpansion = volRatio > 1.2 preShockRisk = fragility > riskHigh extremeRisk = fragility > riskExtreme escalationRisk = preShockRisk and (rangeExpansion or volExpansion) //---------------------------------------------------- // Main Plot //---------------------------------------------------- plot(fragility, title="TACO Fragility", linewidth=2) hline(50, "Neutral", linestyle=hline.style_dotted) hline(70, "High Risk", linestyle=hline.style_dashed) hline(85, "Extreme Risk", linestyle=hline.style_dashed) //---------------------------------------------------- // Background Risk Highlight //---------------------------------------------------- bgcolor(extremeRisk ? color.new(color.red, 82) : preShockRisk ? color.new(color.orange, 86) : na) //---------------------------------------------------- // Label Markers //---------------------------------------------------- // // HF = High Fragility // XF = Extreme Fragility // SB = Shock Bar // ER = Escalation Risk // // These are not buy or sell signals. // They are market risk-state signals. //---------------------------------------------------- plotshape(preShockRisk and not extremeRisk, title="HF - High Fragility", text="HF", style=shape.labeldown, location=location.top, size=size.tiny, color=color.orange, textcolor=color.white) plotshape(extremeRisk, title="XF - Extreme Fragility", text="XF", style=shape.labeldown, location=location.top, size=size.tiny, color=color.red, textcolor=color.white) plotshape(shockBar, title="SB - Shock Bar", text="SB", style=shape.labeldown, location=location.top, size=size.tiny, color=color.fuchsia, textcolor=color.white) plotshape(escalationRisk, title="ER - Escalation Risk", text="ER", style=shape.labelup, location=location.bottom, size=size.tiny, color=color.yellow, textcolor=color.black) //---------------------------------------------------- // Alerts //---------------------------------------------------- alertcondition(preShockRisk, title="HF - TACO Risk High", message="HF: TACO Fragility is HIGH. Market is quiet, thin, and vulnerable to a headline shock.") alertcondition(extremeRisk, title="XF - TACO Risk Extreme", message="XF: TACO Fragility is EXTREME. Compressed market conditions may amplify sudden headline or tweet-driven moves.") alertcondition(shockBar, title="SB - Shock Bar Detected", message="SB: Shock Bar detected. Abnormal price move with volume expansion.") alertcondition(escalationRisk, title="ER - TACO Escalation Risk", message="ER: High fragility plus range or volume expansion. Market may be transitioning from calm into headline-driven movement.") //---------------------------------------------------- // Dashboard Table //---------------------------------------------------- var table dash = table.new(position.top_right, 2, 6, border_width=1) if barstate.islast if showDashboard riskText = fragility >= riskExtreme ? "EXTREME" : fragility >= riskHigh ? "HIGH" : fragility >= 50 ? "ELEVATED" : "LOW" riskBg = fragility >= riskExtreme ? color.new(color.red, 0) : fragility >= riskHigh ? color.new(color.orange, 0) : fragility >= 50 ? color.new(color.yellow, 0) : color.new(color.gray, 70) riskTxt = fragility >= 50 ? color.black : color.white table.cell(dash, 0, 0, "TACO Fragility", text_color=color.white) table.cell(dash, 1, 0, str.tostring(fragility, "#.0") " / 100", text_color=color.white) table.cell(dash, 0, 1, "Risk State", text_color=color.white) table.cell(dash, 1, 1, riskText, bgcolor=riskBg, text_color=riskTxt) table.cell(dash, 0, 2, "Low Volume", text_color=color.white) table.cell(dash, 1, 2, str.tostring(lowVolScore, "#.0"), text_color=color.white) table.cell(dash, 0, 3, "Low Realized Vol", text_color=color.white) table.cell(dash, 1, 3, str.tostring(lowRvScore, "#.0"), text_color=color.white) table.cell(dash, 0, 4, "Low Range", text_color=color.white) table.cell(dash, 1, 4, str.tostring(lowRangeScore, "#.0"), text_color=color.white) table.cell(dash, 0, 5, "Low VIX/VXN", text_color=color.white) table.cell(dash, 1, 5, useVix ? str.tostring(lowVixScore, "#.0") : "Off", text_color=color.white) else table.clear(dash, 0, 0) //---------------------------------------------------- // Legend //---------------------------------------------------- var table legend = table.new(position.bottom_right, 2, 5, border_width=1) if barstate.islast if showLegend table.cell(legend, 0, 0, "Code", bgcolor=color.new(color.gray, 40), text_color=color.white) table.cell(legend, 1, 0, "Meaning", bgcolor=color.new(color.gray, 40), text_color=color.white) table.cell(legend, 0, 1, "HF", bgcolor=color.orange, text_color=color.white) table.cell(legend, 1, 1, "High Fragility", bgcolor=color.new(color.orange, 75), text_color=color.white) table.cell(legend, 0, 2, "XF", bgcolor=color.red, text_color=color.white) table.cell(legend, 1, 2, "Extreme Fragility", bgcolor=color.new(color.red, 75), text_color=color.white) table.cell(legend, 0, 3, "SB", bgcolor=color.fuchsia, text_color=color.white) table.cell(legend, 1, 3, "Shock Bar", bgcolor=color.new(color.fuchsia, 75), text_color=color.white) table.cell(legend, 0, 4, "ER", bgcolor=color.yellow, text_color=color.black) table.cell(legend, 1, 4, "Escalation Risk", bgcolor=color.new(color.yellow, 70), text_color=color.black) else table.clear(legend, 0, 0)

Ladies and gentlemen! let me present you the TACO Detector 🀣 I'm measuring market fragility before the TACO sauce (πŸ’©) hits the fan: low volume, compressed realised volatility, tight trading ranges, and sleepy VIX/VXN conditions.
7
520
16 Oct 2023
$VIX at 20 "demands" a certain velocity of price movement that we have yet to see. Implies move of abt 5.5% for the $SPY the next month. With such a gap between ImpliedVol and RealizedVol, if we dont start seeing big moves soon, all that panic bot protection will be puked up.
13 Oct 2023
Wasn’t #ww3 suppose to start when Suleiman was taken out by a drone strike in Jan 2020. I think according to Twitter we’re actually on World War 48 by now.
4
1,006
13 Aug 2023
6/ Here is my message before CPI day. The vol risk premium as measured with FWDVOL instead of RealizedVol is wider than the SVB blowup in March. SPX needs to be consistently making -1% moves to support what this is pricing. Clearly that's not happening.
2
13
2,847
Are #crypto vol markets hinting at a long-term trend? The liquidity taps are increasingly expected to flow in full force later this year. Putting the spotlight on owning the upside tail. Keep reading as I unravel this intriguing phenomenon... In this week's Crypto Roundup☟☟ ↓ ↓ ➠ #RealizedVol Οƒ #BTC realised vol dropping back below 60 as 29k resistance held, and spot stayed within a range. #ETH realised has also fallen but is once again slightly above BTC on a 10d basis. ↓ ↓ ➠ #ImpliedVol Οƒ Implied vols have converged with realised Taking carry to near zero in both BTC and ETH. We suspect realised vol will continue lower, and implieds will hold up. Allowing some positive carry to come back into the front end. ↓ ↓ Οƒ Waiting to see if crypto markets can establish a range into month-end. Then possibly sell some optionality into Easter. If and when the 29k resistance breaks, we think this is likely to drive vol higher again. As the picture will look more bullish from a #technicalanalysis standpoint. Οƒ Οƒ Οƒ ☞ More details in this week's Crypto Options Weekly note to subs ☜ ↓ ↓ ➠ #TermStructure Οƒ BTC and ETH term structure both flattening back down from inverted states as gamma gets sold on lower realised. ETH/BTC vol spread shifting back up a few points. ETH realised takes back the baton but remains uninspiring. A break of 29k would trigger even more #Bitcoin outperformance. But as the level failed to break so far, vols are mean reverting. ↓ ↓ ➠ #Skew Οƒ Skew recovered for puts as markets turned south and breakout hopes died down. Short-dated skew has repriced the most. Flipping back into put premium for weekly BTC options. But the bid for calls progresses as you move out the term structure. ↓ ↓ Οƒ #Ethereum skew is almost entirely back to put premium except for the longest maturities, which still hold a slight call bid. Weekly ETH skew back to 3 vols for puts over as hedges get bought. ↓ ↓ ➠ #OptionsFlows Οƒ A healthy week of volumes for BTC with $5Bn notional trading $3.5Bn expiring this week. A $2Bn notional week for ETH ahead of 3Bn expiring this Friday. Οƒ Οƒ Οƒ ☞ Get full crypto options flows breakdown in this week's Crypto Options Weekly note to subs ☜ ↓ ↓ ➠ Crypto #Strategy Οƒ Running a decent-sized hedge with BTC back up at 28k. ☞ Get more details on our positioning in this week's Crypto note to subs ☜ Οƒ Οƒ Οƒ ...that's a wrap on this week's Crypto Roundup! Want more details on the current dynamics in crypto spot and vol mentioned above? Watch this week's Crypto Insight video on the Options Insight YouTube Channel dropping later today! 🦾Powered by @Amberdataio (link in follow-up tweet) πž‚ πž‚ πž‚ ➠ If you enjoyed this Crypto Roundup, let me know your thoughts/questions in the replies! If you want even more detailed research & trade ideas on crypto & crypto vol... πž‚ πž‚ πž‚ Follow the link in my Twitter Bio & use code RV2023 at checkout for a free month of our Crypto Options Weekly service. Cheers! 🫢
1
1
16
6,394
Can you feel the buzz around BTC? 🐝 We've seen record-breaking options volumes this week. Are you curious to discover how these massive trades are affecting crypto markets? Then come join us in dissecting the impact of these colossal moves in this week's... Crypto Roundup ☟ ↓ ↓ ➠ #RealizedVol Οƒ #Bitcoin 10d realised up ~10pts, to 85 vol As spot continued to charge higher towards 28.5k and finished up 15% on the week. ETH 10d realised up 5 pts to 73 vol, materially lower than #BTC. ETH once again has failed to keep pace, with 1850 resistance proving too big an obstacle to pass. ↓ ↓ ➠ #ImpliedVol BTC short-dated implieds settled back down to only up 5p from 10p as spot drifted back below 28k. ETH implieds have been chopping around. Carry firmly in negative territory, especially in BTC, which is at -17.5 vol and in the 10th percentile. ETH carry also negative but less extreme. Interesting to see implied vols dropping before realised did ☞ More details in this week's Crypto Options Weekly note to subs ☜ ↓ ↓ ➠ #TermStructure Οƒ BTC term structure shifting higher from 1m and out with weekly vol unchanged. ETH curve stable on the week. ETH/BTC vol spread collapsed. Even the back end feeling the crunch as BTC vol outperformance has persisted for a month. ↓ ↓ Οƒ Statistically, we still like the long ETH side of this spread trade, however, don't want to fight the price action. We would likely cut the position if BTC breaks above 29k and ETH still can't participate in the upside. Positioning setup in ETH where dealers have been long upside has made it difficult for ETH to perform on the upside. Unlike BTC, where dealers are short. ↓ ↓ ➠ #Skew Οƒ Skew flipped deeply into call premium across the whole curve from neutral last week. BTC skew now at 6 vols for calls over in the short dates and even slightly higher in the back end. ETH skew has also flipped and dropped by a similar amount. But as it was starting in more put premium last week, and spot failed to rally as hard. It makes sense that #ETH call skew is slightly less. ↓ ↓ ☞ For those patient enough to have waited for 28k, the hedging opportunity looks excellent up here... Want the details of our positioning? Find it in this week's Crypto Options Weekly report! ☜ ↓ ↓ ➠ #Options Flows Οƒ Record volumes in BTC options this week. Notionals reached as high as the 2021 peaks. Unsurprisingly most focussed on calls... ETH flows only a third of BTC volume this week. Focus has remained on BTC as a safe haven out of the current #BankingCrisis. ↓ ↓ ☞ Get full crypto options flows breakdown in this week's Crypto Options Weekly note to subs ☜ ↓ ↓ ➠ #Gamma #Positioning Οƒ BTC dealer gamma stays negative and helps drive the move higher. Dealers sit short local strikes from 26-28k. But what about beyond 30k? ⇣⇣⇣⇣⇣⇣⇣⇣⇣⇣⇣⇣⇣ πŸͺΊEASTER EGGπŸͺΊ Reply to this tweet with "GAMMA 30K" & I'll spell it out for you. πŸ₯šEASTER EGGπŸ₯š ⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑ ↓ ↓ Οƒ ETH positioning close to neutral as less call buying has been seen. Also, consistent overwriting continues. ↓ ↓ ➠ Crypto #Strategy Οƒ Running a decent size hedge with BTC back up at 28k. For more crypto positions that we are currently running... ☞ Details are in this week's Crypto Options Weekly note to subs ☜ Οƒ Οƒ Οƒ ...that's a wrap on this week's Crypto Roundup! Want more details on the current dynamics in crypto vol mentioned above? Go watch this week's Crypto Insight video on the Options Insight YouTube Channel! 🦾Powered by @Amberdataio! (link in follow-up tweet) πž‚ πž‚ πž‚ ➠ If you enjoyed this Crypto Roundup, let me know your thoughts/questions in the replies! If you want even more detailed research & trade ideas on crypto & crypto vol... πž‚ πž‚ πž‚ Follow the link in my Twitter Bio & use code RV2023 at checkout for a free month of our Crypto Options Weekly service. Cheers!
9
10
34
11,926
25 Nov 2022
Dan Deming @djd551 discusses $VIX, #Volatility, $SPX, #Futures, and #RealizedVol.
1
3
19 Aug 2022
🚨Quant funds support market rally with bets on stocks: Volatility-targeting and risk-parity funds were buying roughly $2bn to $4bn worth of equities a day. #stocks #bonds #riskassets #volatility #realizedvol #impliedvol #IV #options #futures #trading #investing
2
9
RealizedVol is 27% below average. Algorand is readying for another move, which direction is the question. #Algorand #Algofam #Algo
3
5
25 Mar 2022
Dan Deming @djd551 talks $VIX, #Futures, #RealizedVol, $SKEW, #Straddle, and next week.
6
8
Is it possible to elaborate a bit? Im a bit confused bc my understanding is that for any given price level, the iv of a call or put essentially measures the market's expectation of future realizedVol (but not specifically upvol or downvol)
2
2
IVol= implied vol, RVol= realizedvol
2
Replying to @bennpeifert
-theta 0.5*gamma*(difference in the underlying)^2 Which we can rewrite as (RealizedVol^2 - ImpliedVol^2)* (0.5*Gamma*SpotPrice^2) using the relationship between theta and gamma
1
2
el mercado repriceo volatilidad fuerte en los ult 2 dias, podria pensarse que ahora el mercado 'espera' que los rangos de realizedVol sigan siendo grandes pero contenidos en el mediano plazo a quizas 2000/2700. Se puede equivocar el mercado? si, claro, por algo el vix estaba 15
2
Cryptocurrency realized #Volatility (against USD base) Top 30 market cap. #Top30 #Crypto #Cryptocurrency source: #CryptoCompare . Note our USDT is consistently a >20% vol asset (#NotStable) #RealizedVol
1
The $VIX is functioning just fine thank you! "It's the economy stupid"...leading market expectations #sentiment #certainty #RealizedVol $SPX

3 Mar 2017
β€œ$VIX is a sentiment indicator, let’s look at the sentiment in the market right now” @Djd551 realized vol & $VVIX bit.ly/2mn3ujs
1
2
1