2025-11-26

自動売買への道 (2025-11-26)

楽天証券の口座でデイトレの自動売買に挑戦しようと Windows / Excel 上で利用できる マーケットスピード II RSS を活用して Python であれこれ取り組んでいます。この「自動売買への道」のトピックでは、プログラミングの話題にも踏み込んで、日々の活動をまとめていきます。

今日の日経平均株価

現在値 49,559.07 +899.55 +1.85% 15:30
前日終値 48,659.52 11/25 高値 49,749.59 12:37
始値 49.012.25 09:00 安値 48,964.19 09.06

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

【関連ニュース】

デイトレ用自作アプリ

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

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

楽天証券では、Python からネットワーク越しに直接取引できるような API が提供されていないので、マーケットスピード II RSS を介して取引をする構成を取っています。

取引シミュレーション

強化学習モデルのチューニング作業の優先順位を下げ、しばらくはテクニカル指標のシグナルで取引するアプローチを前面に出します。

現在利用しているテクニカル指標は下記のとおりです。

  • 2つの移動平均 MA (n = 60 sec)MA (n = 600 sec)
    • クロスサインで売買(ナンピン売買禁止)
  • 移動四分位範囲 Moving IQR (n = 60 sec)
    • しきい値以下の時はエントリしない。

当初、ボラティリティが低い状況を把握するために、簡単に算出できる移動標準偏差を採用していましたが、ロバストな移動四分位範囲に変更しました。

リアルタイムで取得するデータをキューに溜めておいて 25% (Q1) と 75% (Q3) のパーセンタイル(percentile)を算出する必要があるので、下記のような関数を準備しました。

リストからパーセンタイルを算出する関数
def percentile(list_data: list, p: float):
    list_data = sorted(list_data)
    k = (len(list_data) - 1) * p
    f = int(k)
    c = f + 1
    if c < len(list_data):
        return list_data[f] + (list_data[c] - list_data[f]) * (k - f)
    else:
        return list_data[f]

使用する指標を変更したので、過去のティックデータを使って損益パフォーマンスと取引回数を確認しています。

過去のティックデータによる損益と取引回数

以前の標準偏差を使っていたときと比べてややパフォーマンスが落ちていますが、パラメータの水準最適化前なのでとりえあえずこのまま進めます。

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

対象銘柄の本日のチャートとシミュレーション結果です。

シミュレーション対象銘柄の本日のチャート
今日の取引シミュレーション結果
                   注文日時 銘柄コード  売買    約定単価  約定数量    損益
0   2025-11-26 09:02:44  7011  売建  3921.0     1   NaN
1   2025-11-26 09:03:41  7011  買埋  3930.0     1  -9.0
2   2025-11-26 09:03:42  7011  買建  3929.0     1   NaN
3   2025-11-26 09:04:20  7011  売埋  3912.0     1 -17.0
4   2025-11-26 09:04:21  7011  売建  3912.0     1   NaN
5   2025-11-26 09:13:58  7011  買埋  3915.0     1  -3.0
6   2025-11-26 09:13:59  7011  買建  3915.0     1   NaN
7   2025-11-26 09:32:02  7011  売埋  3943.0     1  28.0
8   2025-11-26 09:32:03  7011  売建  3942.0     1   NaN
9   2025-11-26 09:33:11  7011  買埋  3947.0     1  -5.0
10  2025-11-26 09:46:01  7011  売建  3974.0     1   NaN
11  2025-11-26 09:52:53  7011  買埋  3977.0     1  -3.0
12  2025-11-26 09:52:54  7011  買建  3977.0     1   NaN
13  2025-11-26 09:56:43  7011  売埋  3973.0     1  -4.0
14  2025-11-26 09:56:44  7011  売建  3976.0     1   NaN
15  2025-11-26 09:57:08  7011  買埋  3976.0     1   0.0
16  2025-11-26 09:57:09  7011  買建  3976.0     1   NaN
17  2025-11-26 10:04:44  7011  売埋  3984.0     1   8.0
18  2025-11-26 10:10:48  7011  買建  3982.0     1   NaN
19  2025-11-26 10:11:08  7011  売埋  3978.0     1  -4.0
20  2025-11-26 10:11:09  7011  売建  3978.0     1   NaN
21  2025-11-26 10:17:41  7011  買埋  3978.0     1   0.0
22  2025-11-26 10:17:42  7011  買建  3978.0     1   NaN
23  2025-11-26 10:18:59  7011  売埋  3966.0     1 -12.0
24  2025-11-26 10:19:00  7011  売建  3966.0     1   NaN
25  2025-11-26 10:24:33  7011  買埋  3971.0     1  -5.0
26  2025-11-26 10:45:00  7011  買建  3955.0     1   NaN
27  2025-11-26 10:55:28  7011  売埋  3958.0     1   3.0
28  2025-11-26 11:01:01  7011  売建  3958.0     1   NaN
29  2025-11-26 11:02:03  7011  買埋  3960.0     1  -2.0
30  2025-11-26 11:09:54  7011  売建  3960.0     1   NaN
31  2025-11-26 11:22:22  7011  買埋  3958.0     1   2.0
32  2025-11-26 12:40:11  7011  売建  3959.0     1   NaN
33  2025-11-26 12:47:56  7011  買埋  3957.0     1   2.0
34  2025-11-26 12:49:55  7011  売建  3953.0     1   NaN
35  2025-11-26 12:51:14  7011  買埋  3954.0     1  -1.0
36  2025-11-26 12:55:10  7011  買建  3958.0     1   NaN
37  2025-11-26 13:08:25  7011  売埋  3962.0     1   4.0
38  2025-11-26 13:40:08  7011  買建  3944.0     1   NaN
39  2025-11-26 13:41:44  7011  売埋  3937.0     1  -7.0
40  2025-11-26 13:41:45  7011  売建  3937.0     1   NaN
41  2025-11-26 13:50:46  7011  買埋  3937.0     1   0.0
42  2025-11-26 13:50:47  7011  買建  3937.0     1   NaN
43  2025-11-26 13:54:37  7011  売埋  3935.0     1  -2.0
44  2025-11-26 13:56:02  7011  買建  3937.0     1   NaN
45  2025-11-26 14:13:15  7011  売埋  3946.0     1   9.0
46  2025-11-26 14:35:22  7011  買建  3948.0     1   NaN
47  2025-11-26 14:46:18  7011  売埋  3951.0     1   3.0
48  2025-11-26 14:49:15  7011  買建  3955.0     1   NaN
49  2025-11-26 14:50:59  7011  売埋  3951.0     1  -4.0
50  2025-11-26 14:51:00  7011  売建  3951.0     1   NaN
51  2025-11-26 15:02:04  7011  買埋  3945.0     1   6.0
52  2025-11-26 15:05:25  7011  買建  3945.0     1   NaN
53  2025-11-26 15:08:02  7011  売埋  3942.0     1  -3.0
54  2025-11-26 15:17:16  7011  売建  3938.0     1   NaN
55  2025-11-26 15:17:59  7011  買埋  3942.0     1  -4.0
取引回数 : 56 回, 一株当りの損益 : -20.0 円

今回もマイナスになってしまいました。何がどうだめだったのかレビューする機能を準備中ですが、今日は間に合いませんでした。

参考サイト

  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 件のコメント:

コメントを投稿