ファンダメンタルズ重視の株シミュレーション|「決算→40営業日」を一気通貫で回す設計図

決算などの“根拠”からエントリーを設計し、同じ手順で淡々と検証する——。

動画⇩
https://youtu.be/OPU-GAQY7OI

今回は、決算日を起点に40営業日分の銘柄コードを自動で流し込み、日次で一括シミュレーションを回すための考え方と手順をわかりやすくまとめます。

私の失敗・改善の積み重ねから生まれた、現実的で再現性のあるワークフローです。

この記事でやること

  • 決算などのイベント日を起点にする
  • **空のデータマップ(日付→銘柄コードのリスト)**を用意
  • 翌営業日から40営業日分、その銘柄コードを日付に自動アサイン
  • 日付ごとに対応する銘柄リストを取得→シミュレーションを一括実行
  • 日次でループし、全期間を同一ロジックで検証

ステップ1:空のデータマップをつくる

まずはベースになる**「日付→銘柄コードの空リスト」**を用意します。変数名は何でもOK。ここが“器”になります。
例)2025-08-01 のような営業日キーに、最初は空の [] を割り当てておきます。

ステップ2:決算日から40営業日に銘柄を流し込む

次に、決算発表の翌営業日を起点に、40営業日ぶんだけその銘柄コードを順番に入れていきます。

  • 例1:8/1に決算 → 翌営業日から40営業日にわたってその銘柄コードを挿入
  • 例2:8/6に決算 → 同様に翌営業日から40営業日分挿入

イメージとしては、マップ内で**「日付1→日付40」までスライドしながら、対象コードを空のリストにappend**していく感じです。

決算が複数あれば、その分だけ同じ処理を重ねます。

ステップ3:日付で回す日次ループ(シミュレーションの心臓部)

ここが重要。**“日付でforループ”→“その日付に紐づく銘柄コードのリストを取得”→“リストの中身をさらにforで回して売買ロジックを実行”**という二段構えです。

  1. 当日の日付を取得(DBやカレンダー、どちらでもOK)
  2. データマップから一致する日付のコードリストを取得
  3. そのリストをforで回し、個別に自動売買のシミュレーションを実行
  4. 結果を保存したら次の日付へ——これを期間分まわし切る

この仕組みの良さは、検証の粒度を「日付単位」に落とし込めること。イベント起点(決算)→翌営業日からの値動き、という“狙いどころ”をブレさせずに評価できます。

ステップ4:結果の見方(予告)

本記事では設計と流れまで。次回は、ファンダメンタルズを考慮したシミュレーション結果を具体例とともにお見せします。イベント起点の強み・弱み、改善ポイントまで解説予定です。

まとめ

  • 決算→翌営業日→40営業日という“時間の型”を固定
  • 日付×銘柄リストをマップ化して一括管理
  • 日付ループ→コードループで機械的に検証
  • 主観を排し、同一ルールで比較可能なデータをつくる

関連キーワード(ハッシュタグ)

#ファンダメンタルズ #システムトレード #自動売買 #日本株 #決算 #40営業日 #シミュレーション #Python #データフレーム #イベントドリブン #バックテスト #検証設計 #リスク管理

あなたのブログ内の関連記事(おすすめ)

XGBoostの評価と改善(SHAPで特徴量を見直す)。 LIFE INFOMATION+1

Pythonで株の自動売買を実現!VBAではなくPythonをおすすめする理由。 LIFE INFOMATION

【株シミュレーション】軍資金に応じた現実的トレード戦略と資金管理。 LIFE INFOMATION

トレード数が多いほど正確?日経平均に引きずられるシミュレーションの罠と対策。 LIFE INFOMATION

【実録】日経平均の大幅反発を除いたリアルな自動売買成績と限界。 LIFE INFOMATION

【重要修正】“出来高ゼロ”と“窓開け損切り漏れ”を完全修正した話。 LIFE INFOMATION

ChatGPTとPythonで銘柄選定を自動化(ログイン不要の入力操作まで)。 LIFE INFOMATION

ファンダ重視のバックテスト:決算起点→日次ループで再現性を高める
ツイートもチェックしよう!