2026-05-25 公開 / 2026-05-26 更新
プログラミング言語 Python を利用して、自前のアルゴリズムで自動売買をするアプリ開発に取り組んでいます。
自動売買の実現は道半ばですが、GUI やスレッドの構成が固まってきたので、アプリの構成をすこしずつまとめています。
デイトレ用売買システム
株価データは、ノイズが多いデータと向き合うつもりで、マーケットスピードⅡ RSS のデフォルト設定の 2 秒間隔のティックデータを取得しています。そのため、ローソク足チャートはアプリ内では利用していません。
データの流れを整理しました。
全体の流れ
graph LR
A["楽天証券
マーケットスピードⅡ"]
B["マーケットスピードⅡ RSS
Microsoft Excel, VBA"]
C["Kabuto(Python アプリ)
xlwings, PySide6, PyQtGraph"]
style C fill:#fed,stroke:#975
style A font-size: small
style B font-size: small
style C font-size: small
A <--> B
B <--> C
株価データ・取引の流れ(Windows 11)
売買アクションに関連するデータの流れ
Mermaid を使いこなせていないので、こちらも少しずつ改良を重ねます。
sequenceDiagram
box rgb(248, 248, 248) Excelシート
participant RSS
end
box rgb(248, 255, 248) スレッドA
participant RssReader
end
box rgb(248, 255, 248) メインスレッド
participant Kabuto
participant Trader
end
note left of Trader: 銘柄毎に Trader
インスタンス生成
box rgb(248, 255, 248) スレッド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)
参考サイト
- マーケットスピード II RSS | 楽天証券のトレーディングツール
- MarketspeedⅡ RSS Excelで自動売買しよう
- PythonでGUIを設計 | Qtの公式Pythonバインディング
- Python in Excel alternative: Open. Self-hosted. No limits.
- Book - xlwings Documentation

0 件のコメント:
コメントを投稿