Wie wird die Volatilität im Screener berechnet?
Die Volatilität misst die Preisschwankungen eines Finanzinstruments innerhalb eines bestimmten Zeitraums. Je größer die Preisspanne ist, desto höher ist die Volatilität. Je geringer die Preisspanne, desto geringer die Volatilität.
Im Folgenden finden Sie die Volatilitätsformel, die wir für unsere Berechnungen (wöchentlich, monatlich und täglich) verwenden:
//@version=4
study("volatility")
fastSearchN(xs, x) => // xs - sorted, ascending
max_bars_back(xs, 366)
left = 0
right = min(bar_index,366)
mid = 0
if xs < x
0
else
for i = 0 to 9
mid := ceil((left+right) / 2)
if left == right
break
else if xs[mid] < x
right := mid
continue
else if xs[mid] > x
left := mid
continue
else
break
mid
month1 = 30
month_ago = timenow - 1000*60*60*24*month1
month_ago_this_bar = time - 1000*60*60*24*month1
countOfBars1MonthAgo = fastSearchN(time, month_ago)
countOfBars1MonthAgoThisBar = fastSearchN(time, month_ago_this_bar)
week1 = 7
week_ago = timenow - 1000*60*60*24*week1
week_ago_this_bar = time - 1000*60*60*24*week1
countOfBarsWeekAgo = fastSearchN(time, week_ago)
countOfBarsWeekAgoThisBar = fastSearchN(time, week_ago_this_bar)
// volatility
volatility(bb) =>
bb2 = bb
if bar_index == 0
bb2 := 365
if bb2 == 0
na
else
s = sum((high-low)/abs(low) * 100 / bb2, bb2)
if bb == 0
na
else
s
plot(volatility(countOfBarsWeekAgoThisBar), title="Volatility.W")
plot(volatility(countOfBars1MonthAgoThisBar),title="Volatility.M")
plot(tr(true)*100/abs(low), title="Volatility.D")
Hinweis: Die Werte dieses Skripts unterscheiden sich in der Historie und in Echtzeit aufgrund von timenow, siehe https://www.tradingview.com/pine-script-docs/en/v4/essential/Indicator_repainting.html
Zur visuellen Darstellung können Sie dieses Skript über den Pine-Editor zu Ihrem Chart hinzufügen, indem Sie den Daily Zeitrahmen des Charts verwenden. Auf dem Chart erscheint ein Indikator, der die Werte für jede Art von Volatilität anzeigt.