Comments
Description
Transcript
自動株式売買プログラムにおける テクニカル分析指標の
平成 18 年度 学士学位論文 自動株式売買プログラムにおける テクニカル分析指標の有効利用の検証 Effective ness of technical indicators in an automatic stock trade program 1070469 渡辺 菜美 指導教員 篠森敬三 2007 年 3 月 9 日 高知工科大学 情報システム工学科 要 旨 自動株式売買プログラムにおける テクニカル分析指標の有効利用の検証 渡辺 菜美 本研究では新しい投資法の開拓を目的として,株式売買に不可欠な売買タイミング検出手 法“テクニカル分析”の各指標特性を有効に利用できる組み合わせを追求し,自作の自動株 式売買プログラムを用いて提案する投資法の実用性を検証した. 本提案では,MACP・VR・MACD という 3 指標を MACP を主軸として組み合わせた投 資法を提案する. この組み合わせにより, “乖離幅・出来高・方向性”という 3 視点から銘柄 を見定めることができ,各指標の欠点を補完し合いながらより着実に利益を上げられるはず である. 検証データを比較するために本提案法とともに,MACD ではなく RSI を採用した 既存の投資法“3 点チャージ投資法”と MACP と VR の 2 指標のみを組み合わせた“基盤” を実装し,模擬運用を行った. また,同時期の日経平均株価も比較対象として加味した. 運用環境は初期資産 5,000 万円を用いて前日の市場情報から 1 日 1 回,1 年間だけ売買を 行った. また,“取引単位分は購入する”という条件の元で 取引余力 当日の購入シグナルを検出した銘柄数 株価 という公式 を用いて, 購入枚数を決定した. 模擬運用を行った結果,本提案は他の投資法と比べても適度にシグナルを検出し,十分な 利益も確保できることが確認できた. ただし,最大ドローダウンは日経平均や基盤と比べる と高めであった. これは MACD と MACP の売りシグナル検出も売却条件に組み入れたこ とで上昇相場を素早く検出するようになったため,稀に所有銘柄がある程度持ち直す前に売 却してしまうという欠点を示している. –i– また,今後の課題として今回用いた売買環境の各項目の初期設定が最適かどうかを検証す る必要がある. キーワード MACP, VR, MACD, 3 点チャージ投資法, RSI, 日経平均株価 – ii – Abstract Effective ness of technical indicators in an automatic stock trade program Nami Watanabe The purpose of this research is to develope a new investment technique. I pursued the combination which can effectively use each index characteristic of “the technical indicators (the detection techniques of a stock trade timing).” I had verified the practicality of my investment method on my automatic stock trade program. This proposed method uses the investment technique in which MACP (Principal axis), VR and MACD are combined. With this combination, we can ascertain stock prices in three viewpoint “Conversion with, Turnover, and Directivity.”Possible faults of each index can be covereel by each other. For this reason, we will be able to get profits more certainly. In order to confirm advantage of this investment technique in comparison, I also programmed “The three point charge investment technique (the previous investment technique by combination of MACP【Principal axis】, VR and RSI).”and“The Base technique (the investment technique by combination of MACP and VR).”I carried out imitation stock trade by using these three technique, and Nikkei225 with stock price data in 2005. As a management environment, initial property was set to 50 million yen. The trading was only once per day using market information until the previous day, and continued it for one year. When the buy signal was detected, the purchase number was tradingpower purchasebrandontheday . determined by a formula T henumberofstockprice – iii – The result of performance in imitation stock trade, this proposal detected signals moderately, and sufficient profits were obtained. But compared with the Nikkei225 or the Base, the maximum drawdown was higher. It means that this technique has a defect, too. Because of the combination of MACD and MACP, once a rise market is detected the sell signal is activated before a possession brand improves to some extent. These, it shows the fault of selling rarely at a low price than the price of purchase. Also, for better results in a practical use, it should be adjuseed more precisely the intial condition of parameters in sell signals and buy signals.There is a possibility that the formula to determine the number of stocks maybe insufficient. key words MACP, VR, MACD, The three point charge investment technique, RSI, Nikkei225 – iv – 目次 第1章 はじめに 1 1.1 背景と研究目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 4 つの既存テクニカル指標 . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2.1 移動平均乖離率 (MACP : Moving Average Conversion Premium) . . 2 1.2.2 VR (VolumeRatio) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2.3 RSI (Relative Strength Index) . . . . . . . . . . . . . . . . . . . . . . 4 1.2.4 MACD . . . . . . . . . . . . . 5 3 点チャージ投資法 (既存の投資法) . . . . . . . . . . . . . . . . . . . . . 6 第2章 本提案 7 第3章 検証 1 9 3.1 検証手法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.2 カブロボコンテスト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.3 日経平均株価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.4 プログラム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.5 実行画面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.3 (Moving Average Convergence Divergence) 3.5.1 購入処理実行画面 . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.5.2 売却処理実行画面 . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 第4章 検証結果 23 第5章 検証 2 27 検証手法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 検証結果 29 5.1 第6章 –v– 目次 第7章 考察 33 7.1 本提案における負けトレードの分析 . . . . . . . . . . . . . . . . . . . . . 33 7.2 売買環境の設定について . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 謝辞 35 参考文献 37 付録 A 本提案におけるシグナル検出例 39 A.1 2005 年 JAL 株の売買グラフ (3 点チャージ法との比較) . . . . . . . . . . 39 A.2 2006 年 JAL 株の売買グラフ (3 点チャージ法との比較) . . . . . . . . . . 39 A.3 ANA 株の売買グラフ (3 点チャージ法との比較) . . . . . . . . . . . . . . 40 A.4 ドコモ株の売買グラフ (3 点チャージ法との比較) . . . . . . . . . . . . . . 40 A.5 NTT データ株の売買グラフ (3 点チャージ法との比較) . . . . . . . . . . . 40 – vi – 図目次 1.1 MACP のシグナル検出例 . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 VR のシグナル検出例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 RSI のシグナル検出例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 MACD のシグナル検出例 . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.5 3 点法のシグナル検出例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.1 本提案のシグナル検出例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.1 実行画面例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.1 3 点チャージ投資法の運用グラフ . . . . . . . . . . . . . . . . . . . . . . . 23 4.2 基盤の運用グラフ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.3 本提案の運用グラフ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.4 20 銘柄 1 年分の運用グラフ . . . . . . . . . . . . . . . . . . . . . . . . . . 24 6.1 3 点チャージ投資法の運用グラフ . . . . . . . . . . . . . . . . . . . . . . . 29 6.2 基盤の運用グラフ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 6.3 本提案の運用グラフ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 6.4 50 銘柄 1 年分の運用グラフ . . . . . . . . . . . . . . . . . . . . . . . . . . 30 6.5 9301 株の売買グラフ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 6.6 5713 株の売買グラフ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 A.1 2005 年 JAL 株における本提案の売買グラフ . . . . . . . . . . . . . . . . . 39 A.2 2006 年 JAL 株における本提案の売買グラフ . . . . . . . . . . . . . . . . . 39 A.3 ANA 株における本提案の売買グラフ . . . . . . . . . . . . . . . . . . . . . 40 A.4 ドコモ株における本提案の売買グラフ . . . . . . . . . . . . . . . . . . . . 40 – vii – 図目次 A.5 NTT データ株における本提案の売買グラフ . . . . . . . . . . . . . . . . . – viii – 40 表目次 3.1 各指標の売買条件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.2 各投資法の売買条件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.1 20 銘柄 1 年分の成績表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.2 本提案 (20 銘柄) の売買記録 . . . . . . . . . . . . . . . . . . . . . . . . . 25 6.1 50 銘柄 1 年分の成績表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 6.2 本提案 (50 銘柄) の売買記録 30 . . . . . . . . . . . . . . . . . . . . . . . . . – ix – 第1章 はじめに 1.1 背景と研究目的 個人金融資産はアメリカでは 36.5 兆ドル, これは日本円にして 4200∼4300 兆円であり, その内の 42 %は投資に宛てられている.対する日本の個人金融資産は 1500 兆円であり, そ の内, 投資に宛てられている割合は僅か 12 %に過ぎないというデータがある. これは日本で は収益性よりも安全性志向が強いこと, 公開されている投資アルゴリズムが少ないこと等の 現状問題から, 例え投資に関心を持ったとしても多くの人は投資の世界に踏み込めないこと も一つの要因であると考えられる. しかし先の見えない将来ゆとりある生活を送るためにも, これからは貯蓄重視のスタンスに留まらず, 投資を利用した積極的な資産運用を検討するこ とも必要である. そこで本研究では新しい投資アルゴリズム開拓を主な検証目的として, 株式売買に不可欠 な売買タイミング検出手法“テクニカル分析”の各指標特性を有効に利用できる組み合わせ を追求し, 自作の自動株式売買プログラムを用いて提案する投資アルゴリズムの実用性を検 証する. 1.2 4 つの既存テクニカル指標 以下に本研究で用いる 4 つの既存テクニカル分析指標の公式や特性を記す. –1– 第1章 1.2.1 はじめに 移動平均乖離率 (MACP : Moving Average Conversion Premium) MACP は, 終値の N 日平均値から得られる移動平均線からの株価の放れ具合を指す指標 である. MACP は当日の株価が移動平均値よりも大きい場合は+, 移動平均値よりも小さい場合 は−となる.この特性を利用して, 定められた下落ピーク値を下回れば買いタイミングとし, 上昇ピーク値を上回れば売りタイミングとする. この MACP は“移動平均からの乖離は是正される可能性が高い”という経験則を利用し た指標であり, 移動平均を基軸とした補正タイミングを検出する指標であると言える. M ACP (%) = (A−B) B ∗ 100 A = 当日株価 B = N 日移動平均値 一般的には 26 日移動平均, 下落ピーク値-5∼-10 %, 上昇ピーク値+5∼+10 %を取る. 図 1.1 MACP のシグナル検出例 –2– 1.2 4 つの既存テクニカル指標 1.2.2 VR (VolumeRatio) VR は N 日間の内、株価値上がり日の出来高は値下がり日の出来高合計と比べてどの程 度かを指す指標である. VR は一定期間内において全て前日比マイナスの場合 0 %, 前日比プラスとマイナスの日 の出来高合計が同数の場合 100 %, 全て前日比プラスの場合は+∞%に指数化される.この 特性を利用して, 定められた下落ピーク値を下回れば買いタイミングとし, 上昇ピーク値を 上回れば売りタイミングとする. この VR は“株価が大きく変化するときは出来高を伴う事が多い”という経験則を利用し た指標であり, 出来高をベースに株価の行き過ぎを見る指標であると言える. V R(%) = A+ 21 C B+ 12 C ∗ 100 A = 株価上昇日の出来高合計 B = 株価下落日の出来高合計 C = 前日日 0 の日の出来高合計 一般的には 14 日間, 下落ピーク値 30∼70 %, 上昇ピーク値 80∼450 %を取る. 図 1.2 VR のシグナル検出例 –3– 第1章 1.2.3 RSI はじめに (Relative Strength Index) RSI は N 日間の終値前日比 (当日-前日) 値上がり幅・値下がり幅の割合から, 株価の値上 がり度合いを指す指標である. RSI は一定期間内において全て前日比マイナスの場合 0 %, 全て前日比プラスの場合は 100 %となる.この特性を利用して, 定められた下落ピーク値を下回れば買いタイミングと し, 上昇ピーク値を上回れば売りタイミングとする. この RSI は相場の相対的な強弱を基軸に補正タイミングを検出する指標であると言える. 初日 RSI(%) = A A+B ∗ 100 A = 終値前日比値上がり幅平均値, B = 終値前日比値下がり幅平均値 以降 RSI(%) = A′ A′ +B ′ ∗ 100 C = 当日値上がり幅 , D = 当日値下がり幅 A′ = A∗(n−1) + C N , B′ = B∗(n−1) + D N 一般的には 14 日間, 下落ピーク値 20∼30 %, 上昇ピーク値 70∼80 %を取る. 図 1.3 RSI のシグナル検出例 –4– 1.2 4 つの既存テクニカル指標 1.2.4 MACD (Moving Average Convergence Divergence) MACD は直近に重きを置く 2 つの移動平均の位置関係から, 値上がり・値下がり度合い を指す指標である. MACD は一定期間内において株価上昇スピードが早くなると (早く反応する) 短期指数平 滑移動平均値 EMA と (なかなか反応しない) 長期指数平滑移動平均値 EMA の差がプラス に拡大する.この特性を利用して, 0 を下回れば買いタイミングとし, 0 を上回れば売りタイ ミングとする. この MACD は急激な株価変動によるトレンド転換期を素早く察知することで補正タイミ ングを見極める指標であると言える. 初日=N 日間移動平均値 以後=短期指数平滑移動平均値 EMA-長期指数平滑移動平均値 EMA A = 当日株価 平滑化定数α (変動幅 0 ≦α≦ 1) = EM A = 前日 EM A + 2 N +1 . A−前日 EM A α 一般的には短期指数平滑移動平均値 EMA は 12 日, 長期指数平滑移動平均値 EMA は 26 日を取る. 図 1.4 MACD のシグナル検出例 –5– 第1章 1.3 はじめに 3 点チャージ投資法 (既存の投資法) テクニカル分析には MACP,VR,RSI,MACD 以外にも数多くの指標があり, 信頼性の高い 指標も提起されている.しかし, 万能な指標は存在せず, 1 指標だけで売買タイミングを判 断すると上手くいかないことがあるため, 個々のテクニカル指標を上手く組み合わせて補完 するのが一般的である. この個々のテクニカル指標を組み合わせて補完する投資法の 1 つに, 3 点チャージ投資法 という投資法がある.3 点チャージ投資法は,MACP・VR・RSI という 3 指標を, MACP を主軸として組み合わせることで下落相場で下落し過ぎた銘柄を購入し, ある程度持ち直し たら売却するという戦略を取る投資法である. • 買いタイミング : MACP, VR, RSI 全てに買いシグナルが出たとき • 売りタイミング : MACP と VR の 2 指標に売りシグナルが出たとき, もしくは MACP と RSI の 2 指標に売りシグナルが出たとき 図 1.5 3 点法のシグナル検出例 –6– 第2章 本提案 前述した既存の投資法の 1 つ“3 点チャージ投資法”に組み込まれている MACP と RSI は, どちらも当日終値の変動を元にシグナルを検出するという類似した指標であるため, ほ ぼ同じ欠点を持つ. これは図 1.1 と図 1.3 を比較してもほぼ同位置で売買シグナルを検出す ることが分かる. このようにほぼ同じ欠点を持つ 2 指標を組み合わせた, 3 点チャージ投資 法の売買シグナルには「騙し」が生じる可能性があると言える. そこで,重複した欠点を持つ RSI ではなく,VR の欠点を補完する MACD を組み合わせ た投資法を用いるならば,3 つの視点である“乖離幅・出来高・方向性”から銘柄を見定め ることができるようになり, 各指標の欠点を補完し合いながらより着実に利益を上げられる のではないかと考えた. 図 2.1 に 3 点チャージ投資法の売買シグナルと, 本提案による売買シグナルとの比較を 表す. 図 2.1 本提案のシグナル検出例 –7– 第3章 検証 1 3.1 検証手法 今回の検証に用いるのに丁度良いと思われる“カブロボコンテスト”の仕様に準拠して, 本 提案のアルゴリズムを実装し, 実用性を検証した.カブロボ SDK(仮想売買環境を持つツー ル) と java 言語を用い, 本提案の実用性を検証できるプログラミング [1] を行った. また, 検 証データの比較対象として 3 点チャージ投資法,3 点チャージ投資法から RSI を抜き出した 投資法“基盤”も実装した. それぞれの売買条件を表 3.1,表 3.2 に記す. 表 3.1 各指標の売買条件 MACP VR RSI MAC-D 日数(日) 26 25 14 短期 EMA は 12,長期 EMA は 26 下落ピーク値 -7 % 70 % 25 % 境界線 0(差) 上昇ピーク値 5% 250 % 75 % 境界線 0(差) 表 3.1 では例えば MACP は 26 日移動平均を取り,MACP が-7 %を下回れば買いシグナ ルを検出し,5 %を上回れば売りシグナルを検出することを記している. 表 3.2 各投資法の売買条件 3 点チャージ投資法 基盤 本提案 購入条件 MACP & VR & RSI MACP & VR MACP & VR & MAC-D 売却条件 MACP & VR or MACP & RSI MACP & VR MACP & VR or MACP & MAC-D –9– 第3章 検証 1 表 3.2 では本提案は MACP と VR と MAC-D という 3 指標に買いシグナルが検出され れば購入し,MACP と VR という 2 指標に売りシグナルが検出されれば売却し,MACP と MAC-D という 2 指標に売りシグナルが検出されても売却することを記している. これら 3 つの投資法を 20 銘柄 1 年分の市場データを用いて,各投資法ごとに模擬運用を 行った. この自作の自動売買プログラムが行う主な動作を, (1) 購入条件を満たせば 取引余力 当日購入シグナルを検出した銘柄数 前日終値 の公式から購入枚数を算出して購入する 前場が始まる前に購入枚数を決定する (1 日 1 度の売買とする). このため, 基本的には前日終値から購入枚数を決定するが, その銘柄の取引単位分は加味す る. ただし,購入条件を満たしたとしても取引余力が不足していたりするとその銘柄が購入 できなかったり,購入枚数分を購入できなかったりする. また,手数料は一律約定代金の 0.1 %とする. (2) 所有銘柄が売却条件を満たせば, その銘柄の所有株を全て売却する とした. また, 本提案の実用性をより詳しく検証するため,同期間の日経平均株価も比較対象とし て加味した. 3.2 カブロボコンテスト カブロボコンテストとは,市場情報提供・売買データ保持ツール「カブロボ SDK」と Java 言語を用いて自動株式売買プログラム「カブロボ」を作成し, 一定の株式市場情報と初期仮 想資金を用いて一定期間の仮想売買を行い, 運用成績を競うコンテストである. その目的は,優れた投資アルゴリズムを発見し, 実運用するカブロボを選定することであ る.さらに,素晴らしいアルゴリズムトレードを編み出しているものの, ツール不足からカ ブロボの実現には至っていない投資家にアルゴリズムトレードの門戸を開き, 将来的にはコ ンテストの成果を一般投資家の投資活動に貢献させることにある. – 10 – 3.3 日経平均株価 カブロボコンテストでは次のような環境が用意されている. • カブロボ動作環境 : Java 環境における, スーパーカブロボ SDK を用いた Java プログ ラム • カブロボ SDK で初期設定されている環境 : 初期資産 5,000 万円,1 日 2 回 (前場・後 場) までの発注回数,注文の有効期間 1 日,一律約定代金 0.1 %の手数料,金利年率 2 % • カブロボ SDK に初期付属されている市場情報 : 50 銘柄 1 年分 (2004 年 9 月 1 日∼ 2005 年 8 月 31 日) の各種市場情報 • 必要とされるプログラム : 情報収集プログラム,銘柄売買操作検出プログラム,注文プ ログラム 3.3 日経平均株価 日経平均株価とは,株価市場の動向を敏感に察知する“株価指数”を指す. 基本的には選定された 225 銘柄の株価の平均値によって算出されるが,額面はそのまま 用いるのではなく“みなし 50 円額面”に換算される. また,分割・併合や銘柄入替など,市況変動以外の要因等を除数によって除去することで 指数値の連続性を保っている. 50 円 指数採用株価=株価* みなし額面 円 例:みなし 5 万円額面で株価 45 万円のとき,45 万円*( 550万円 )=指数採用株価 450 円 日経平均株価= 225 銘柄の指数採用株価合計 除数 – 11 – 第3章 3.4 検証 1 プログラム 以下に用いたプログラムを記載する. import java.util.List; // 順序付けられた要素の集合体 List の宣言 import java.util.ArrayList; // 可変長配列 ArrayList の宣言 import jp.tradesc.superkaburobo.sdk.robot.AbstractRobot; // カブロボ SDK に含まれるスーパークラス AbstractRobot の宣言 import jp.tradesc.superkaburobo.sdk.driver.RobotDriver; // カブロボ SDK に含まれるメインクラス RobotDriver の宣言 import jp.tradesc.superkaburobo.sdk.trade.InformationManager; // 市場情報を返す InformationManager の宣言 import jp.tradesc.superkaburobo.sdk.trade.EnumCurrentSession; // 前場・後場時・スクリーニング時を返す EnumCurrentSession の宣言 import jp.tradesc.superkaburobo.sdk.trade.EnumAnalysisSpan; // 期間指定 (日足)EnumAnalysisSpan の宣言 import jp.tradesc.superkaburobo.sdk.trade.TradeAgent; // 各 Manager クラスを管理するクラス TradeAgent の宣言 import jp.tradesc.superkaburobo.sdk.trade.TimeManager; // 時間管理マネージャー TimeManager の宣言 import jp.tradesc.superkaburobo.sdk.trade.OrderManager; // 発注管理マネージャー OrderManager の宣言 import jp.tradesc.superkaburobo.sdk.trade.PortfolioManager; // 保有銘柄情報管理マネージャー PortfolioManager の宣言 import jp.tradesc.superkaburobo.sdk.trade.analysis.technicalindex.MovingAverage; // 移動平均指標クラス MovingAverage の宣言 import jp.tradesc.superkaburobo.sdk.trade.analysis.technicalindex.VolumeRatio; // VolumeRatio 指標クラス VolumeRatio の宣言 import jp.tradesc.superkaburobo.sdk.trade.analysis.technicalindex.RSI; // Relative Strength Index 指標クラス RSI の宣言 import jp.tradesc.superkaburobo.sdk.trade.analysis.technicalindex.MACD; – 12 – 3.4 プログラム // Moving Average Convergence Divergence 指標クラス MACD の宣言 import jp.tradesc.superkaburobo.sdk.trade.data.Stock; // 指定銘柄の情報格納クラス Stock の宣言 import jp.tradesc.superkaburobo.sdk.trade.data.Portfolio; // 保有銘柄情報格納クラス Portfolio の宣言 public class Original extends AbstractRobot { //スーパークラス AbstractRobot を継承したクラス Original を作成 public static void main(String[] args) { // 引数“-n Original”指定 String[] v = { "-n", "Original" }; RobotDriver.main( v ); } public void order(TradeAgent tradeAgent) { // 発注クラス order の宣言 TimeManager tm = TimeManager.getInstance(); InformationManager im = InformationManager.getInstance(); if(tm.getCurrentSession() == EnumCurrentSession.EARLY_SESSION){ // 前場時に購入処理を行うため, 前場時購入前にポートフォリオ処理を行う checkPortfolio(); } if(tm.getCurrentSession() == EnumCurrentSession.EARLY_SESSION){ // ポートフォリオ処理の後, 購入処理を行う List<Stock> targetStockList = getTargetStock(); // 購入対象銘柄を挿入 if(targetStockList.size() != 0){ int priceForOne = (int)(tradeAgent.getTradableMoney()/(targetStockList.size())); // 1 銘柄に投入する資金 (取引余力/購入銘柄数) for(Stock stock: targetStockList) { try{ int price = im.getStockSession(stock).getClosingPrice(); // 直近の終値 – 13 – 第3章 int qty = priceForOne/price; // 購入枚数 (1 銘柄投入資金/直近の終値) OrderManager om = OrderManager.getInstance(); // om 生成 om.orderActualNowMarket(stock, Math.max(qty, stock.getUnit())); // 取引単位以上を購入 }catch(NullPointerException e){ //データ不足などによる NullPointerException 回避 } } } } } public void screening(TradeAgent arg0) { // order で全て処理するので今回は売買銘柄選定クラス screening を使用しない } private List<Stock> getTargetStock() { // 購入対象銘柄を返すメソッド getTargetStock InformationManager im = InformationManager.getInstance(); List<Stock> targetStockList = new ArrayList(); for(Stock stock:im.getStockList()){ try{ if(getBuySignal(stock) == 1){ // 購入シグナルを検出 (1:購入) したら購入対象銘柄に加える targetStockList.add(stock); } }catch(NullPointerException e){ //データ不足などによる NullPointerException 回避 } } return targetStockList; // 購入対象銘柄リストを返す } – 14 – 検証 1 3.4 プログラム private void checkPortfolio() { // 売却対象銘柄の売却処理メソッド checkPortfolio PortfolioManager pm = PortfolioManager.getInstance(); OrderManager om = OrderManager.getInstance(); for(Portfolio portfolio:pm.getPortfolio()){ try{ if(getSellSignal(portfolio.getStock()) == -1) { // 売却シグナルを検出 (-1:売却) した銘柄を売却する portfolio.orderReverseNowMarketAll(); } }catch(NullPointerException e){ // データ不足などによる NullPointerException 回避 } } } double getBuySignal(Stock stock){ // 購入シグナル検出メソッド if(getKAIRISignal(stock) > 0 && getMACDSignal(stock) > 0 && getVolumeRatioSignal(stock) > 0) { return 1.0; } // 本提案 (MACP・VR・MACD の組み合わせ) で購入シグナルを検出したとき /* if(getKAIRISignal(stock) > 0 && getRSISignal(stock) > 0 && getVolumeRatioSignal(stock) > 0) { return 1.0; } */ // 3 点チャージ投資法 (MACP・VR・RSI の組み合わせ) で購入シグナルを検出したとき – 15 – 第3章 検証 1 /* if(getKAIRISignal(stock) > 0 && getVolumeRatioSignal(stock) > 0) { return 1.0; } */ // 基盤 (MACP・VR の組み合わせ) で購入シグナルを検出したとき return 0.0; // 購入シグナルを検出しなかったとき } double getSellSignal(Stock stock){ // 売却シグナル検出メソッド if(getMACDSignal(stock) < 0 && getKAIRISignal(stock) < 0) { return -1.0; } else if(getVolumeRatioSignal(stock) < 0 && getKAIRISignal(stock) < 0) { return -1.0; } // 本提案 (MACP・VR・MACD の組み合わせ) で売却シグナルを検出したとき /* if(getRSISignal(stock) < 0 && getKAIRISignal(stock) < 0) { return -1.0; } else if(getVolumeRatioSignal(stock) < 0 && getKAIRISignal(stock) < 0) { return -1.0; } */ // 3 点チャージ投資法 (MACP・VR・RSI の組み合わせ) で売却シグナルを検出したとき /* if(getVolumeRatioSignal(stock) < 0 && getKAIRISignal(stock) < 0) { return -1.0; } – 16 – 3.4 プログラム */ // 基盤 (MACP・VR の組み合わせ) で売却シグナルを検出したとき return 0.0; // 売却シグナルを検出しなかったとき } double getKAIRISignal(Stock stock){ // 26 日間の MACP 指標による売買シグナル検出 InformationManager im = InformationManager.getInstance(); int price = im.getStockSession(stock).getClosingPrice(); // 直近の終値 MovingAverage kairi = new MovingAverage(EnumAnalysisSpan.DAILY, 26); // 26 日間の移動平均値 if((price-kairi.getIndexSimple(stock))/kairi.getIndexSimple(stock)*100 < -7){ // 移動平均下-7 %未満のとき買いシグナル return 1.0; } else if((price-kairi.getIndexSimple(stock))/kairi.getIndexSimple(stock)*100 > 5){ // 移動平均下 5 %を超えるとき売りシグナル return -1.0; // 売りシグナル } return 0.0; // 売買シグナル無し } double getVolumeRatioSignal(Stock stock){ // 25 日間の VolumeRatio 指標による売買シグナル検出 VolumeRatio volumeRatio = new VolumeRatio(EnumAnalysisSpan.DAILY,25); double volumeRatioIndex = volumeRatio.getIndex(stock); //VolumeRatio の値 if(volumeRatioIndex < 70){ return 1.0; // 70 %未満のとき買いシグナル } else if(volumeRatioIndex > 250){ return -1.0; // 250 %を超えるとき売りシグナル } return 0.0; // 売買シグナル無し – 17 – 第3章 } double getMACDSignal(Stock stock) { // 短期 12 日間・長期 26 日間の MACD 指標による売買シグナル検出 MACD macd = new MACD(EnumAnalysisSpan.DAILY,12,26,9); // “9”は通常 MACD の移動平均日数に使うが今回は使用しない if (macd.getIndexMACD(stock) < 0) { return 1.0; // 0 未満のとき買いシグナル } else if (macd.getIndexMACD(stock) > 0) { return -1.0; // 0 を超えるとき売りシグナル } return 0.0; // 売買シグナル無し } double getRSISignal(Stock stock){ // 14 日間の RSI 指標による売買シグナル検出 RSI rsi = new RSI(EnumAnalysisSpan.DAILY,14); double rsiIndex = rsi.getIndexSimple(stock); //RSI の値 if (rsiIndex < 25) { return 1.0; // 25 %未満のとき買いシグナル } else if (rsiIndex > 75) { return -1.0; // 75 %を上回るとき売りシグナル } return 0.0; // 売買シグナル無し } } – 18 – 検証 1 3.5 実行画面 3.5 実行画面 本検証には Eclipse 環境を採用しているため,プログラムを実行するとディスプレイに図 3.1 のような画面が順次表示される. 図 3.1 実行画面例 3.5.1 購入処理実行画面 以下に,説明文を付加した購入処理実行画面例をテキストで示す. ■■ 2004/09/22 08:00 (水) ■ 注文処理開始 ■■■■■■■■■■■■■■■■■■ 【保有資産評価】 取引余力 50,000,000 円 株式評価額 0 円 資産評価額 50,000,000 円 【ポートフォリオ】 所有銘柄はありません。 【注文結果】 現物 成行 即時 8766 0 17 枚 // 銘柄コード 8766 を 17 枚購入注文を出した ■■ 2004/09/22 09:00 (水) ■ 注文処理終了 ■■■■■■■■■■■■■■■■■■ ロボット処理時間 (ミリ秒): 687 – 19 – 第3章 検証 1 ■■ 2004/09/22 11:30 (水) ■ 注文処理開始 ■■■■■■■■■■■■■■■■■■ // 注文は 1 日 1 回のみなので, ここでは所有銘柄情報表示のみで注文は出さない 【保有資産評価】 取引余力 26,346,370 円 株式評価額 23,800,000 円 資産評価額 50,146,370 円 【ポートフォリオ】 // 銘柄名 (コード) : 買付日 : 購入枚数 : 購入価格 : 評価額 XXX(8766): 2004/09/22 : 17 : 1,390,000 : 23,800,000 // 所有銘柄の情報表示. // 評価額はその時の株価×所有枚数 【注文結果】 注文はありません。 ■■ 2004/09/22 12:30 (水) ■ 注文処理終了 ■■■■■■■■■■■■■■■■■■ ロボット処理時間 (ミリ秒): 172 ●● 2004/09/22 16:00 (水) ● スクリーニング処理開始 ●●●●●●●●●●●●●●●● // 売買銘柄絞込み (処理の内容は表示せず, 所有銘柄の情報のみ表示する) 【保有資産評価】 取引余力 26,346,370 円 株式評価額 23,800,000 円 資産評価額 50,146,370 円 【ポートフォリオ】 // 銘柄名 (コード) : 買付日 : 購入枚数 : 購入価格 : 評価額 XXX(8766): 2004/09/22 : 17 : 1,390,000 : 23,800,000 ●● 2004/09/22 23:59 (水) ● スクリーニング処理終了 ●●●●●●●●●●●●●●●● ロボット処理時間 (ミリ秒): 31 – 20 – 3.5 実行画面 3.5.2 売却処理実行画面 以下に, 説明文を付加した売却処理実行画面例をテキストで示す. ■■ 2004/11/16 08:00 (火) ■ 注文処理開始 ■■■■■■■■■■■■■■■■■■ 【保有資産評価】 取引余力 854,904 円 株式評価額 54,335,000 円 資産評価額 55,189,904 円 【ポートフォリオ】 // 銘柄名 (コード) : 買付日 : 購入枚数 : 購入価格 : 評価額 XXX(5108): 2004/10/27 : 1000 : 1,926 : 1,996,000 XXX(5108): 2004/10/26 : 2000 : 1,874 : 3,992,000 XXX(8306): 2004/09/28 : 7 : 892,000 : 6,811,000 XXX(8766): 2004/09/22 : 17 : 1,390,000 : 26,350,000 XXX(8766): 2004/09/27 : 9 : 1,380,000 : 13,950,000 XXX(8802): 2004/10/27 : 1000 : 1,128 : 1,236,000 【注文結果】 現物 成行 即時 8306 0 -7 枚 // 銘柄コード 8306(の全購入枚数 7 枚) を売却注文に出した 現物 成行 即時 8766 0 -17 枚 現物 成行 即時 8766 0 -9 枚 ■■ 2004/11/16 09:00 (火) ■ 注文処理終了 ■■■■■■■■■■■■■■■■■■ ロボット処理時間 (ミリ秒): 672 ■■ 2004/11/16 11:30 (火) ■ 注文処理開始 ■■■■■■■■■■■■■■■■■■ // 注文は 1 日 1 回のみなので, ここでは所有銘柄情報表示のみで注文は出さない 【保有資産評価】 取引余力 48,753,957 円 – 21 – 第3章 株式評価額 7,161,000 円 資産評価額 55,914,957 円 検証 1 【ポートフォリオ】 // 銘柄名 (コード) : 買付日 : 購入枚数 : 購入価格 : 評価額 XXX(5108): 2004/10/26 : 2000 : 1,874 : 3,946,000 XXX(5108): 2004/10/27 : 1000 : 1,926 : 1,973,000 XXX(8802): 2004/10/27 : 1000 : 1,128 : 1,242,000 【注文結果】 注文はありません。 ■■ 2004/11/16 12:30 (火) ■ 注文処理終了 ■■■■■■■■■■■■■■■■■■ ロボット処理時間 (ミリ秒): 312 ●● 2004/11/16 16:00 (火) ● スクリーニング処理開始 ●●●●●●●●●●●●●●●● // 売買銘柄絞込み (処理の内容は表示せず, 所有銘柄の情報のみ表示する) 【保有資産評価】 取引余力 48,753,957 円 株式評価額 7,133,000 円 資産評価額 55,886,957 円 【ポートフォリオ】 // 銘柄名 (コード) : 買付日 : 購入枚数 : 購入価格 : 評価額 XXX(5108): 2004/10/27 : 1000 : 1,926 : 1,964,000 XXX(5108): 2004/10/26 : 2000 : 1,874 : 3,928,000 XXX(8802): 2004/10/27 : 1000 : 1,128 : 1,241,000 ●● 2004/11/16 23:59 (火) ● スクリーニング処理終了 ●●●●●●●●●●●●●●●● ロボット処理時間 (ミリ秒): 0 – 22 – 第4章 検証結果 以下に同時期の日経平均株価も加味した 3 つの投資法の運用グラフを記す. 図 4.1 3 点チャージ投資法の運用グラフ 図 4.2 図 4.3 基盤の運用グラフ 本提案の運用グラフ – 23 – 第4章 検証結果 そして図 4.1,4.2,4.3 を 1 つの図にまとめた運用グラフを以下に記す. 日経平均株価は 5,000 万円から開始するように全体を 4493 倍した. 図 4.4 20 銘柄 1 年分の運用グラフ また,運用成績表を以下に記す. 表 4.1 20 銘柄 1 年分の成績表 項目名 日経平均株価 3 点チャージ投資法 基盤 本提案 購入トレード数(回) 1 3 10 18 純損益(%) 11.54 8.3 16.77 19.48 最大ドローダウン(%) 7.95 4.01 12.49 9.43 日経平均株価は 225 銘柄の平均であるため,購入数は 1 回のみとした. 純損益は 最終資産 初期資産 5,000 万円 によって求めた. また,ある時点の最大資産からの最も大きな下落率を最大ドローダウンと定義した. 次に,表 4.2 に本提案の 1 年間の売買記録を示す. – 24 – 表 4.2 本提案 (20 銘柄) の売買記録 銘柄コード 購入日 購入枚数 (枚) 購入単価 (円) 売却日 売却単価 (円) 純損益 (円) 8766 2004/9/22 17 1,390,000 2004/11/16 1,550,000 2,720,000 8766 2004/9/27 9 1,380,000 2004/11/16 1,550,000 12,708,000 8306 2004/9/28 7 892,000 2004/11/16 973,000 567,000 5108 2004/10/26 2000 1,874 2004/12/27 2,035 322,000 5108 2004/10/27 1000 1,926 2004/12/27 2,035 109,000 8802 2004/10/27 1000 1,128 2004/11/17 1,241 113,000 5401 2005/4/19 45000 253 2005/7/21 276 1,035,000 6301 2005/4/19 15000 741 2005/5/13 818 1,155,000 8604 2005/4/19 8200 1,375 2005/8/11 1,421 377,200 8802 2005/4/19 9000 1,206 2005/7/5 1,250 396,000 6301 2005/4/20 5000 764 2005/5/13 818 270,000 8604 2005/4/20 2700 1,396 2005/8/11 1,421 67,500 6301 2005/4/21 1000 747 2005/5/13 818 76,000 8604 2005/4/21 900 1,350 2005/8/11 1,421 63,900 8802 2005/4/21 1000 1,158 2005/7/5 1,250 92,000 8604 2005/4/22 200 1,383 2005/8/11 1,421 7,600 4689 2005/5/13 4 56,000 2005/6/30 58,500 10,000 9984 2005/5/13 100 1,352 2005/6/29 1,423 7,100 表 4.1 より本提案は他の投資法と比べ優れていることは分かったが,表 4.2 の通り,検証 1 では銘柄数が少ないため負けトレード (高く購入し,安く売却した) を検出できず,本提案 の欠点が断定できなかった. – 25 – 第5章 検証 2 5.1 検証手法 検証 1 では 20 銘柄 1 年分の市場データを用いて各投資法ごとに模擬運用を行ったが,更 に 30 銘柄を追加した 50 銘柄 1 年分の市場データを用いて運用成績を検証した. – 27 – 第6章 検証結果 以下に同時期の日経平均株価も加味した 3 つの投資法の運用グラフを記す. 図 6.1 3 点チャージ投資法の運用グラフ 図 6.2 図 6.3 基盤の運用グラフ 本提案の運用グラフ – 29 – 第6章 検証結果 そして図 6.1,6.2,6.3 を 1 つの図にまとめた運用グラフを以下に記す. 日経平均株価は 5,000 万円から開始するように全体を 4493 倍した. 図 6.4 50 銘柄 1 年分の運用グラフ また,運用成績表を以下に記す. 表 6.1 50 銘柄 1 年分の成績表 項目名 日経平均株価 3 点チャージ投資法 基盤 本提案 購入数(回) 1 18 15 35 純損益(%) 11.54 16.78 18.34 31.05 最大ドローダウン(%) 7.95 6.19 12.41 9.56 日経平均株価は 225 銘柄の平均であるため,購入数は 1 回のみとした. 純損益は 最終資産 初期資産 5,000 万円 によって求めた. また,ある時点の最大資産からの最も大きな下落率を最大ドローダウンと定義した. 次に,表 6.2 に本提案の 1 年間の売買記録を示す. 表 6.2 本提案 (50 銘柄) の売買記録 銘柄コード 購入日 購入枚数 (枚) 購入単価 (円) 売却日 売却単価 (円) 純損益 (円) 8766 2004/9/22 17 1,390,000 2004/11/16 1,550,000 2,720,000 表 6.2 で負けトレード (高く購入し,安く売却した) を検出したのは 4 月 19 日に購入し 6 月 20 日に売却した銘柄コード 9301 株 (購入単位 1,120 円:売却単位 1,092 円) と,4 月 20 – 30 – 銘柄コード 購入日 購入枚数 (枚) 購入単価 (円) 売却日 売却単価 (円) 純損益 (円) 8766 2004/9/27 9 1,380,000 2004/11/16 1,550,000 1,530,000 8306 2004/9/28 5 892,000 2004/11/16 973,000 405,000 8564 2004/9/28 680 6,810 2005/1/12 7,310 340,000 4452 2004/10/1 1000 2,475 2005/8/31 2,625 150,000 9983 2004/10/22 300 6,600 2004/11/15 7,470 261,000 5108 2004/10/26 100 1,874 2004/12/27 2,035 16,100 8604 2004/10/28 100 1,352 2004/12/1 1,447 9,500 1662 2004/12/7 10500 3,860 2005/1/22 4,290 4,515,000 1662 2004/12/10 1000 3,790 2005/1/22 4,290 500,000 1332 2004/12/13 4300 310 2005/1/4 343 141,900 1662 2004/12/13 300 3,890 2005/1/22 4,290 120,000 5405 2005/4/18 82000 168 2005/6/20 193 2,050,000 5713 2005/4/18 19000 728 2005/6/15 746 342,000 8830 2005/4/18 12000 1,190 2005/6/24 1,249 708,000 3861 2005/4/19 2000 559 2005/8/31 579 40,000 5401 2005/4/19 5000 253 2005/7/21 276 115,000 5405 2005/4/19 7000 172 2005/6/20 193 147,000 5713 2005/4/19 1000 730 2005/6/15 746 16,000 6301 2005/4/19 1000 741 2005/5/13 818 77,000 8308 2005/4/19 6 198,000 2005/8/31 236,000 228,000 8403 2005/4/19 1000 651 2005/8/12 743 92,000 8604 2005/4/19 900 1,375 2005/8/11 1,421 41,400 8802 2005/4/19 1000 1,206 2005/7/5 1,250 44,000 8830 2005/4/19 1000 1,202 2005/6/24 1,249 47,000 9202 2005/4/19 3000 333 2005/8/31 362 87,000 9301 2005/4/19 1000 1,120 2005/6/20 1,092 -28,000 9432 2005/4/19 2 438,000 2005/6/20 468,000 60,000 5405 2005/4/20 1000 182 2005/6/20 193 11,000 5713 2005/4/20 1000 761 2005/6/15 746 -15,000 – 31 – 第6章 検証結果 銘柄コード 購入日 購入枚数 (枚) 購入単価 (円) 売却日 売却単価 (円) 純損益 (円) 6301 2005/4/20 1000 764 2005/5/13 818 54,000 8308 2005/4/20 1 199,000 2005/8/31 236,000 37,000 8604 2005/4/20 200 1,396 2005/8/11 1,421 5,000 9202 2005/4/20 1000 342 2005/8/31 362 20,000 8308 2005/4/21 1 194,000 2005/8/31 236,000 42,000 8604 2005/4/21 100 1,350 2005/8/11 1,421 7,100 8564 2005/4/22 10 6,600 2005/6/9 7,060 4,600 8604 2005/4/22 100 1,383 2005/8/11 1,421 3,800 1662 2005/5/17 200 4,040 2005/6/9 4,520 96,000 4689 2005/5/18 4 52,750 2005/6/30 58,500 23,000 1662 2005/5/19 100 4,060 2005/6/9 4,520 46,000 4689 2005/5/19 2 54,250 2005/6/30 58,500 8,500 1332 2005/8/16 105400 402 2005/8/31 403 105,400 日に購入し 6 月 15 日に売却した銘柄コード 5713 株 (購入単位 761 円:売却単位 746 円) の 計 2 度である. 銘柄コード 9301 株の売買グラフを図 6.5 に,5713 株の売買グラフを図 6.6 に記す. 図 6.5 9301 株の売買グラフ 図 6.6 5713 株の売買グラフ – 32 – 第7章 考察 7.1 本提案における負けトレードの分析 表 4.1 と表 6.1 より,本提案は他の投資法と比べ適度にシグナルを検出できており,十分 な利益も確保できていると言える. ただし,最大ドローダウンは日経平均株価や 3 点チャージ投資法と比べると高めだった. これは MAC-D が RSI よりも早く上昇相場を検知するため,MAC-D の売りシグナル検出 を売却条件に組み入れたことで稀に所有銘柄がある程度持ち直す前に売却してしまうという 欠点を示している. この欠点を顕著に表した例が負けトレードを検出した売買 (図 6.5,図 6.6) であるが,こ れらの売買を日経平均株価のデータを元に負けトレードを行った原因を分析した. これら負けトレードの購入日は 2005 年 4 月 19 日・20 日,売却日は 6 月 15 日・20 日と ほぼ集中している. まず購入日の日経平均株価のデータを見ると 4 月 18 日までの日経平均株価は前日比安が 続いていたが,19 日は前日比 127 円 42 銭高,20 日は前日比 22 円 72 銭高になっていた. これは株価が上昇トレンドに入った可能性を意味しており,購入時期の判断としては間違っ ていないと思われる. また,以後の変動を見ても上昇トレンドに入っていた為,購入時期と してはまずまずの判断であったことが分かった. 次に売却日の市場情報を見ると 6 月 19 日まで日経平均株価は前日比高が続いていたが, 6 月 20 日には前日比安になっていた. これは株価が下落トレンドに入った可能性を意味し – 33 – 第 7 章 考察 ており,売却時期の判断としては間違っていないと思われる. しかし,以後の変動を見ると 前日比高・安が続きながらも確実に上昇トレンドが続いており,売却時期の判断としては早 すぎたことが分かった. このことから,やはり本提案にはある程度持ち直す前に売却してしまうという欠点を持つ ことが分かる. このような欠点の解消案としては売却条件を厳しくする必要があると思われるが,売却条 件を厳しくし過ぎると売却時期を逃してしまい,大きな損失に繋がる恐れがある. よって最 適なシグナル検出のための条件設定を決めるためには十分な検証が必要である. 7.2 売買環境の設定について 取引余力 今回の検証では購入枚数には取引単位分を加味するという条件の元で,当日の購入シグナルを検出した銘柄数 株価 という公式を用いた. しかし,この購入枚数は“購入できるとは限らない”という制限があ るものの基本的には購入できるだけ購入する操作であり,今回の検証はテクニカル指標の検 証であるため充分であったが実用的ではない. 従って,購入枚数に用いた公式の妥当性を検 証し,最適値を追及する必要があると思われる. また,一部指標のピーク値には一般に用いられる値の範囲から 50 銘柄の水準に合わせて 最適値と思われる値を取ったが,実用的ではない. 従って,実用的なピーク値についても検 証する必要があると思われる. そして,初期資産は 5,000 万円に設定されている点,取引銘柄は 50 銘柄に制限されてい る点,1 日 1 回・1 年間という売買環境の設定といった項目も実用性を検証し,実用的な最 適値を追求する必要があると思われる. – 34 – 謝辞 研究を行うに辺り,特に指導教員である篠森敬三教授には誠にお世話になりました.研究 室の専門分野“視覚心理物理学”から大きく逸脱した研究であったにも関わらず快く承諾し て下さったこと,また,複数回に及びご指導賜りましたこと,大変感謝しております. 並びに,副査を担当して下さいました岡田守教授,島村和典教授に感謝致します. そして, 4 年間という長い大学生活の中でお世話になった全ての先生方に感謝致します. 研究室では先輩にあたる平山正治さん,津野賢裕さん,久原玲二さん,柿本裕樹さん,原 口大仁郎さん,島田謙さん,細川敬之さんには研究室配属時から先輩方がご卒業されるまで の約 1 年間お世話になりました. また,研究室の後輩にあたる船江彰くん,渡辺雄大くんは研究資料の添削に協力して下 さったり,食事などに誘って下さったりと大変お世話になりました. そして,同期生の皆様方が夜遅くまで熱心に頑張る姿に励まされました. ありがとうございました. – 35 – 参考文献 [1] 株式自動売買ソフトウェア スーパー・株ロボを作ろう!, 鳥海不二夫著, 秀和システム, 2006. – 37 – 付録 A 本提案におけるシグナル検出例 A.1 2005 年 JAL 株の売買グラフ (3 点チャージ法との比較) 図 A.1 2005 年 JAL 株における本提案の売買グラフ A.2 2006 年 JAL 株の売買グラフ (3 点チャージ法との比較) 図 A.2 2006 年 JAL 株における本提案の売買グラフ – 39 – 付録 A 本提案におけるシグナル検出例 A.3 ANA 株の売買グラフ (3 点チャージ法との比較) 図 A.3 ANA 株における本提案の売買グラフ A.4 ドコモ株の売買グラフ (3 点チャージ法との比較) 図 A.4 A.5 ドコモ株における本提案の売買グラフ NTT データ株の売買グラフ (3 点チャージ法との比較) 図 A.5 NTT データ株における本提案の売買グラフ – 40 –