はじめに
「自動売買ロボット作成マニュアル」(以下本書)の第7章において、「UWSCを用いた注文処理」について紹介したが、具体的な注文処理を行うUWSCスクリプトの記述方法に関しては言及できなかった。そのため今回は、本書の第7章において紹介したエクセルブックを一部改良し、UWSCを用いて注文処理の自動化を行う方法を紹介したい。
なお、このコラムは本書をすべて読み終えたことを前提に話を進めていくため、本書内で既出の用語等に関しては解説しないことをあらかじめ断っておく。
また、今回の注文処理は楽天証券を通して行うものとする。読者の方には他の証券会社をメインに利用している方も大勢いらっしゃるかと思うが、ここで各証券会社ごとの注文処理を紹介するのは残念ながら現実的ではない。そこで、今回の内容のベースとなっている本書第7章において、楽天証券の提供する「マーケットスピード」及び「リアルタイムスプレッドシート」の利用が前提であることから、楽天証券を利用する方法を紹介することとした。ただ、本コラムで紹介する手法を学ぶことによって、方法論や技術面を習得し、他の証券会社を通じて注文処理の自動化が各自で出来るようになるはずなので、他の証券会社をメインに利用する方もご一読いただければと思う。
同様に、今回の注文処理は株式の現物取引を対象に行うものとする。何故ならそれが一番利用者の多い売買だと思われるからだ。よって本書では空売りを含めた自動売買に関して言及したが、ここでは空売りは行わず、現物買いのみとする。ただしこれも上記と同様、方法論や技術面を習得すれば各自で応用することが可能なので、株式の信用取引や先物などの売買が行いたい場合は各自で対応していただきたい。
本コラムで紹介している内容と同様のファイルは、ここからダウンロード可能で、本書第7章のサンプルシートをベースに改良されたエクセルシート及び、注文処理を行うUWSCスクリプトが含まれている。これ以降の内容は、これらのファイルを参照していることを前提としているので、あらかじめダウンロードしておいいただきたい。
なお、本書でも簡単に紹介したが、ここで今一度UWSCについて触れておこう。UWSCは「うみうみ屋さん」というサイトで公開されている、「Windows98/Me/2000/XP」で動作するフリーソフトウェアだ。独自のスクリプト言語を用いてスクリプトを記述することによって、Windows及びWindowsで動作するアプリケーションを操作することができる。マウスやキーボードの操作を自動化するだけでなく、アプリケーションを直接コントロールしたり、Windowsのシステムイベントを使用できたりと、非常に高機能だ。また、単に高機能なだけでなく、スクリプトの構文がVBAと比較的似ていることも、我々VBAユーザにとってありがたい点であるといえるだろう。本書を通じてVBAを学んできた読者の方なら、比較的簡単に習得し、使いこなすことができるはずだ。本コラムを読み始める前に必ずダウンロードしてきておいてほしい。
本題に入る前に、今回のコラムで紹介する方法の辿る流れを紹介しよう。
まず、本章第7章で使用したエクセルブックを用いる。このブックは本書のサンプルシートに同梱されており、ここから入手することが出来る。このブックの使用方法や注意事項に関しては本書及び同梱されている説明書を参照してほしい。このブックは、楽天証券の「リアルタイムスプレッドシート」を用いて価格データをリアルタイムでエクセルに取り込み、その価格が一定値に達したらシグナルを画面上に表示させるというものだった。まずはこの内容を一部修正し、シグナル発生時のダイアログを自動発注に対応したものとする。
次に、UWSCを用いて、上記のサンプルシートから発生するシグナルのダイアログを監視させる。シグナル発生時のダイアログが表示されると、指定されたUWSCスクリプトが呼び出されるという仕組みだ。そして、呼び出されたUWSCスクリプトは、シグナル発生時のダイアログを解析し、注文処理対象となる銘柄コードや売買枚数を認識。その後、楽天証券の「マーケットスピード」を操作して注文を行うというものにする。以上が処理及び、本コラムでの作業の流れとなる。
