楽天証券の口座でデイトレの自動売買に挑戦しようと Windows / Excel 上で利用できる マーケットスピード II RSS を活用して Python であれこれ取り組んでいます。この「自動売買への道」のトピックでは、プログラミングの話題にも踏み込んで、日々の活動をまとめています。
今日の日経平均株価
| 現在値 | 53,936.17 | -174.33 | -0.32% | 15:30 | |
|---|---|---|---|---|---|
| 前日終値 | 54,110.50 | 01/15 | 高値 | 54,130.60 | 09:01 |
| 始値 | 54,071.28 | 09:00 | 安値 | 53,706.79 | 10:22 |
※ 右の 15 分足チャートは Yahoo! Finance のデータを yfinance で取得して作成しました。
【関連ニュース】
- 三菱電機が自動車機器事業売却で調整、ファンドなど候補に-関係者 - Bloomberg [2026-01-15]
- MUFG米子会社、ニューヨーク連銀のプライマリーディーラーに指定 - Bloomberg [2026-01-16]
- 米新規失業保険申請件数、予想外の9000件減 季調要因の可能性も | ロイター [2026-01-16]
- 米11月輸入物価、9月比0.4%上昇 政府閉鎖影響で前月比非公表 | ロイター [2026-01-16]
- 米国と台湾、関税15%に引き下げへ-対米半導体投資拡大で合意 - Bloomberg [2026-01-16]
- 【米国市況】AI期待復活で株反発、小型株の堅調続く-ドル158円台後半 - Bloomberg [2026-01-16]
- TBS、米映画製作レジェンダリーと戦略提携 240億円出資 | ロイター [2026-01-16]
- 日経平均は続落、急騰後の利益確定継続 次第に下げ渋り | ロイター [2026-01-16]
- 日銀、保有ETFの売却を近く開始へ 指針を19日から適用 | ロイター [2026-01-16]
デイトレ用自作アプリ
以下は株価・取引に関連する情報の流れを示しています。
楽天証券では、Python からネットワーク越しに直接取引できるような API が提供されていないので、マーケットスピード II RSS を介して取引をする構成を取っています。
リアルタイムの取引シミュレーション (7011)
| 実験条件 | doe-11 | |
|---|---|---|
| パラメータ | 設定値 | |
| PERIOD_WARMUP | 180 | sec |
| PERIOD_MA_1 | 170 | sec |
| PERIOD_MA_2 | 500 | sec |
| PERIOD_SLOPE | 5 | sec |
| THRESHOLD_SLOPE | 0.05 | - |
| PERIOD_RR | 30 | sec |
| TURBULENCE | 35 | - |
| LOSSCUT_1 | -25 | 円 |
| THRESHOLD_PM_MIN | 17.5 | 円 |
| THRESHOLD_DDR_MIN | 0.4 | - |
本日のパラメータを決めるために、実験計画 (DOE) にもとづいた取引シミュレーションを実施して、その結果を蓄積しています。毎回、詳細な解析・考察をしようとすると続かないので、興味がある情報だけをまとめています。
昨日、急遽導入したトレーリングストップ機能のパラメータ THRESHOLD_PM_MIN と THRESHOLD_DDR_MIN の設定値は、上記の doe-11 を実施した結果から暫定的に設定しました。
以下は、本日のリアルタイム取引シミュレーション (Simulated Trade) による取引結果です。
| 注文番号 | 注文日時 | 銘柄コード | 売買 | 約定単価 | 約定数量 | 損益 | 備考 |
|---|---|---|---|---|---|---|---|
| 1 | 2026-01-16 09:04:30.803045034 | 7011 | 売建 | 4734.0 | 100 | ||
| 2 | 2026-01-16 09:08:11.567830801 | 7011 | 買埋 | 4721.0 | 100 | 1300.0 | |
| 3 | 2026-01-16 09:12:15.370082617 | 7011 | 買建 | 4742.0 | 100 | ||
| 4 | 2026-01-16 09:19:36.396594286 | 7011 | 売埋 | 4731.0 | 100 | -1100.0 | |
| 5 | 2026-01-16 09:19:37.402237892 | 7011 | 売建 | 4731.0 | 100 | ||
| 6 | 2026-01-16 09:26:40.820658684 | 7011 | 買埋 | 4721.0 | 100 | 1000.0 | |
| 7 | 2026-01-16 09:27:56.070189476 | 7011 | 買建 | 4738.0 | 100 | ||
| 8 | 2026-01-16 09:34:26.251422166 | 7011 | 売埋 | 4728.0 | 100 | -1000.0 | |
| 9 | 2026-01-16 09:34:27.257244587 | 7011 | 売建 | 4728.0 | 100 | ||
| 10 | 2026-01-16 09:51:31.241568327 | 7011 | 買埋 | 4691.0 | 100 | 3700.0 | |
| 11 | 2026-01-16 09:56:08.119433165 | 7011 | 売建 | 4675.0 | 100 | ||
| 12 | 2026-01-16 10:02:09.259730577 | 7011 | 買埋 | 4685.0 | 100 | -1000.0 | |
| 13 | 2026-01-16 10:02:10.268479586 | 7011 | 買建 | 4685.0 | 100 | ||
| 14 | 2026-01-16 10:10:24.776307344 | 7011 | 売埋 | 4698.0 | 100 | 1300.0 | |
| 15 | 2026-01-16 10:14:02.514442205 | 7011 | 売建 | 4695.0 | 100 | ||
| 16 | 2026-01-16 10:37:19.493142843 | 7011 | 買埋 | 4670.0 | 100 | 2500.0 | |
| 17 | 2026-01-16 10:37:20.512699366 | 7011 | 買建 | 4670.0 | 100 | ||
| 18 | 2026-01-16 10:48:27.333926201 | 7011 | 売埋 | 4672.0 | 100 | 200.0 | |
| 19 | 2026-01-16 12:58:04.964830637 | 7011 | 売建 | 4655.0 | 100 | ||
| 20 | 2026-01-16 13:00:33.636852503 | 7011 | 買埋 | 4663.0 | 100 | -800.0 | |
| 21 | 2026-01-16 13:00:34.642778635 | 7011 | 買建 | 4663.0 | 100 | ||
| 22 | 2026-01-16 13:04:23.381341457 | 7011 | 売埋 | 4655.0 | 100 | -800.0 | |
| 23 | 2026-01-16 13:16:50.674287796 | 7011 | 買建 | 4655.0 | 100 | ||
| 24 | 2026-01-16 13:33:00.004383087 | 7011 | 売埋 | 4662.0 | 100 | 700.0 | |
| 合計損益 | 6000.0 | ||||||
累積損益の時系列トレンド
今日の累積損益の時系列トレンドです。
テクニカル指標の時系列トレンド
環境内で管理している、売買シグナルのソースとなるテクニカル指標と含み損益のトレンドをプロットしました。
縦の赤線は、取引明細の時間から入れたもので、売買をしたタイミングになります。
売買ロジックへのインプット
売買ロジックは Maskable PPO 互換のインターフェイスを持った自作のアルゴリズムを備えた疑似モデルです。
なるべくシンプルなロジックで売買判断できることを目指しているため、現在のところ、[0, 1] あるいは [-1, 0, 1] といった離散的なシグナルをインプットするようにしています。
シグナル名を短縮してしまって意味が判りにくいので、それぞれの機能をまとめました。
- クロスS1
- 移動平均 MA1, MA2 のクロスシグナル。デッドクロス、クロス無し、ゴールデンクロスを -1, 0, 1 とした売買用シグナル。
- クロスS2
- クロスS1の 1 秒遅れの反対売買用シグナル。
- クロ強
- MA1 の傾き(絶対値)が THRESHOLD_SLOPE より大きい場合に発生するクロス・シグナルの強さを示すシグナル。
- 乱高下
- Rolling Range の値が TURBULENCE より大きい場合は、株価が乱高下しているとみなしてエントリを抑制するシグナル。
- ロス1
- 含み損益が LOSSCUT_1 を下回った時に発生するロスカット用シグナル。
- 利確1
- 含み益最大値 (Profit Min = PM) が、設定した最低値 THRESHOLD_PM_MIN より大きく、ドローダウン比率 (Draw Down Ratio = DDR) が設定したしきい値 THRESHOLD_DDR_MIN より大きくなったときに利確タイミングのシグナルを発生。
- 建玉
- ポジション SHORT, NONE, LONG を -1, 0, 1 としたシグナル。
参考サイト
- マーケットスピード II RSS | 楽天証券のトレーディングツール
- マーケットスピード II RSS 関数マニュアル
- 注文 | マーケットスピード II RSS オンラインヘルプ | 楽天証券のトレーディングツール
- Gymnasium Documentation
- Stable-Baselines3 Docs - Reliable Reinforcement Learning Implementations
- Maskable PPO — Stable Baselines3 - documentation
- PyTorch documentation
- PythonでGUIを設計 | Qtの公式Pythonバインディング
- Python in Excel alternative: Open. Self-hosted. No limits.
- Book - xlwings Documentation







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