システムトレード

[EasyLanguage]財務データの取得方法(FundamentalQuotesProviderの使い方)

EasyLanguageでシステムトレード FundamentalQuotesProviderの使い方

トレードステーション(EasyLanguage)をしていて、ファンダメンタル投資をしたいと思うことはありませんか?

パンダはし
パンダはし
システムトレードでファンダメンタル投資ができれば最強だね!?

自動で財務データを持ってきて、PERなどをその時点の株価で計算できれば、投資の機会を逃しにくくなります。

毎日、仕事終わりや通勤の時間にPERなどの計算をするのは疲れませんか?

そういった方のために、EasyLanguageでは、自動で計算してくれるプログラムがあります。

その方法を初心者でもわかりやすく紹介しています。

ファンダメンタル投資を学び直したい方は以下の本がおすすめです。

いっそスクールに通ってプロから学ぶのも良いと思います。

タートル 投資手法 バックテスト
この結果を見てもまだシステムトレードしないのか【タートル流投資手法の驚くべきバックテスト結果】タートルが取ったとされる投資手法をプログラム化して、バックテストを行いました。その結果としては、かなりのリターンが期待できるものでした。トレンドフォローの投資手法は、まだまだ現役であるようです。...

目次

財務データを取得する関数(FundamentalQuotesProvider)

早速ですが、財務データを取得する関数は、FundamentalQuoteProviderです。

この関数の使い方を、「EasyLanguage オブジェクトホームスタディコース例題14」「EasyLanguage オブジェクトホームスタディコース例題14」に沿って解説したいと思います。

STEP1 新規インジケータの作成

FundamentalQuotesProviderの使い方

まずは、「EasyLanguage開発環境」を開いて、インジケータを新規作成しましょう。

STEP2 プログラムの作成

FundamentalQuotesProviderを使うための準備その1

FundamentalQuotesProviderの使い方

プログラムを書いていきましょう。

まず下準備として、「FundamentalQuotesProvider」を使える状態にする必要があります。

画像のように、

①ツールボックスを開く

②「FundamentalQuotesProvider」をダブルクリックする

③下の方に「FundamentalQuotesProvider」が表示されていることを確認

これで、「FundamentalQuotesProvider」を使う準備ができました。

パンダはし
パンダはし
この辺の作業をしない代わりに、プログラム内で指定する方法もあるよ

FundamentalQuotesProviderを使うための準備その2

FundamentalQuotesProviderの使い方

次に、プロパティを設定しましょう。

「FundamentalQuotesProvider」はとても長い名前で、いちいちプログラム上に打っていたら大変なので、プロパティの「Name」のところを書き換えます。

名前を書き変えると、プログラム上で表現する名前を変更できます。

ここでは、マニュアル通り「FQP」とします。

また、「Symbol」と「Fields」は以下の表のように書きます。

Symbol symbol
Fields “CE_SALES,CE_OP,CE_RP”

「symbol」とすることで、チャートやレーダースクリーンに表示されている銘柄を参照します。

ここに、銘柄コードをいれると、その指定した銘柄の財務データを取得します。

「Fields」には、取得したい財務データを書きます。必ず、ダブルクオーテーション(“”)で囲ってください。

それぞれの意味は以下です。

CE_SALES 予想売上高
CE_OP 予想営業利益
CE_RP 予想経常利益
パンダはし
パンダはし
その他の財務データは、「使用可能な財務データ」を見てね。後でも言うけど、これを探すのに苦労したなー(泣)

イベントハンドラの設定

FundamentalQuotesProviderの使い方

プログラムの内容はマニュアルをコピーしてください。上の画像に載っているプログラムもマニュアルと同じです。

プログラムが書けたら、「プロパティ」で、稲妻マークをクリックして、「Updated」に「FQP_Updated」を参照させてください。

これで、F3キーを押して、検証すれば、プログラム完成です。

プログラムの解説

プログラムの中身の解説をしていきたいと思います。

1〜4行目

1〜4行目は、イベントハンドラとしても追加したメソッドです。

財務データが更新される度に、このメソッドが実行されます。

パンダはし
パンダはし
もちろん、チャートに表示したときも、このメソッドは実行されるよ

3行目で、PlotValueというメソッドを実行するようになっています。

5〜15行目

5〜15行目は、財務データをプロットするためのメソッドです。

FQP.Count > 0は、Fieldsで指定した財務データがあるかどうかを判断します。

例えば、書き間違いや、そもそも書き忘れてた、などで認識できない財務データ名になっていたら、このif文の中は実行されません。

if FQP.HasQuoteData(0) thenは、「指定した財務データがあった場合」then以降の内容が実行されます。

ここの(0)は、Fieldsで指定した財務データの一番はじめに書いてあるものです。

つまり、ここでは、”CE_SALES,CE_OP,CE_RP”の内、0がCE_SALESに対応しています。

あとは同じように、1がCE_OP、2がCE_RPに対応しています。

Plot1(FQP.Quote(0).DoubleValue(0),”CE_SALES”)では、取得した財務データをプロットします。

FQP.Quote(0)までで、財務データを取得します。ここの(0)は先ほどと同様に、Fieldsに指定した内容です。

つまり、(0)でCE_SALES(予想売上高)が取得されます。

さらに、FQP.Quote(0).DoubleValue(0)とすることで、取得するデータはdouble(簡単に言うと、小数点以下含む数字)による数字であることを示します。

パンダはし
パンダはし
取得する財務データによっては、StringValueとする場合もあるよ

また、DoubleValue(0)の(0)は、先ほどのQuote(0)の(0)と異なり、いつのときの財務データを取得するかを示します。

0であれば、最新のデータを、(1)とすれば、1期前のデータを取得します。

Quote(0)の(0) Fieldsに指定した財務データ
DoubleValue(n)のn n期前のデータを取得

STEP3 プログラムをレーダースクリーンに表示する

FundamentalQuotesProviderの使い方

複数の銘柄を1度に見たいので、レーダースクリーンに表示してみます。

パンダはし
パンダはし
もちろんチャート上にも表示できるよ!

上の画像のように、「挿入」→「インジケータ」→作成したインジケータを追加→「OK」として、レーダースクリーンに表示してみてください。

FundamentalQuotesProviderの使い方

予想売上高・予想営業利益・予想経常利益が表示されたと思います。

値が0となっているのは、未発表だったり、データがなかったりするものです。

パンダはし
パンダはし
表示されてる金額の単位は「百万円」だよ

実際に正しい値が入っているか、確認してみましょう。

以下の画像は、三菱重工の四季報です(マネックス証券から取ってきてます)。

FundamentalQuotesProviderの使い方

2019年8月時点で確認したので、2020年3月が次の予想データとなっています。

レーダースクリーンに表示された値と確かに一致します。

Fieldsに使える財務データ

FundamentalQuotesProviderの使い方

マニュアルを見ると、上の画像のように、「EasyLanguageオブジェクトリファレンスのヘルプを見てください。」となっています。

パンダはし
パンダはし
なるほど!ヘルプを見たら色々書いてあるのか!

こう思って、ヘルプを見てみると、以下の画像にたどり着くと思います。

FundamentalQuotesProviderの使い方
パンダはし
パンダはし
あれ??ヘルプを見てもCE_SALESとか書いてないよ?しかもここに書いてある名前をいれてもエラーになる(泣)

実は、上の方で使えるFields一覧のリンクを貼りましたが、アプリからいけるトレードステーションのヘルプではありません。

再度、以下にリンクを貼りますが、おそらく、トレードステーションのヘルプは、海外版を日本語訳しただけで、日本版のトレードステーションには対応していないのではないかと思います。

使用可能な財務データ一覧

FundamentalQuotesProviderの使い方

上記リンク先の「フィールド名」で、CEからはじまるものと、CRからはじまるものが多いことがわかります。

「CE」ではじまるものが「予想」で、「CR」からはじまるものが「実績」を表しています。

したがって、CE_SALESは予想売上高でCR_SALESは実績売上高を示します。

まとめ

EasyLanguageにて、財務データを取得する方法(FundamentalQuotesProviderの使い方)について紹介しました。

これを利用することで、PERの計算などが簡単にでき、すぐに情報を得られるメリットがあり、ファンダメンタル投資をシステムトレードですることが可能です。

FundamentalQuotesProviderを使ったシステムトレードができるようになれば幸いです。

EasyLanguageについて学びたい方は、以下の入門本もおすすめです。

ファンダメンタル投資を学びたい方は、以下の本がおすすめです。

タートル 投資手法 バックテスト
この結果を見てもまだシステムトレードしないのか【タートル流投資手法の驚くべきバックテスト結果】タートルが取ったとされる投資手法をプログラム化して、バックテストを行いました。その結果としては、かなりのリターンが期待できるものでした。トレンドフォローの投資手法は、まだまだ現役であるようです。...

システムトレードをEasyLanguageにより自作する方法まとめ記事はこちら!

Nocchi_nochilog(のっち)
少額投資をこよなく愛する1児のパパ&サラリーマン。
お小遣い制でも負けずに投資をしています。

知るだけで暮らしが豊かになる知識を発信中!
若いうちから投資することの重要性を伝えるべく、ブログの記事を更新しています。

特にインスタグラムでは、1日1分で自然とお金の知識が身につくような情報を発信しています。
ぜひ合わせてご覧ください!

下のアイコンから飛べます!
\ Follow me /

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です