楽天証券の口座でデイトレの自動売買に挑戦しようと、Windows / Excel 上で動作する マーケットスピード II RSS を利用した Python アプリ (Kabuto) を開発しています。
今日の日経平均株価
| 現在値 | 62,742.57 | +324.69 | +0.52% | 15:45 | |
|---|---|---|---|---|---|
| 前日終値 | 62,417.88 | 05/11 | 高値 | 63,218.51 | 09:58 |
| 始値 | 62,618.72 | 09:00 | 安値 | 62,158.43 | 10:41 |
※ 右の 15 分足チャートは Yahoo! Finance のデータを yfinance で取得して作成しました。
【関連ニュース】
- KKR、苦戦のプライベートクレジット・ファンドに3億ドル投入へ - Bloomberg [2026-05-11]
- 米中古住宅販売、前月から小幅に増加-春の最盛期は弱いスタート - Bloomberg [2026-05-11]
- AI使いシステムのぜい弱性突く攻撃、ハッカーが構築-グーグルが確認 - Bloomberg [2026-05-12]
- トランプ氏、イラン停戦「生命維持装置頼み」-情勢一段と不安定に - Bloomberg [2026-05-12]
- 【米国市況】国債利回り上昇、WTI原油続伸-米イラン合意期待が後退 - Bloomberg [2026-05-12]
- 香港の焦げ付き債権4兆円、処理急ぐ銀行-商業用不動産投げ売りも - Bloomberg [2026-05-12]
- 韓国、AIブームによる税収を国民に「配当」案浮上-株価は乱高下 - Bloomberg [2026-05-12]
- 【日本市況】円が1円近く急伸場面、一時156円後半に-債券は下落 - Bloomberg [2026-05-12]
パラメータのスクリーニング
自動売買に向けた自動売買のアルゴリズムについて、主要なパラメータについて水準振りをしてスクリーニングをしようと、先週金曜日の大引け後、慌てて実験表を用意して、過去のティックデータに対して長い長い売買シミュレーションを実施しました。
実験パラメータと水準
実験の目的
- 過去の有効なティックデータ全てに対して、実験パラメータを水準を振って売買シミュレーションを実施し、有意な水準依存のあるパラメータが存在するかどうかを確認する。
背景
- 過去データに対して実験計画を組んで各条件で売買シミュレーションをすると、パラメータの水準間でばらつきがあって差があるように見えても、データ数が増えると、水準毎の平均値では差が見えなくなってしまう。
- 部分的な条件振りで感じていたことを、網羅的に条件を振っても同じであることを確認したい。
実験表
昨日のブログ記事に書いたように、条件表の凡ミスが発覚しました(下表の赤字部分)が、仕方がないので、このまま解析します。
| パラメータ | 水 準 | 説 明 | |||
|---|---|---|---|---|---|
| MAX_TRADE | 200 | 約定数上限(仮)(今回は未使用) | |||
| PERIOD_WARMUP | 300 | インジケータのウォームアップ期間(今回は未使用) | |||
| PERIOD_MA_1 | 30 | 60 | 90 | 短周期移動平均線の期間(VWAP 線とのクロスシグナル) | |
| PERIOD_MA_2 | 300 | 長周期移動平均線の期間(今回は未使用) | |||
| PERIOD_RSI | 300 | RSIの期間(今回は未使用) | |||
| PERIOD_MOM | 300 | モメンタムの期間(今回は未使用) | |||
| N_MINUS_MAX | 300 | 600 | 900 | 連続含み損の最大カウント数 | |
| N_POSITION_MIN | 150 | 300 | 450 | 建玉を保持する最小カウント数 | |
| LOSSCUT_1 | -10 | -25 | -30 | -50 | 単純ロスカット |
| DD_RATIO_MAX | 0.25 | 0.50 | 0.75 | ドローダウン利確の最大比率 | |
| DD_THRESHOLD | 10 | 30 | 50 | ドローダウン利確を始める閾値 | |
データスコープ
| データスコープ | ティックデータ数 |
|---|---|
| 2026-02-02 - 2026-05-08 | 63 日分 |
日毎の収益で集計
各実験パラメータについて、水準毎にその日の収益 (PnL) をプロットした結果を示しました。点は各条件の収益、線は各水準毎の平均を結んでいます。
結論
- 定義しているパラメータでは、今回の実験水準では水準毎の平均値では水準間に明確な差がでない。→ 最適な水準の組み合わせはないのか?
総収益で集計
各パラメータに対して、通算収益 (Total PnL) を確認しました。
結論
日毎の収益の集計とは異なり、総収益では目に見える平均値での水準差を、特定のパラメータで確認できます。
総収益 Top 9 の条件
総収益のトップ 9 の条件をまとめました。
| ランキング | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
|---|---|---|---|---|---|---|---|---|---|
| PERIOD_MA_1 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 |
| N_MINUS_MAX | 900 | 900 | 900 | 600 | 300 | 600 | 600 | 300 | 900 |
| N_POSITION_MIN | 450 | 300 | 150 | 450 | 300 | 300 | 150 | 150 | 300 |
| LOSSCUT_1 | -50 | -50 | -50 | -50 | -25 | -50 | -50 | -25 | -25 |
| DD_RATIO_MAX | 0.75 | 0.75 | 0.75 | 0.75 | 0.75 | 0.75 | 0.75 | 0.75 | 0.75 |
| DD_THRESHOLD | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 |
| 総収益 / 株 | 1,283 | 1,222 | 1,221 | 1,176 | 1,116 | 1,115 | 1,114 | 1,103 | 1,094 |
当面の POR
同じパラメーター設定で、ずっと自動売買システムを運用できるとは考えていませんが、当面、下記の条件をターゲット銘柄 (9984) の出発点 POR, Process of Record にしてチューニングを続ける予定です。
| パラメータ | 水 準 | 説 明 |
|---|---|---|
| MAX_TRADE | 200 | 約定数上限(仮)(未使用) |
| PERIOD_WARMUP | 300 | インジケータのウォームアップ期間 |
| PERIOD_MA_1 | 30 | 短周期移動平均線の期間(VWAP 線とのクロスシグナル) |
| PERIOD_MA_2 | 300 | 長周期移動平均線の期間(未使用) |
| PERIOD_RSI | 300 | RSIの期間(未使用) |
| PERIOD_MOM | 300 | モメンタムの期間(未使用) |
| N_MINUS_MAX | 900 | 連続含み損の最大カウント数 |
| N_POSITION_MIN | 300 | 建玉を保持する最小カウント数 |
| LOSSCUT_1 | -50 | 単純ロスカット |
| DD_RATIO_MAX | 0.75 | ドローダウン利確の最大比率 |
| DD_THRESHOLD | 10 | ドローダウン利確を始める閾値 |
昨日 (2026-05-11) のシミュレーション結果
昨日のティックデータの POR 条件での売買シミュレーション結果を示しました。
ソフトバンクグループ (9984) の昨日のシミュレーション結果
本日のシミュレーション結果
こちらは、今日のティックデータでシミュレーションした結果です。POR を決めたばかりですが、損切り・利確の改善余地があります。
ソフトバンクグループ (9984) の本日のシミュレーション結果
参考サイト
- マーケットスピード II RSS | 楽天証券のトレーディングツール
- マーケットスピード II RSS 関数マニュアル
- 注文 | マーケットスピード II RSS オンラインヘルプ | 楽天証券のトレーディングツール
- PythonでGUIを設計 | Qtの公式Pythonバインディング
- Python in Excel alternative: Open. Self-hosted. No limits.
- Book - xlwings Documentation














