見出し画像

騰落予測結果から売買シグナルの発信

はじめに


こんにちは、ゆーすです。

前回、以下の記事で翌日株価の騰落を予測するモデルを構築しました。

ここから実際に売買をするためには、どの銘柄にいくらで仕掛けるか?を、現在価格、資金、空売り可能な株数、などを考慮して決めなければいけません。

本記事では、銘柄毎の売買の予測結果から、実際に売買シグナルを発生させるまでの以下のPythonコードについて紹介します。前回記事を購入されていなくても、利用可能です。

  • 空売りを考慮した対象銘柄の選定

    • seleniumによるChromeの操作

  • 資金に基づくロット計算

  • 売買シグナルのLINE通知

    • LINE Notifyによる通知

空売り対象銘柄の取得方法は証券会社ごとに異なるため、私が使っている楽天証券での説明となりますが、考え方は他の証券会社でも同じはずなので流用できるかと思います。

売買シグナルはLINEで個人アカウントに向けて配信します。実際に売買する際は、配信されたシグナルを見て、スマホから手作業で発注する想定です。

というのも、いきなり自動発注まで作りこむのは少し大変ですし、実際に運用を始める前のフォワードテストとして通知結果だけ眺める、というのも慣れるために良かったので、まずはこのやり方がおすすめです。


開発環境


ローカルのWindows 10環境でのみ動作確認済みです。

Python本体、及び各ライブラリは以下を使用しました。

  • Python 3.11.2

  • pandas 2.2.2

  • selenium 4.21.0

  • requests 2.32.3

  • Chrome 125.0.6422.142(記事公開時点の最新版)

入力データ


銘柄毎の騰落の予測結果は、以下の構造の「predict.csv」で保存するものとします。

予測結果の「predict.csv」(先頭部分の抜粋)
  • Date:予測の実行日

    • 例えば上記は、6/5に予測を実行し、6/6の騰落を予測した結果

  • Ticker:銘柄コード(yfinance想定のため末尾に".T"あり)

  • Close:終値

  • Probability:予測結果のスコア(0以上1以下)

    • 大きい方が尤もらしい

  • Predict:騰落(始値→終値)の予測結果

    • +1: 上昇(買い)

    • -1: 下落(売り)

    • それ以外があっても無視される

全体構成


それでは、今回は全体の処理をざっくり並べてから、各関数の中身を実装していく形を採りたいと思います。

ここから先は

8,715字 / 4画像

¥ 1,000

この記事が気に入ったらサポートをしてみませんか?