TradingViewでは、国債の金利を表示できるので、security()
を使って金利データを参照し、独自にイールドカーブをプロットするインディケーターを作成することができる。
例えば、米国債利回りのシンボル名は下記の通り。シンボル名の US
の部分を JP
に変えれば日本国債、DE
に変えればドイツ国債の利回りになる。
シンボル名 | 説明 |
---|---|
US01Y | 米国債1年 利回り |
US02Y | 米国債2年 利回り |
US03Y | 米国債3年 利回り |
US05Y | 米国債5年 利回り |
US07Y | 米国債7年 利回り |
US10Y | 米国債10年 利回り |
US20Y | 米国債20年 利回り |
US30Y | 米国債30年 利回り |
イールドカーブをプロットするPineスクリプトのコードが下記。
//@version=4
study("Yield Curve")
country = input("US", type=input.string)
round_float(v) =>
round(v * 1000) / 1000
draw(x1, y1, x2, y2, n) =>
l = line.new(x1, y1, x2, y2, color=color.black, style=line.style_arrow_right)
txt = tostring(n) + ": " + tostring(y2)
lb = label.new(x2, y2, txt, textcolor=y2 >= 0 ? color.black : color.red, style=label.style_none)
[l, lb]
yld01_ = security(country + "01Y", timeframe.period, close)
yld02_ = security(country + "02Y", timeframe.period, close)
yld03_ = security(country + "03Y", timeframe.period, close)
yld05_ = security(country + "05Y", timeframe.period, close)
yld07_ = security(country + "07Y", timeframe.period, close)
yld10_ = security(country + "10Y", timeframe.period, close)
yld20_ = security(country + "20Y", timeframe.period, close)
yld30_ = security(country + "30Y", timeframe.period, close)
yld01 = round_float(yld01_)
yld02 = round_float(yld02_)
yld03 = round_float(yld03_)
yld05 = round_float(yld05_)
yld07 = round_float(yld07_)
yld10 = round_float(yld10_)
yld20 = round_float(yld20_)
yld30 = round_float(yld30_)
x_offset = 10
x1 = bar_index[80]
x2 = x1 + x_offset
lb0 = label.new(x1, yld01, "1: " + tostring(yld01), textcolor=yld01 >= 0 ? color.black : color.red, style=label.style_none)
[l1, lb1] = draw(x1, yld01, x2, yld02, 2)
x1 := x2
x2 := x1 + x_offset
h_line = line.new(x1, yld02, x1 + 60, yld02, color=yld10 > yld02 ? color.green : color.red)
[l2, lb2] = draw(x1, yld02, x2, yld03, 3)
x1 := x2
x2 := x1 + x_offset
[l3, lb3] = draw(x1, yld03, x2, yld05, 5)
x1 := x2
x2 := x1 + x_offset
[l4, lb4] = draw(x1, yld05, x2, yld07, 7)
x1 := x2
x2 := x1 + x_offset
[l5, lb5] = draw(x1, yld07, x2, yld10, 10)
x1 := x2
x2 := x1 + x_offset
[l6, lb6] = draw(x1, yld10, x2, yld20, 20)
x1 := x2
x2 := x1 + x_offset
[l7, lb7] = draw(x1, yld20, x2, yld30, 30)
line.delete(l1[1])
line.delete(l2[1])
line.delete(l3[1])
line.delete(l4[1])
line.delete(l5[1])
line.delete(l6[1])
line.delete(l7[1])
line.delete(h_line[1])
label.delete(lb0[1])
label.delete(lb1[1])
label.delete(lb2[1])
label.delete(lb3[1])
label.delete(lb4[1])
label.delete(lb5[1])
label.delete(lb6[1])
label.delete(lb7[1])
hline(0)
独自に追加した部分として、一般的に景気悪化の予兆として捉えられる長短金利の逆転現象を示す指標を追加している。これは、2年債利回りの水準に水平線を引き、2年債と10年債の利回りが逆転すると、水平線が赤色になる。逆転がない平常時は緑色となる。
イールドカーブは下記のように描画される。これは、インディケーターをチャートに3つ追加し、上から日本、米国、ドイツ国債を指定して表示したもの。