楽天証券の口座でデイトレの自動売買に挑戦しようと Windows / Excel 上で利用できる マーケットスピード II RSS を活用して Python であれこれ取り組んでいます。この「自動売買への道」のトピックでは、プログラミングの話題にも踏み込んで、日々の活動をまとめています。
今日の日経平均株価
| 現在値 | 50,836.55 | +687.73 | +1.37% | 15:30 | |
|---|---|---|---|---|---|
| 前日終値 | 50,148.82 | 12/11 | 高値 | 51,127.69 | 09:40 |
| 始値 | 50,480.23 | 09:00 | 安値 | 50,457.42 | 10:32 |
※ 右の 15 分足チャートは Yahoo! Finance のデータを yfinance で取得して作成しました。
【関連ニュース】
- リコー、「Gemma 3 27B」基盤の日本語LLMを開発 | Ledge.ai [2025-12-11]
- イーライリリーの肥満症候補薬、体重を4分の1近く減少させる効果 - Bloomberg [2025-12-11]
- ディズニー、OpenAIの動画サービスにキャラクター提供-10億ドル出資 - Bloomberg [2025-12-11]
- オラクル株が急落、1月以来の大幅安-AI投資拡大で売り優勢 - Bloomberg [2025-12-12]
- オラクルにも迫る「非常事態」、OpenAIと一蓮托生 - Bloomberg [2025-12-12]
- 米国株式市場=ダウ・S&P最高値更新、オラクル株急落でナスダックは下落 | ロイター [2025-12-12]
- ブロードコム、四半期売上高見通しが予想上回る AI半導体需要で | ロイター [2025-12-12]
- ブロードコム株が急落、AI関連収入見通しが高い市場期待に届かず - Bloomberg [2025-12-12]
- ソフトバンクG、米データセンターのスイッチ買収を協議-関係者 - Bloomberg [2025-12-12]
- オープンAI、新モデル「GPT─5.2」発表 グーグルに対抗 | ロイター [2025-12-12]
- 日経平均は大幅反発、幅広い銘柄に物色向かい堅調推移 | 企業情報FISCO [2025-12-12]
- 日経平均は3日ぶり反発、景気敏感株に物色 トヨタ自は大幅高 | ロイター [2025-12-12]
デイトレ用自作アプリ
以下は株価に関連する情報の流れを示しています。
楽天証券では、Python からネットワーク越しに直接取引できるような API が提供されていないので、マーケットスピード II RSS を介して取引をする構成を取っています。
取引シミュレーション
強化学習モデルのチューニング作業の優先順位を下げ、しばらくはテクニカル指標のシグナルで取引するアプローチを前面に出しています。
制約条件
現在シミュレーションで設定している制約は下記のとおりです。
- 売買条件
- ポジションを解消してから次の売買をする(ナンピン禁止)。
- 取引回数
- 上限を 100 回に制限
- 約定条件
- スリッページなし
売買判断のための指標
現在利用している指標は下記のとおりです。
- 2つの移動平均 MA1 と MA2
- クロス・シグナルで売買
- PERIOD_MA_1 = TBD
- PERIOD_MA_2 = TBD
- 移動範囲 Moving Range, MR
- ボラティリティを判定する指標、しきい値以下の時はフラグを立ててエントリしない。
- PERIOD_MR = 30
- THRESHOLD_MR = 7
- ロスカット
- しきい値以下になったらフラグを立てて建玉を返済、損切り。
- (現在、無効に設定)
- 利確
- 含み益と含み益最大値との比較で建玉を返済、利確する簡単なロジックを導入。
- (現在、無効に設定)
取引シミュレーションと実験
下記に、毎日確認をしている実験条件の概略をまとめました。
| データ | 約 1 秒間隔で取得した株価と出来高のティックデータ | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 対象銘柄 | 7011 | 呼び値が 1 円で出来高が多い、東証プライムの銘柄を選定 | |||||||||||
| 対象期間 | 2025-08-19 〜 2025-12-09 の東証取引日(76 営業日) | ||||||||||||
| 実験因子 | 実験水準 | 説 明 | |||||||||||
| PERIOD_MA_1 | sec | 30 | 45 | 60 | 75 | 90 | 105 | 120 | 135 | 150 | 165 | 180 | 周期が異なる 2 つの移動平均 MA1 と MA2 のクロス・シグナルを売買ポイントとする。 |
| PERIOD_MA_2 | sec | 300 | 360 | 420 | 480 | 540 | 600 | 660 | 720 | 780 | 840 | 900 | |
| PERIOD_MR | sec | 30 | ボラティリティを測定する指標として移動範囲を採用。しきい値より低ければ、売買エントリを禁止。 現時点では、少なめの取引数に収まるように、しきい値を高めに設定している。 |
||||||||||
| THRESHOLD_MR | tick | 7 | |||||||||||
| 実験計画 | 完全実施要因計画 (Full Factorial Design) | ||||||||||||
| 評価特性 | 説 明 | ||||||||||||
| 収益 (total) | 円 / 株 | 1 日の売買シミュレーションで、2 つの移動平均のクロス・シグナルに従って売買した収益。 | |||||||||||
| 取引回数 (trade) | 回 | 【参考値】システム側でナンピン売買を禁止し、取引回数の上限を 100 回に設定。 | |||||||||||
| 最適条件判定方法 |
|
||||||||||||
いままでの実験から、収益を数式でモデル化できなかったので、やむなく、パフォーマンス(平均収益)を毎日確認してベストの条件を選ぶという手間がかかる方法を続けています。
実験条件毎の収益トレンド
前営業日までを集計した平均収益でトップ 5 の条件は色を変えてプロットしています。一方、平均収益がマイナスになっている条件は黒の実線、その他は薄墨色でプロットしています。
なお、母数が少ないうちは平均収益の変動が大きくなるので、キリの良い 2025-09-01 からの平均収益でチャートを作成しています。
平均収益トップ 5 の条件
| PERIOD_MA_1 | PERIOD_MA_2 | trade | total | |
|---|---|---|---|---|
| 90 | 60 | 780 | 14.3 | 14.87 |
| 47 | 75 | 540 | 14.2 | 14.56 |
| 57 | 60 | 600 | 15.9 | 14.22 |
| 75 | 165 | 660 | 7.9 | 13.53 |
| 42 | 165 | 480 | 9.5 | 13.24 |
生データで等高線図 (Contour Map)
生データを補完した等高線図を参考に作成しています。実験点は ・、平均収益トップ 5 の条件は 🟢、マイナスの条件は ✖ で表示しています。
本日の取引シミュレーション
昨日までのティックデータで算出したベスト条件で、本日取得したティックデータの取引シミュレーションの結果です。
取引明細
注文日時 銘柄コード 売買 約定単価 約定数量 損益
0 2025-12-12 09:01:45 7011 売建 4087.0 1 NaN
1 2025-12-12 09:02:06 7011 買埋 4081.0 1 6.0
2 2025-12-12 09:02:07 7011 買建 4082.0 1 NaN
3 2025-12-12 09:02:09 7011 売埋 4081.0 1 -1.0
4 2025-12-12 09:02:10 7011 売建 4081.0 1 NaN
5 2025-12-12 09:05:56 7011 買埋 4084.0 1 -3.0
6 2025-12-12 09:29:19 7011 買建 4148.0 1 NaN
7 2025-12-12 09:33:08 7011 売埋 4143.0 1 -5.0
8 2025-12-12 12:30:56 7011 買建 4141.0 1 NaN
9 2025-12-12 12:45:12 7011 売埋 4150.0 1 9.0
10 2025-12-12 15:20:50 7011 売建 4169.0 1 NaN
11 2025-12-12 15:24:59 7011 買埋(強制返済) 4162.0 1 7.0
取引回数 : 12 回, 一株当りの損益 : 13.0 円
今日は、平均収益よりやや低い収益でした。
参考サイト
- マーケットスピード 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 件のコメント:
コメントを投稿