2026-01-16

自動売買への道 (2026-01-16)

楽天証券の口座でデイトレの自動売買に挑戦しようと 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 で取得して作成しました。

【関連ニュース】

デイトレ用自作アプリ

以下は株価・取引に関連する情報の流れを示しています。

株価データ・取引の流れ(Windows 11)

楽天証券では、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_MINTHRESHOLD_DDR_MIN の設定値は、上記の doe-11 を実施した結果から暫定的に設定しました。


以下は、本日のリアルタイム取引シミュレーション (Simulated Trade) による取引結果です。

本日のリアルタイムの取引シミュレーション (Simulated Trade)
本日のリアルタイムの取引シミュレーション (Simulated Trade) の取引明細(100 株単位)
注文番号 注文日時 銘柄コード 売買 約定単価 約定数量 損益 備考
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] といった離散的なシグナルをインプットするようにしています。

シグナル名を短縮してしまって意味が判りにくいので、それぞれの機能をまとめました。

  1. クロスS1
    • 移動平均 MA1, MA2 のクロスシグナル。デッドクロス、クロス無し、ゴールデンクロスを -1, 0, 1 とした売買用シグナル。
  2. クロスS2
    • クロスS1の 1 秒遅れの反対売買用シグナル。
  3. クロ強
    • MA1 の傾き(絶対値)が THRESHOLD_SLOPE より大きい場合に発生するクロス・シグナルの強さを示すシグナル。
  4. 乱高下
    • Rolling Range の値が TURBULENCE より大きい場合は、株価が乱高下しているとみなしてエントリを抑制するシグナル。
  5. ロス1
    • 含み損益が LOSSCUT_1 を下回った時に発生するロスカット用シグナル。
  6. 利確1
    • 含み益最大値 (Profit Min = PM) が、設定した最低値 THRESHOLD_PM_MIN より大きく、ドローダウン比率 (Draw Down Ratio = DDR) が設定したしきい値 THRESHOLD_DDR_MIN より大きくなったときに利確タイミングのシグナルを発生。
  7. 建玉
    • ポジション SHORT, NONE, LONG-1, 0, 1 としたシグナル。
売買ロジックにインプットしているシグナル

参考サイト

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

0 件のコメント:

コメントを投稿