デイトレにおいて、期待や思い込みが入りこまない自動売買に挑戦しようと、楽天証券のマーケットスピード II RSS を利用した Python アプリを開発しています。日々レビューと改善を加えながら自動売買の実現に向けて悪戦苦闘しています。
今日の日経平均株価
| 現在値 | 70,062.32 | +594.21 | +0.86% | 15:45 | |
|---|---|---|---|---|---|
| 前日終値 | 69,468.11 | 06/29 | 高値 | 70,667.00 | 13:45 |
| 始値 | 70,085.60 | 09:00 | 安値 | 69,302.19 | 09:45 |
※ 右の 15 分足チャートは Yahoo! Finance のデータを yfinance で取得して作成しました。
【関連ニュース】
- 米コムキャスト、テレビ局「NBC」などを分社化 通信とメディア事業分離 | ロイター [2026-06-29]
- アルファベット一時4.5%高、ダウ採用で | ロイター [2026-06-30]
- ロケット・ラボ、80億ドルでイリジウム買収 打ち上げ外の事業拡大加速 | ロイター [2026-06-30]
- 欧州市場サマリー(29日) | ロイター [2026-06-30]
- 米国株式市場=ダウ終値の最高値、ハイテク株に買い | ロイター [2026-06-30]
- ドル162円前半へ上昇、約40年ぶり ドル買い強まる | ロイター [2026-06-30]
- 経産省、ソフトバンク主導の企業などに3800億円支援 AIロボ開発 | ロイター [2026-06-30]
- 日経平均は続伸、AI・半導体株がけん引 7万円台回復 | ロイター [2026-06-30]
- アジア株式市場サマリー:引け(30日) | ロイター [2026-06-30]
デイトレ用取引システム Kabuto 0.8.x
全体の流れ
システムにおける株価や売買情報の流れを示しました。
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
主な特徴(概要)
- ティックデータを利用(ローソク足チャートは使っていない)
- ナンピン禁止
- 成行売買
- 単純ロスカットと連続含み損カウントでロスカット
今日の取引結果(セミオート)
今日は、寄り付き後、じっくり値動きを眺めることが出来ずに 9:10 にエントリしてしまいました。これが災いして頻繁なクロス・シグナルに振り回されてしまいました。
その後、ルールを無視したエントリを重ねて約定回数が無駄に多くなってきました。自分の実力では約定回数が増えるに従って損失も増えていくので、ちょろっとプラスになったところでお終いにしました。
- 信用取引に費やした約定回数は 36 回、実現損益は +610 円でした。
レビュー用に、本日の取引における含み損益、MA クロスシグナルを加えたプロットを以下に示しました。
取引結果をレビューできるように、楽天証券の口座のサイトから信用取引の注文一覧を CSV 形式でダウンロード、Python (JupyterLab) で読み込んで集計、実現損益を時系列トレンドにして視覚化しています。
インジケータ評価
短周期の移動平均線 MA1 の変わりに、Pure Pursuit Follower (ppf) というインジケータを採用して、株価への追従性は向上しましたが、副作用として頻繁なクロス・シグナルが発生するようになってしまいました。
確度の高いクロス・シグナルを選ぶために、シグナル発生時に、リアルタイム(2 秒間隔のティックデータ)で値動きの勢いを測るインジケータを「モメンタム」と称して評価しています。
今日は、ROC をモメンタムとして評価しました。事前に昨日のティックデータでシミュレーションした時には、ほとんど相関がなくてがっかりしたのですが、今日のリアルタイムの運用時に算出したテクニカルデータで評価すると、相関関係少しあるように見えます。ただ、相関係数が最重要ではなく、クロス・シグナル後、次のクロス・シグナルまで 10 秒ぐらいのケースで分布に特徴が出るかどうかに最も注目しています。まだここを数値化できていません。
ゴールデン・クロスの時にモメンタムがマイナス、デッド・クロスの時にモメンタムがプラスであればエントリしない、というような使い方ができないかを評価しています。
| モメンタム | self.roc = ROC(window_size=15) |
|---|---|
| 引 数 | value_ppf, _ = self.ppf.update(price) value_mom = self.roc.update(value_ppf) |
![]() |
![]() |
参考サイト
- マーケットスピード II RSS | 楽天証券のトレーディングツール
- マーケットスピード II RSS 関数マニュアル
- 注文 | マーケットスピード II RSS オンラインヘルプ | 楽天証券のトレーディングツール
- PythonでGUIを設計 | Qtの公式Pythonバインディング
- Python in Excel alternative: Open. Self-hosted. No limits.
- Book - xlwings Documentation





