
波动率决策(Volatility)便是用来推断金融市集或某个钞票价钱变动幅度和不踏实性的决策。这个东西通常被用来评估市集有多冒险。波动率越高,代表钞票价钱波动越大,然而昆仲Kaiyun,风险也相对高啊!底下是一些关联术语和发挥:
历史波动率(Historical Volatility):畴前某段时候内钞票价钱的本体波动率。这个玩意儿是通过计较历史数据来推断的。
隐含波动率(Implied Volatility):凭证期权市集价钱反推出的波动率,用于推断市集对改日价钱波动的预期。
VIX指数(Volatility Index):通常被称为“浮躁指数”,用于推断改日30天内好意思国股票市集的波动率。这是大家金融市聚积最出名的波动率决策之一。
波动率决策关于投资者和往来员很是进攻,因为它们不错匡助他们了解市集有多不踏实和冒险,从而作念出更理智的投资决策。
图片
BTCUSDT.P行情来自TradingView
今天我要先容一个我方私藏多年的波动率决策,它不错用方法来判断暴涨暴跌!虽然,如若你够贤达,看趋势也能预判一些潜在的暴涨暴跌哦!
在金融规模中,波动率决策(Volatility)是推断不同钞票价钱变动幅度和不踏实性的决策。它通常用来评估市集的风险水平。波动率越高,代表钞票价钱波动较大,风险也相对较高。历史波动率(Historical Volatility)是指畴前某段时候内钞票价钱的本体波动率,不错通过计较历史数据来推断;而隐含波动率(Implied Volatility)则是凭证期权市集价钱反推出的波动率,用于推断市集对改日价钱波动的预期。另外, VIX 指数(Volatility Index)通常被称为“浮躁指数”,用于推断改日30天内好意思国股票市集的波动率,是大家金融市聚积最出名的波动率决策之一。
波动率决策关于投资者和往来员很是进攻,因为它们不错匡助他们了解市集的概略情味和风险,从而作念出更理智的投资决策。而今天要先容的 L1 Dynamic Volatility Indicator 便是一种不错推断波动率的决策,同期还不错通过方法来判断暴涨暴跌!
这个决策是将 Dynamic Volatility(简称 DV)和 ATR 两个技巧决策交融,集合方法清楚,预警暴涨暴跌的技巧决策。DV 响应慢然而相比平滑,而 ATR 响应速率快然而纹波较多。把握它们互补的特质,不错构建一个一样 MACD 快慢线结构。虽然,要兑现 DV 和 ATR 的快慢线,第一便是要调和它们的坐标轴,需要作念归一化处置。然后,每当 ATR 黄色大于 DV 的紫色线,何况两个弧线均快速进取冲破 0.2 这个阈值时,暴涨暴跌就要来了。
不外要留心,仅依靠这两条线的上下和走势场合还不及以判断暴涨暴跌的场合哦!因为它们只慎重判断波动率的趋势,并不卤莽判断牛熊!不外也不关键,我也早有沟通到这个问题,加上了神奇的渐变色带,当色带方法迟缓变为暖色时,预示着暴涨;反之,当色带方法趋于冷色则预示着暴跌!虽然,参加横盘整理的区域是看不到色带的,这就幸免了你参与一些毫无必要的往来,那样只会白白奢华你的资金!这个决策确实很实用,有了它你就能更好地判断市集的风险和契机了!我将这个决策开源发布在了TradingView社区,感好奇羡慕好奇羡慕的一又友不错去围不雅:[blackcat] L1 Dynamic Volatility Indicatorhttps://www.tradingview.com/script/Fx2iHrVV/为了简单,我一经贴下源代码:
1//@version=5 2indicator(title='[blackcat] L1 Dynamic Volatility Indicator', shorttitle='DVI', overlay=false) 3 4// Input parameters 5length = input(14, title='Length') 6mult = input(1.5, title='Multiplier') 7 8// Calculate True Range (TR) 9trh = high - low 10trl = math.abs(high - close[1]) 11trc = math.abs(low - close[1]) 12_tr = math.max(trh, trl) 13trueRange = math.max(_tr, trc) 14 15// Calculate Average True Range (ATR) 16atrSummation(n) => 17 sumTrueRange = 0.0 18 for i = 0 to n - 1 by 1 19 sumTrueRange += trueRange[i] 20 sumTrueRange 21 sumTrueRange 22 23atrValue = atrSummation(length) / length 24 25//Normalized func 26normalize(src,lenn) => 27 norm_value = (src - ta.lowest(src, lenn)) / (ta.highest(src, lenn) - ta.lowest(src, lenn)) 28 norm_value 29//PLOT courtesy of @animecummer 30var grad = array.new_color(na) 31if barstate.isfirst 32 array.push(grad, color.gray) 33 array.push(grad, #2d0aff) 34 array.push(grad, #0038ff) 35 array.push(grad, #0050ff) 36 array.push(grad, #0062ff) 37 array.push(grad, #0071ff) 38 array.push(grad, #007eff) 39 array.push(grad, #0089ff) 40 array.push(grad, #0093ff) 41 array.push(grad, #009dff) 42 array.push(grad, #00a5ff) 43 array.push(grad, #00adff) 44 array.push(grad, #00b5ff) 45 array.push(grad, #00bcff) 46 array.push(grad, #00c2ff) 47 array.push(grad, #00c9ff) 48 array.push(grad, #00cfee) 49 array.push(grad, #00d6d9) 50 array.push(grad, #00dcc4) 51 array.push(grad, #00e2ae) 52 array.push(grad, #00e898) 53 array.push(grad, #00ed82) 54 array.push(grad, #00f26b) 55 array.push(grad, #00f753) 56 array.push(grad, #00fb38) 57 array.push(grad, #0ffe09) 58 array.push(grad, #1bf20a) 59 array.push(grad, #33f203) 60 array.push(grad, #43f300) 61 array.push(grad, #50f300) 62 array.push(grad, #5bf400) 63 array.push(grad, #64f400) 64 array.push(grad, #6df500) 65 array.push(grad, #76f500) 66 array.push(grad, #7df500) 67 array.push(grad, #85f600) 68 array.push(grad, #8cf600) 69 array.push(grad, #93f700) 70 array.push(grad, #99f700) 71 array.push(grad, #9ff700) 72 array.push(grad, #a5f800) 73 array.push(grad, #abf800) 74 array.push(grad, #b1f800) 75 array.push(grad, #b7f800) 76 array.push(grad, #bcf900) 77 array.push(grad, #c2f900) 78 array.push(grad, #c7f900) 79 array.push(grad, #ccf900) 80 array.push(grad, #d1fa00) 81 array.push(grad, #d6fa02) 82 array.push(grad, #dbfa09) 83 array.push(grad, #f6ff0d) 84 array.push(grad, #f9f700) 85 array.push(grad, #fbf000) 86 array.push(grad, #fde800) 87 array.push(grad, #ffe000) 88 array.push(grad, #ffd900) 89 array.push(grad, #ffd100) 90 array.push(grad, #ffc900) 91 array.push(grad, #ffc100) 92 array.push(grad, #ffb900) 93 array.push(grad, #ffb100) 94 array.push(grad, #ffa800) 95 array.push(grad, #ffa000) 96 array.push(grad, #ff9800) 97 array.push(grad, #ff8f00) 98 array.push(grad, #ff8600) 99 array.push(grad, #ff7d00)100 array.push(grad, #ff7400)101 array.push(grad, #ff6a00)102 array.push(grad, #ff6000)103 array.push(grad, #ff5600)104 array.push(grad, #ff4a00)105 array.push(grad, #ff3e00)106 array.push(grad, #fc2f00)107 array.push(grad, #fa1a09)108 array.push(grad, #ff1e0d)109 array.push(grad, #ff071b)110 array.push(grad, #ff0025)111 array.push(grad, #ff002f)112 array.push(grad, #ff0038)113 array.push(grad, #ff0041)114 array.push(grad, #ff0049)115 array.push(grad, #ff0052)116 array.push(grad, #ff005b)117 array.push(grad, #ff0064)118 array.push(grad, #ff006e)119 array.push(grad, #ff0077)120 array.push(grad, #ff0081)121 array.push(grad, #ff008a)122 array.push(grad, #ff0094)123 array.push(grad, #ff009e)124 array.push(grad, #ff00a8)125 array.push(grad, #ff00b2)126 array.push(grad, #ff00bd)127 array.push(grad, #ff00c7)128 array.push(grad, #ff00d1)129 array.push(grad, #ff00dc)130 array.push(grad, #ff00e6)131 array.push(grad, #ff00f0)132 array.push(grad, #f709fa)133134AvgValue = ta.alma(close, 21, 0.85, 6)135rsival = math.round(ta.rsi(AvgValue, 21))136gradcolor = array.get(grad, rsival)137// Calculate Dynamic Volatility Indicator (DVI)138dviValue = normalize(ta.alma(atrValue * mult, length, 0.85, 6),987)139tvATR = normalize(ta.rma(ta.tr, length),987)140p1 = plot(tvATR, color=color.new(color.yellow, 0), linewidth=1)141p2 = plot(dviValue, color=color.new(color.fuchsia, 0), linewidth=1)142fill(p1, p2, color=(tvATR>=dviValue) and (tvATR>=0.2) and (dviValue>=0.2) ?gradcolor:na)143h1 = hline(0.2, color=color.red)144h2 = hline(0.0, color=color.green)145fill(h1,h2, color=color.new(color.gray,70))这段代码用于计较动态波动率决策(Dynamic Volatility Indicator)。以下是代码的发挥:
1//@version=52indicator(title='[blackcat] L1 Dynamic Volatility Indicator', shorttitle='DVI', overlay=false)
此行开荒了剧本版块和决策标题。
1length = input(14, title='Length')2mult = input(1.5, title='Multiplier')这两行界说了输入参数length和mult,辞别暗示长度和倍数。默许值为14和1.5。
1trh = high - low2trl = math.abs(high - close[1])3trc = math.abs(low - close[1])4_tr = math.max(trh, trl)5trueRange = math.max(_tr, trc)
这几行计较了真实鸿沟(True Range),其中:
trh暗示最高价与最廉价之差;
trl暗示最高价与前一日收盘价之差的足够值;
trc暗示最廉价与前一日收盘价之差的足够值;
_tr取以上三个值中的较大者;
trueRange取上述成果与(high-low)中的较大者。
1atrSummation(n) =>2 sumTrueRange = 0.03 for i = 0 to n - 1 by 14 sumTrueRange += trueRange[i]5 sumTrueRange6 sumTrueRange78atrValue = atrSummation(length) / length这几行界说了一个函数atrSummation(n),用于计较平均真实鸿沟(Average True Range, ATR)。该函数通过轮回累加前n个真实鸿沟的值,并复返总额。临了,将总额除以长度length得到ATR的值。
1normalize(src,lenn) =>2 norm_value = (src - ta.lowest(src, lenn)) / (ta.highest(src, lenn) - ta.lowest(src, lenn))3 norm_value45AvgValue = ta.alma(close, 21, 0.85, 6)6rsival = math.round(ta.rsi(AvgValue, 21))7gradcolor = array.get(grad, rsival)
这几行界说了一个名为normalize的函数,用于对数据进行归一化处置。在此之后,使用内置决策计较出平滑迁徙平均线(ALMA)和相对强弱指数(RSI),并取得相应位置上的方法值。
1dviValue = normalize(ta.alma(atrValue * mult, length, 0.85, 6),987)2tvATR = normalize(ta.rma(ta.tr,length),987)3p1 = plot(tvATR,color=color.new(color.yellow ,0),linewidth=1 )4p2=plot(dviValue,color=color.new(color.fuchsia ,0),linewidth=1 )5fill(p1,p2,color=(tvATR>=dviValue) and (tvATR>=0.2) and (dviValue>=0.2)?gradcolor:na)6h1=hline(0.2,color=color.red)7h2=hline(0.0,color=color.green)8fill(h1,h2, color=color.new(color.gray,70))这几行计较了动态波动率决策(DVI)的值Kaiyun,并绘图了相应的图表。临了,凭证一些条目对图表进行填充和着色。
本站仅提供存储作事,系数内容均由用户发布,如发现存害或侵权内容,请点击举报。