楽天証券の口座でデイトレの自動売買に挑戦しようと Windows / Excel 上で利用できる マーケットスピード II RSS を活用して Python であれこれ取り組んでいます。この「自動売買への道」のトピックでは、プログラミングの話題にも踏み込んで、日々の活動をまとめていきます。
デイトレ用自作アプリ
以下は株価に関連する情報の流れを示しています。
楽天証券では、Python からネットワーク越しに直接取引できるような API が提供されていないので、マーケットスピード II RSS を介して取引をする構成を取っています。
リアルタイム Parabolic SAR に敗北感
機械学習に何年も取り組んできたので、取引アルゴリズムの開発に、機械学習を応用したアプローチを検討することはごく自然の流れでした。しかし、シンプルな機械学習でさえ、それなりのコンピュータ・パワーが必要になることが判っていたので、高価で高性能なコンピュータを買い求めて、ひたすら大電力消費の道へ進んでしまうことを大いに恐れました。
そこで、まずは無難に既存のテクニカル指標を応用したアプローチで取引アルゴリズムを作ることにしました。それが、リアルタイム・データに対応できるようにした Parabolic SAR でした。
しかし、当日の株価の値動きに対して動的にパラメータ調整ができるような仕組みを備えなければ、自動取引なんて危なっかしくてとてもできない、という結論に至りました。
強化学習
ニューラルネットワークを応用した学習は(NVIDIA の)GPU が利用できる環境でないと、とても実用レベルにならないという先入観がありました。GPU を持っていなかったので、なんとなくこの方面への深入りを躊躇していました。
それでも、どうしても強化学習を試してみたかったので PyTorch で簡単なサンプルを動かしてみました。機械学習で学習、予測をするだけでは限界があることを実感していたので、同じモデルで継続的に再学習を重ねられる「強化学習」がどんなものか試してみたかったのです。
試してみると、簡単なサンプルだったせいもあるのでしょうが GPU がなくともなんとか学習をさせられることが判りました。
であれば、
- モデルを再学習させるそこそこの性能の PC
- リアルタイムで、売買アクションの推論だけをさせる PC
という二段構えにすることで、複雑でなければ強化学習モデルを応用したシステムを開発できるかもしれない、という考えに取り憑かれてしまいました。😍
このやり方でそこそこうまくいった暁には、NVIDIA の GPU を搭載した PC を買って、CUDA を利用して本格化しようという目標を持って、強化学習を用いたアプローチへ方針転換しました。
生成 AI を援用
強化学習のモデルを開発するために PyTorch を利用することにしましたが、使い慣れていなかったので、この二週間ほど GPT-5 (ChatGPT) にあらかじめ売買条件の詳細を記載したプロンプトを入力してやりとりを続けました。
プロンプト入力後、GPT-5 が提案してくれたコードの動作確認をします。動作確認した結果から GPT-5 に期待通りに解釈されるようにプロンプトの内容を修正します。
そんなやりとりを延々と重ねてきて、概ねプロンプトの内容が固まってきました。
今後、具体的な Python のコードを交えて進捗をまとめていきます。毎日の更新は無理かもしれないので、当面、このトピックの更新は不定期とします。
課 題
現在、課題と考えていることを下記にまとめました[随時更新〗。
- マーケットスピード II RSS による売買
- Excel VBA, Python 側で実際の売買を試す。
- 売買のためのサンプルワーク
- PyTorch を利用した強化学習モデルの実用化
参考サイト
- マーケットスピード II RSS | 楽天証券のトレーディングツール
- マーケットスピード II RSS 関数マニュアル
- 注文 | マーケットスピード II RSS オンラインヘルプ | 楽天証券のトレーディングツール
- PythonでGUIを設計 | Qtの公式Pythonバインディング
- PyQtGraph - Scientific Graphics and GUI Library for Python
- Python in Excel alternative: Open. Self-hosted. No limits.
- Book - xlwings Documentation


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