目次
移動平均線を使用した株のトレードの検証に関して
私が作成した下記の記事に対する検証方法を解説します。
- 検証 移動平均線を使用した株のトレード 任天堂(7974)
検証に使用した任天堂(7974)の株価データは、私が口座を開設しているSBI証券が提供しているトレーディングツールHYPER SBIからダウンロードしました。
また、検証結果は、下記のExcelファイルに記載しました。
https://4affiuser.github.io/data/trade/moving_average/トレード_移動平均_1_任天堂_検証データ.xls
今回の検証方法に関する解説は、上記のExcelファイルに基づいて行っていきます。
Excelファイルの各シートに関して
Excelファイルには、次の3つのシートがあります。
- Data
- HYPER SBIからダウンロードした日足チャートに対する株価データです
- ただし、HYPER SBIからダウンロードされたものは、日付が降順(新しい順)で並んでいるため、昇順に並べ替えてあります
- 25日平均
- 終値に対する期間が25日の移動平均を使用したトレードの検証を行ったデータです
- 10日平均
- 終値に対する期間が10日の移動平均を使用したトレードの検証を行ったデータです
続いて、各シートに記載されているデータの詳細について説明します。
「Data」シートの説明
「Data」シートには、日足チャートに対するデータが記載されています。
- 日付
- 始値
- 高値
- 安値
- 終値
- 5日平均
- 終値に対する期間が5日の単純移動平均値です
- 25日平均
- 終値に対する期間が25日の単純移動平均値です
- 75日平均
- 終値に対する期間が75日の単純移動平均値です
- VWAP
- 売買高加重平均価格を意味し、当日の取引所で成立した価格を価格ごとの売買高(出来高)で加重平均した値です
- 出来高
- 5日平均
- 出来高に対する期間が5日の単純移動平均値です
- 25日平均
- 出来高に対する期間が25日の単純移動平均値です
「25日平均」シートの説明
終値に対する期間が25日の移動平均を使用した株のトレードを検証したデータです。
「25日平均」シートは、主に2つのブロックに分かれています。
- 1つ目のブロックは、A列からI列までで、株のトレードを検証したデータ
- 2つめのブロックは、K列からO列までで、検証結果を年ごとに集計したデータ
1つ目のブロック
先ずは、1つ目のブロックについて、説明します。
1行目には、次の記載があります。
- 日付
- 株価データの日付を示します
- 年
- YEAR関数を使用して、日付から年を抽出したものです
- 2つ目のブロックで年ごとに集計をする際に使用します
- 終値
- 株価データの終値です
- 25日平均
- 株価データの終値に対する期間が25日の単純移動平均値です
- 買い
- 買い条件が成立した場合に"1"となります
- 買い条件の確認には、IF関数を使用しています
- 具体的には、下記の条件Aおよび条件Bが成立すれば"1"となります
- 条件A: 前日の終値 < 前日の25日平均
- 条件B: 当日の25日平均 < 当日の終値
- 売り
- 売り条件が成立した場合に"1"となります
- 売り条件の確認には、IF関数を使用しています
- 具体的には、下記の条件Cおよび条件Dが成立すれば"1"となります
- 条件C: 前日の25日平均 < 前日の終値
- 条件D: 当日の終値 < 当日の25日平均
- 買値
- 買い条件が成立した日は終値を取得し、それ以外の日は前日の買値を保持します
- 買値の制御には、IF関数を使用しています
- 損益
- 売り条件が成立した日の終値と買値の差分からトレードの損益を算出します
- 損益の算出には、IF関数を使用しています
- 成否
- 損益の結果からトレードの成否を判定します
- 成否の判定には、IF関数を使用しています
- 具体的には、損益がプラスの場合は"1"となります
2つ目のブロック
続いて、2つ目のブロックについて、説明します。
1つ目のブロックで行った検証結果に対して、年に基づいて結果を集計しています。
各データの集計には、SUMIF関数を使用しています。
集計しているデータは次の通りです。
- 売買数
- 年に基づいて、売りの回数を集計しています
- 成功数
- 年に基づいて、成否の回数を集計しています
- 成功率
- 抽出された売買数と成功数から成功率を算出しています
- 損益
- 年に基づいて、損益の合計を算出しています
「10日平均」シートの説明
終値に対する期間が10日の移動平均を使用した株のトレードを検証したデータです。
終値に対する移動平均の期間を25日から10日に変更したのみであるため、詳細の説明は省きます。
ちなみに、10日の移動平均値は、AVERAGE関数を使用しています。

