更新日時:2019年8月3日
※この記事は連載です。
トレードステーションとエクセルを使った株価予報の開発過程を完全公開します。(サンプルプログラム含む)
連載記事を続けてご覧の方は、目次から [第3章]トレードステーションからデーターを取得する にお進みください。
前の記事はこちら
株価予報の作り方1 トレードステーションとエクセルでの作成過程を完全公開します。[自動売買・システムトレード戦略・サンプルコード付き]
あなたは、天気予報を毎日チェックしますか?
株式投資をやっているなら、「株価予報」も毎日チェックしたいと思いますよね?
「今日の日本の株価は 晴れ(上昇)でしょう。」
「降水確率(下落確率)は30%です」
こんな情報を、朝のニュース番組でやっていたらいいですよね。
でも私の知る限り、朝のテレビ番組では放映していません。
ないなら作ってみよう!!
このように思い立ちましたが、作るのは 株価予想 ではなく 株価予報 です。
ナゼ、そのような予報になったのか、根拠を公にする必要があるでしょう。
サイト管理者が、頭を悩ませながら株価予報の仕組みを作ります。
その過程をすべて公開する予定です。
成功と失敗を重ねながら、多くの時間を掛けて開発することになるでしょう。
これだけは、絶対に自信を持って言えます。
「このページにあるのは、偽りのない事実だけです」
スポンサーリンク
この記事のコンセプト
このブログ記事は、下のブログ記事を再編集したものです。
目的の項目にアクセスしやすいように、記事を分割・加筆・修正しました。
初心者向け。株価予報をトレードステーションとエクセルで作る。[トレードステーションの使い方やEasy Languageも学べます][自動売買・システムトレード]
このブログ記事を書き進める前に、記事作成の方針を明らかにします。
- 「株価予想」を作成する過程を公開する。
- 「株価予想」のロジック(しくみ)を公開する。
- 「再現性」を確保する。(他の人もできる)
- トレードステーションやエクセルがなくても内容を理解できる。
「株価予想」を作成する過程を公開する。
情報の取り方や、取得した情報の加工方法なども、解説します。
作業手順を、順番どおり公開します。
失敗(無意味な分析結果が出る)することも多いと思いますが、隠さずに公開します。
システムトレードをやっている方には、むしろ失敗の方が有益な情報になるかも知れませんね。
「株価予想」のロジックを公開する。
株価予報の結果が、どのように導き出されたのか?
すべての理由を公開します。
ロジックを公開した条件下でなら、ベータ版の「株価予報」をこのブログで公開しても、許容されると考えています。
再現性を確保する。
使用するツールは誰でも手に入れられるツールを使用します。
「マネックス証券のトレードステーション」と「Microsoftのエクセル」を使用する予定です。
トレードステーションから情報を得たり、検証するためにトレードステーションの専用プログラミング言語「Easy Language」を使用します。
「Easy Language」のプログラムも、できるだけ単純な構成にして、プログラム未経験者にも優しい解説を心がけます。
トレードステーションや、エクセルがなくても内容を理解できる。
読み物としても楽しんでいただけるように、配慮するつもりです。
気楽に読んでいただけたら幸いです。
この記事は連載です。
前の記事はこちら。
株価予報の作り方1 トレードステーションとエクセルでの作成過程を完全公開します。[自動売買・システムトレード戦略・サンプルコード付き]
[第3章]トレードステーションからデーターを取得する
トレードステーションに表示されたチャートから、データーを取得しましょう。
方法はいくつかあるのですが、一番簡単な方法から紹介します。
チャート上で右クリック。
「データウインドウを表示」をクリックします。
するとデータウインドウが開き、ローソク足の詳細データーが表示されます。
データウインドウ左上の「保存のアイコン」を押すと、データーをテキスト形式でダウンロードすることも出来ます。
この方法でダウンロードしたデーターを、エクセルに読み込んで分析を進めてもOKです。
このブログでは、今後の高度化した分析に耐えられるように、トレードステーション専用のプログラミング言語「Easy Language」を使用して、データーを取得します。
[第4章]トレードステーションからデーターを取得する2
※トレードステーションを持っていない方は、読み飛ばして頂いて結構です。
トレードステーションでは「データウインドウ」から簡単に株価情報を取得することが出来ます。
取得したデータをエクセルや、統計ソフトなどでグリグリ分析しても良いのですが、トレードステーションはトレード専用ツールです。
株価分析に必要なインジケータも沢山搭載されていますから、分析が高度化した場合の開発効率を考えて、データは次のように取得します。
- トレードステーション側で少し加工したデーターを出力
- エクセルに取り込んで分析する
どのようなデーターを取得するか
手始めに、日経平均株価の値動き、前日のDOW指数の上下、為替(USD・JPY)の上下、この関係性を見てゆきます。
必要なのは、各銘柄の4本値です。
「始値」「終値」「高値」「安値」
この4本値は、ローソク足の情報そのままなので、取得は簡単です。
日経平均株価が、米国DOW指数や為替の影響を受けていることは、広く知られています。
前日のDOW指数が上げて、円安になれば翌日の日経平均株価は高く始まることが多いと言われています。
日経平均株価そのものについても考えましょう。
前日の株価が大暴落した翌日の株価はどうなるか?
2日続けて上昇したときの翌日の株価は?
いくら米国DOW指数に影響されるといっても、日経平均株価そのものが強気の時と、弱気の時では影響度も変わるはずです。
「日経平均株価が2日続けて上昇」「DOW指数が2日続けて上昇」「日本円が2日続けて円安」
このパターンの時に、翌日の日経平均株価の値動きはどうだったのか?
仮定の話ですが、過去にこのパターンが100回現れて、80回上昇していたとしたら、あなたはどのような投資戦略を立てますか?
想像しただけで、ワクワクしてきますね。
取得するデーター
取得するデーターは次となります。
- 日経平均株価(4本値)および、「上昇」「下降」「中立」だったか
- DOW指数株価(4本値)および、「上昇」「下降」「中立」だったか
- 為替(USD・JPY)(4本値)および、「上昇」「下降」「中立」だったか
データーを取得するプログラムコード
※プログラムコードにバグ(不具合)が見つかりましたので、プログラムコードを修正しました。
修正したプログラムコードおよびデーターの取得手順は、このブログ連載記事 [第8章]エクセルに直接株価情報を取り込む で紹介しています。
ご迷惑をおかけして申し訳ありません。
[第5章]データー取得の仕切り直し
プログラムのミスでご迷惑をおかけしております。
トレードステーション専用のプログラミング言語「Easy Language」を使用して、データーを取得する方法は、[第8章]エクセルに直接株価情報を取り込む で改めて解説します。
データー取得の仕切り直しです。
先に解説した、トレードステーションの「データウインドウ」から株価データを取得します。
トレードステーションのチャートを右クリック。
データウインドウを選びます。
データウインドウ右上の「保存」アイコンをクリック。
保存するデータを選んで「OK」ボタンを押します。
ファイル名を付けて保存すれば、株価データが取得出来ます。
同様に「DOW指数」「為替」のデータも保存しましょう。
◇ここで、取得したデーターについて注意。
取得したデーターはDOWや為替データーも含まれるため、ローソク足データーの最終取得時間は、朝5時59分です。
このため、日経平均ローソク足の期日は翌日の日付で登録されています。
パターンを分析する上で支障が無いため、補正せずにデーターを使用しています。
エクセルに取得
ダウンロードしたデーターをエクセルで読み込みます。
エクセルを立ち上げて、先ほどダウンロードしたテキストデータを、ドラッグ&ドロップすればOK。
エクセルにデータが読み込まれましたが、A列のセルにすべてのデーターが格納されています。
このままでは分析できないので、データーを区切ります。
エクセルの「データ」「区切り位置」を選びます。
取得したデーターはカンマで区切られているようですね。
「カンマ」にチェックを入れて「次へ」ボタンを押します。
ここで注意!
A列に日付データが入っていますが、データーの並びは「月・日・年」です。
日付のラジオボタンにチェックを入れて、プルダウンから「MDY」を選びます。
確認して「完了」ボタンを押しましょう。
「日経平均株価」「DOW指数」「為替」のデーターをすべてエクセルに取り込んでください。
取り込みが完了したら、ファイルをエクセルの形式で保存するのも忘れずに!
私の環境では、日経平均株価を取り込んだ際、日本語がうまく処理されていませんでした。
I列が文字化けしています。 正しくは、 短期の移動平均 長期の移動平均 でした。 まぁご愛敬と言うことにしておきましょう。
手で修正しました。
エクセルでパターンを判定
株価データーをエクセルに取り込むことが出来ましたので、いよいよパターン分析を始めましょう。
まず、ローソク足が陽線だったのか陰線だったのか判定させます。
陽線:始値よりも終値が高い
陰線:始値よりも終値が低い
終値と始値の差をエクセルに計算させます。
下の例では、K列に 計算式 「=F2ーC2」を入力しています。
次にローソク足が陽線だったのか陰線だったのか判定させます。
この判定には、エクセルの関数 IFを使います。
=IF(K2>0,”陽線”,”陰線”)
簡単に、この関数の説明をしますね。
K2>0
K2セルに入っている数値が、ゼロより大きいかを判断
もし大きければ、”陽線” と表示
それ以外であれば, ”陰線” と表示
IF は 英語の”もし” のIFです。
当日、前日、前々日、の日経平均株価のローソク足が、「陽線だったのか」「陰線だったのか」、セルにまとめます。
文字は ”&” でまとめて(結合)表示されます。
なんと、M列の一番上に陰線が3つ続けて出ています。 最初の分析結果なのに不吉ですねぇ。(*^_^*)
ふと、思いつきました。
日経平均株価が2日続けて陰線だった場合、翌日の日経平均が陰線になる確率は?
つまり、3日続けて陰線(又は陽線)になる確率が高ければ、デイトレード戦略に活用出来そうです。
「2日続けて陰線だから、寄り付きから空売りしよう!」なんて戦略は機能するでしょうか。
チョット寄り道して、「3連続陽線」「3連続陰線」が出現する度合いを見てみましょう。
チョット寄り道(日経平均3連続陰線・陽線戦略は機能するか?)
思いつきの戦略が機能するかどうかの確認なので、エクセルのフィルタを使って簡単に調べましょう。
戦略1:日経平均株価が2日続けて陰線ならば、「寄り付きで空売り」して「大引けで手仕舞う」。
M列「陰線陰線陰線」でフィルタを掛けます。
エクセルの左下に「4911レコード中597個が見つかりました」と表示されています。
これは、株価の日足データーが4911日分あり、その中で3日続けて陰線だったパターンが597回あったと言うことです。
次にK列をすべて選択します。
エクセルの左下に「平均-117.9145059 データの個数:597 合計:ー70394.96」と表示されています。
これは、3日続けて陰線だった日の平均下落幅、出現回数、合計額を表しています。
合計:ー70394.96 です。
想定した戦略はこちらです。
戦略1:日経平均株価が2日続けて陰線ならば、「寄り付きで空売り」して「大引けで手仕舞う」。
合計がマイナスですが、売り戦略なので利益は逆のプラスになります。
日経平均株価そのものを売買することは出来ませんが、仮に日経225先物が同じ価格だったとします。
日経225先物は、ラージで現物の1000倍、ミニで現物の100倍のレバレッジです。
単純に1000倍してみます。
70394.96 X 1000 = 70,394,960円
なんと、7千万円以上の利益を得られることになります。
※手数料、税金は考慮していません。
さっそくやってみよう!と思ったあなた。
忘れちゃいけません。
これまで計算していたのは、3日続けて陰線が出たときの収益です。
戦略が外れて、損をする場合の計算もしましょう。
陰線が2日続いた後陽線が出たパターンでフィルタを掛けます。
エクセルの左下に「平均117.8255397 データの個数:630 合計:74230.09」と表示されています。
合計:74230.09
先ほどと同じように、仮に日経225先物が同じ価格だったとして計算します。
日経225先物は、ラージで現物の1000倍、ミニで現物の100倍です。
単純に1000倍してみます。
74230.09 X 1000 = 74,230,090円
今度はこの合計金額がマイナスになりますので、先ほどの利益 7,039,4960円から引きます。
70,394,960円 ー 74,230,090円 = -3,835,130円
おやおや、4百万円弱の損失になりました。
※手数料、税金は考慮していません。
戦略1:日経平均株価が2日続けて陰線ならば、「寄り付きで空売り」「大引けで手仕舞う」。
この戦略では、損益が -3,835,130円 となりました。
お気付きかも知れませんが、マイナスが出ているので戦略を「買い」に変えるだけで、利益がでる戦略に早変わりです。
戦略1改:日経平均株価が2日続けて陰線ならば、「寄り付きで買い」「大引けで手仕舞う」。
「そうか! それならさっそくこの戦略でトレードしよう」と思ったあなた。
まだまだ気が早いですよ。
経験上使えない投資戦略になりそうな予感がします。
チョット寄り道 戦略1改の損益カーブ
戦略1改:日経平均株価が2日続けて陰線ならば、「寄り付きで買い」「大引けで手仕舞う」。
この収益曲線を、エクセルで計算してみましょう。
陽線が2日続いたら買う戦略なので、M列のフィルタを「陰線陰線陽線」にします。
K列には、終値から始値を引いた数値が入っていますので、その数値が利益となります。
集計しやすくするために、N列に =K6 と入力しK列と同じ数値がN列にも表示されるようにしましょう。
そのセルをデーターの一番下まで貼り付けてください。
M列にはフィルタがかかっている状態なので、戦略1改「陰線陰線陽線」で利益が出ている日だけ、M列に値が表示されることになります。
次に損失の計算をする準備をします。
陽線が2日続いたら買う戦略なので、3日目が陰線の場合損失が出ます。 M列のフィルタを「陰線陰線陰線」にします。
K列には、終値から始値を引いた数値が入っていますので、その数値が損失となります。
集計しやすくするために、N列に =K6 と入力しK列と同じ数値がN列にも表示されるようにしましょう。
そのセルをデーターの一番下まで貼り付けてください。
M列にはフィルタがかかっている状態なので、戦略1改「陰線陰線陰線」で利益が出ている日だけ、M列に値が表示されることになります。
フィルタを解除すると、損益が出ているセルだけに数値が入っていることが分かります。
損益通算を算出しましょう。
O列に下のような計算式を入れます。
データーは上から古い順に並んでいますので、損益通算を算出することが出来ます。
感覚的に理解するためにグラフにしましょう。
不要な列を非表示にしてから、グラフを作ると簡単ですよ。
どうでしょうか。
自分が実際に投資していると想像してください。
1999年4月27日から投資を始めて、翌年にはマイナス突入。
その後プラス圏とマイナス圏を行ったり来たりして、4年後の2013年から徐々に利益が積み上がっていますが、積み上げた利益を半分ほど失うような、荒い損益カーブになっています。
もう一つ疑問が生まれてきました。
戦略のロジックをもう一度確認しましょう。
戦略1改:日経平均株価が2日続けて陰線ならば、「寄り付きで買い」「大引けで手仕舞う」。
買いだけの戦略です。
戦略のロジックが有効なのでは無くて、単に日経平均株価のトレンドに影響されていないか?
この点は非常に重要です。
システムトレードを子らから学ぶ方には、十分注意して頂きたい内容となります。
戦略1改損益通算グラフに日経平均株価のチャートを重ねてみましょう。
日経平均株価の終値がF列に入っていますので、エクセルシートのF列を再表示させてから、チャートを作成します。
おや? 日経平均株価の終値がチャートに表示されませんね。
Closeが数値としてエクセルに認識されていないのかも知れません。
データーの範囲を選択して、表示形式を数値に変えます。
この方法でもグラフに変化はありませんでした。
グラフの上で右クリック。「グラフの種類の変更」を選びます。
おお。 出てきましたね。
2つの折れ線グラフが表示されている図を選んで「OK」ボタンを押します。
さらに、2つの折れ線グラフを重ねてみましょう。
グラフ上で右クリックして「データー系列の書式設定」を選びます。
この設定画面が現れるので、第2軸のラジオボタンをクリックします。
表示されたグラフはこちら。
左側の軸は日経平均株価、右側の軸は損益(1000倍していない値)です。
どうでしょうか。
ほぼ、日経平均株価の値動きと、損益のグラフは同期しているように見えます。
トレード戦略1改のロジックが正しかったと言うよりも、単に日経平均株価が上昇基調であった事によって、利益が出ていたのかも知れません。
これなら、手数料をかけてトレードを繰り返すより、日経平均ETF(上場投資信託)や先物を買っていた方がマシですよね。
思いがけず、システムトレード戦略構築で重要な注意点に出会うことが出来ました。
戦略のロジックが有効なのか? 単に株価のトレンドに影響されただけ?
この点は常に注意する必要があります。
トレンド転換を判断するロジックが組み込まれていない、システムトレード戦略を作った場合は、トレンド転換により損益が大きく変化します。
戦略1改を、さらに改良するアイデアも沢山あるのですが、寄り道が長くなってしまいました。
今回の記事はココまでとします。
次の記事はこちら。
株価予報の作り方3 日経平均・DOW・為替のローソク足パターン分析 [自動売買・システムトレード戦略]
「そんなの待ちきれない!」と言う方はこちら。
このブログ記事は、下のブログ記事を再編集したものです。
初心者向け。株価予報をトレードステーションとエクセルで作る。[トレードステーションの使い方やEasy Languageも学べます][自動売買・システムトレード]
スポンサーリンク
この記事を書いた人
ゆたかドットらいふ編集部
あしおゆたか
投資歴21年の個人投資家
机上の理論ではなく、実体験に基づいた記事作りをモットーにしています。
スポーツクラブに毎週2日~3日通い、サウナ後の暴飲暴食が趣味。
◇主な投資対象
日本株式
株式ETF(上場投資信託)
日経225先物
日経225先物オプション
◇運営者情報はこちら