2026-05-25

自動売買への道 (2026-05-25)

楽天証券の口座でデイトレの自動売買に挑戦しようと、Windows / Excel 上で動作する マーケットスピード II RSS を利用した Python アプリ (Kabuto) を開発しています。

今日の日経平均株価

現在値 65,158.19 +1,819.12 +2.87% 15:45
前日終値 63,339.07 05/22 高値 65,408.87 10:44
始値 63,658.95 09:00 安値 63,562.51 09:02

※ 右の 15 分足チャートは Yahoo! Finance のデータを yfinance で取得して作成しました。

【関連ニュース】

デイトレ用売買システム Kabuto 0.8.0

どうしても強化学習モデルの開発に再挑戦したかったので、一ヶ月で見込みがありそうな結果が出なければ元の疑似モデルへ戻すと決めて昨 4 月に取り組みました。思わしい結果が出なかったので、5 月から、あらかじめ決めたアルゴリズムによる疑似モデルを再実装する作業をしていますが、予想以上に時間が掛かっています。

理由は、別環境で DOE とバックテストを繰り返した疑似モデルGymnasium.Env を継承した環境を再実装しようとしたところ、Kabuto にいろいろと無駄な機能の重複を見つけてしまったからです。

リアルタイム用だから、というわけでもないのですが、一旦、一通りの動作確認が済んでしまうと、大きな変更に慎重な姿勢を取るようになり、少々の無駄には目をつむりがちになります。

諦めきれなかった 4 月の強化学習モデルの取り組み以降、本体アプリ (Kabuto 0.7.x) はティックデータ収集用としてしか稼働しておらず、疑似モデルを再実装するために、Github のレポジトリを development ブランチに分けていました。どのため、どうせ長く使い続けるアプリになるだろうからと、思い切った修正を進めています。

ようやく、セミオートで使えそうなレベルに近づいてきたので、今後、いつでも基本に戻れるようにデータの流れを整理しました。

全体の流れ

graph LR
    A["楽天証券
マーケットスピードⅡ"]
    B["マーケットスピードⅡ RSS
Microsoft Excel, VBA"]
    C["Kabuto(Python アプリ)
xlwings, PySide6, PyQtGraph"]

    style A font-size: small
    style B font-size: small
    style C font-size: small

    A <--> B
    B <--> C
株価データ・取引の流れ(Windows 11)

売買アクションに関連するデータの流れ

株価データは、ノイズが多いデータと向き合うつもりで、マーケットスピードⅡ RSS のデフォルト設定の 2 秒間隔のティックデータを取得しています。

Mermaid を使いこなせていないので、こちらも少しずつ改良を重ねます。

sequenceDiagram
    box rgb(248, 248, 248) Excelシート
        participant RSS
    end

    box rgb(248, 248, 255) スレッドA
        participant RssReader
    end

    box rgb(248, 248, 255) メインスレッド
        participant Kabuto
        participant Trader
    end

    note left of Trader: 銘柄毎に Trader
インスタンス生成 box rgb(248, 248, 255) スレッドB participant Agent end rect rgba(255,224,192,0.25) loop 2秒間隔 Kabuto()->>RssReader: 株価データ
リクエスト activate RssReader RssReader->>RSS: 株価データ
リクエスト activate RSS RSS->>RssReader: 銘柄コード
株価・出来高 deactivate RSS RssReader->>()Kabuto: 銘柄コード
株価・出来高
ポジション・損益 deactivate RssReader Kabuto()->>Trader: 株価・出来高
ポジション・損益 activate Trader Trader->>Agent: 株価・出来高
ポジション・損益 activate Agent Agent->>Trader: 売買アクション deactivate Agent end end Trader->>()Kabuto: 買建・売建・返済
リクエスト deactivate Trader Kabuto()->>RssReader: 銘柄コード
買建・売建・返済
リクエスト RssReader->>RSS: 銘柄コード
買建・売建・返済
マクロ実行 activate RSS RSS->>RssReader: 約定確認結果 deactivate RSS rect rgba(224,224,255,0.25) alt 約定ならず 😭 RssReader->>()Kabuto: 約定確認 NG Kabuto()->>Trader: 建玉状態復元
売買ロック解除 else 約定 😁 RssReader->>()Kabuto: 約定確認 OK Kabuto()->>Trader: 売買ロック解除 end end
売買アクションに関連するデータの流れ (Kabuto)

今日の事後シミュレーション

残念ながら、寄り付き後 10 分のウオームアップ後ではクロス・シグナルがありませんでした。実践では当面の間、このような場面では手動でエントリすることで対応します。

ソフトバンクグループ (9984) の本日のシミュレーション結果

売買明細は下記のようになりました。

注文日時            注文番号 銘柄コード 売買 約定単価 約定数量  損益 備考
2026-05-25 12:38:09        1 9984       売建   7045.0        1   NaN VWAP デッドクロス
2026-05-25 12:38:39        2 9984       買埋   7045.0        1   0.0 ドローダウン利確
2026-05-25 12:41:49        3 9984       買建   7078.0        1   NaN VWAP ゴールデンクロス
2026-05-25 12:42:21        4 9984       売埋   7078.0        1   0.0 ドローダウン利確
2026-05-25 14:46:16        5 9984       売建   7077.0        1   NaN VWAP デッドクロス
2026-05-25 14:48:27        6 9984       買埋   7100.0        1 -23.0 VWAP ゴールデンクロス
2026-05-25 14:50:59        7 9984       売建   7081.0        1   NaN VWAP デッドクロス
2026-05-25 15:24:49        8 9984       買埋   7031.0        1  50.0 強制返済
ticks_20260525.xlsx, 損益 : 27.0 円, 約定回数 : 8 回

DOE + バックテスト結果

しばらく、同じ実験表 (DOE 6) で日々更新しています。下記サイトに結果をまとめています。

参考サイト

  1. マーケットスピード II RSS | 楽天証券のトレーディングツール
  2. マーケットスピード II RSS 関数マニュアル
  3. 注文 | マーケットスピード II RSS オンラインヘルプ | 楽天証券のトレーディングツール
  4. PythonでGUIを設計 | Qtの公式Pythonバインディング
  5. Python in Excel alternative: Open. Self-hosted. No limits.
  6. Book - xlwings Documentation
  7. Sequence diagrams | Mermaid
にほんブログ村 株ブログ 株日記へ
PVアクセスランキング にほんブログ村