葛木のディープバリュー投資ログ

投資は自己責任です。だからよいのです。

ファンダ派のためのTradingView②

こんにちは、葛木です。 前回の記事はTradingViewが有用なツールであるということを宣伝しただけで終わっていましたが、今回の記事では具体的な話に入っていきます。 kkkuzuki.hatenadiary.jp

今回の目標

今回の記事を読めば、以下のようなチャートを作成できるようになります。

トヨタ自動車の週足株価チャートと売上高・営業利益・純利益

忙しい人のために、このチャートに適用したPineスクリプトをはじめに示しておきます。Pineエディタにコピペしてチャートに追加するだけでOKです。

//@version=5
indicator("売上高など", format=format.volume)
tr=request.financial(syminfo.tickerid, financial_id="TOTAL_REVENUE", period="FQ", gaps=barmerge.gaps_on)
plot(tr, title="売上高", color=color.blue, linewidth=2, style=plot.style_columns, offset=-1)

oi=request.financial(syminfo.tickerid, financial_id="OPER_INCOME", period="FQ", gaps=barmerge.gaps_on)
plot(oi, title="営業利益", color=color.purple, linewidth=2, style=plot.style_columns, offset=0)
ni=request.financial(syminfo.tickerid, financial_id="NET_INCOME", period="FQ", gaps=barmerge.gaps_on)
plot(ni, title="純利益", color=color.orange, linewidth=2, style=plot.style_columns, offset=1)

なお、TradingViewの登録や初歩的な使い方については詳しい記事がたくさんありますので、ここでは割愛します。

チャートに財務データを表示

まず、通常通りチャートを開きます。今回は四半期決算の結果を提示したいので、週足がちょうどいいでしょう。

トヨタ自動車週足チャート

TradingViewではPineなど使わなくても、左上赤枠のインジケーターからポチポチと検索することで売上高などの財務データを描画できます。

トヨタ自動車週足チャート(売上高を追加)
同じ要領で"営業利益"を追加して、 営業利益のチャートを右クリック→移動する→上の既存のペインへ、で売上高チャートに重ねて、 チャート縦軸を右クリック→すべてのスケールを一つに統合→右側に、で軸を揃えると売上高と営業利益の推移を確認することができます。 できるんですが、このダイヤ付きステップラインでの表示は、個人的に見慣れていなくていまいちしっくりこないんですよね(同じチャートに営業利益率なんかを加えるとごちゃごちゃして非常に見づらい、という欠点もあります)。

一応見慣れたシンプルな棒グラフにもできるんですが(チャートを右クリックして設定→スタイルから棒グラフを選択)、下記画像のように重なっちゃうんですよね。 棒グラフをずらしたい、となったときはPineスクリプトを使うしかありません。

Pineで棒グラフをずらす

Pineのマニュアルはこちらになります。実にいろんなことができます。が、ここでは簡単に今回の目的に沿った内容のみ解説します。 jp.tradingview.com

まず、左下青枠の"Pineエディタ"を選択し、Pineエディタを開きます。 エディタにて、使用するPineのバージョンは5であること、描画したいのはインジケーターであることを示します。"売上高など"の部分はチャート左上に表示されるタイトルのようなものなので、自由に設定してかまいません。

//@version=5
indicator("売上高など", format=format.volume)

売上高のデータを変数trに代入します。financial_idに入れるべき名前はPineで利用可能な財務データは? — TradingViewから探してください。ここでは総売上高(TOTAL_REVENUE)を選びます。四半期のデータが欲しいときはperiodには"FQ"を入れてください。年間のデータの場合は"FY"です。

tr=request.financial(syminfo.tickerid, financial_id="TOTAL_REVENUE", period="FQ", gaps=barmerge.gaps_on)

plot関数を用いて、trを描画します。ここで、offsetに-1を入れていることに注目してください。こうすることによって、通常時に描画される位置から-1本分(週足チャートなら-1週分)ずらした位置に描画されます。なお、colorは色、linewidthはグラフの大きさ、styleはグラフの種類を設定する項目です。

plot(tr, title="売上高", color=color.blue, linewidth=2, style=plot.style_columns, offset=-1)

あとは同様の手順でoffsetの値に気を付けながら、営業利益や純利益を追加します。

oi=request.financial(syminfo.tickerid, financial_id="OPER_INCOME", period="FQ", gaps=barmerge.gaps_on)
plot(oi, title="営業利益", color=color.purple, linewidth=2, style=plot.style_columns, offset=0)
ni=request.financial(syminfo.tickerid, financial_id="NET_INCOME", period="FQ", gaps=barmerge.gaps_on)
plot(ni, title="純利益", color=color.orange, linewidth=2, style=plot.style_columns, offset=1)

ここまでPineエディタに入力できたら、Ctrl+sで保存して、エディタ右上の"チャートに追加"を押してください。下記のとおり、目的のグラフが描かれたことと思います。

おわりに

今回のように売上高と営業利益などの推移を見たいだけなら、棒グラフにこだわらず、ステップラインで見る方法もあるでしょう(こちらが王道?)。ですが、さらにここに営業利益率を加えたり、配当性向を加えたり、やりたいことが増えてくると見た目がシンプルな棒グラフに頼りたくなってきます。実際私はそうしてPineを取り入れることにしました。 今回の記事が役に立てば幸いです。
ではでは