株研オンライン バックテスト分析結果 ロジックNo.7 移動平均線を用いた手法

IPOセカンダリ投資法
スポンサーリンク
※本ページはプロモーションが含まれています

ロジックの概要

株研オンライン:https://kabuken.online
株式投資バックテスト分析:https://kabutest.com

2019年のみ抽出
https://fx.reform-network.net/wp-content/uploads/2025/04/test7_sma_2025-04-01-11-07-2019.csv

2011年から2024年までのバックテスト結果
https://fx.reform-network.net/wp-content/uploads/2025/04/test7_sma_2025-04-01-11-05-15.csv

  1. SMA(移動平均)の計算
    • ある日の SMA を、当日を含む直近 n 日 、デフォルトでは 3 日の終値の平均値として計算します。
    • たとえば期間が 3 日なら、当日を含めた「当日・前日・前々日」の終値の合計を 3 で割って求めます。
  2. ゴールデンクロス(買いエントリー)判定
    • ポジションを保有していないことが前提です。
    • 前日の終値が、前日までの3日SMAを下回っている。
    • かつ、当日の終値が、当日までの3日SMAを上回っている。
    • この2つの条件が同時に満たされた日(ゴールデンクロスが発生した日)に、その日の終値で買いエントリーします。
    • さらに、その日の出来高 が デフォルト 100000 株より大きい必要があります。
    • 上記 条件を 同時に満たしたとき、買いポジションを新規エントリーします。
  3. デッドクロス(売りエグジット)判定
    • 「前日の終値」>>> 「前日の 3 日 SMA」 である (SMA より上で引けている)
    • かつ「今日の終値」<<< 「今日の 3 日 SMA」 になったタイミング (SMA を下回って引けた)
    • 上記 条件を 同時に満たしたとき、買いポジションを決済して(売り)手仕舞いします。
  4. 最終日の強制決済
    • デッドクロスが来ないまま最終日まで保有状態が続いたら、最終日の終値で決済します。
  5. 出来高フィルタ
    • 日ごとに出来高 (Volume) をチェックして、ソースでは10万株以上の日のみを判定に使います。
    • 10 万株未満の日は売買の判定をせずスキップするようになっています。

時系列データの読み込みループの機能はありません。したがって時系列データの最終日までバックテストを行います。


トレード結果における動き

バックテスト結果一覧を見ると、

  • 買いエントリー日: 「前日終値 < 前日 SMA」かつ「当日終値 > 当日 SMA」 を満たした日
  • 売却日: 「前日終値 > 前日 SMA」かつ「当日終値 < 当日 SMA」 を満たした日、または最終日強制決済
  • 成績%: 買値と売値の利益を%で計算しています。

日々のトレードは上記のクロス判定で淡々と売買するだけなので、

  • ゴールデンクロスの翌日から日足が SMA よりも上を維持し続ける限りは、ずっと保有(表で見るとそのあいだ売却日は発生しない)。
  • どこかでデッドクロスになればその日に決済。
  • あるいはしばらくクロスが起きずに保有したまま、過去データが終了するタイミング(テスト期間の最終日)で決済。

というフローになっています。
一覧表にある各トレード日付と価格は、この単純な「買いクロス」「売りクロス」判定によって機械的に得られたものです。


まとめ

  • 移動平均線の期間 (デフォルト 3 日) と前日終値の上下関係だけで売買を決める。
  • 前日 SMA を下回っていた終値が、当日には SMA を上回って引けると「ゴールデンクロス買い」
  • 前日 SMA を上回っていた終値が、当日には SMA を下回って引けると「デッドクロス売り」
  • 期間中ずっとクロスが来なければ最終日終値で強制決済
  • 出来高が 10 万株に満たない日は売買判定をせずスキップ
タイトルとURLをコピーしました