投資プログラマー’S WEB
最終更新日:2008/8/25
◆ 完全自動売買ツール考察 ◆
プログラムによる発注
プログラムによる発注について
プログラムによる発注を行う為には、証券会社へのアクセス(ログイン、発注、資金情報等)の プログラム化が必要です。

米国では以前からプログラムによるアクセスが可能なサービスを行っている(APIの公開など)証券会社があり、 自動売買の環境は整っていますが、日本にはサービスを開始している証券会社はまだ クリック証券しかありません。

ここでは、プログラムによる証券会社へのアクセス方法として、現状としてはどんな方法で行えるかを考察します。

現在の証券会社のプログラム売買サービス状況について
プログラムによる売買で一番確実な方法は、 証券会社が提供するプログラム売買サービスを利用する事です。

プログラム売買サービスとは、 証券会社がWebを使った投資サービス(発注、情報取得、資金管理など)へのプログラムでのアクセス方法を 提供する事です。

例えば、日本で唯一プログラム売買サービスを行っている証券会社である クリック証券 では、投資サービスを行うためのサーバへのWebAPIを公開しており、 このAPI仕様に基づいたプログラムを作成すれば、誰でもプログラムによる取引を行うことができます。

クリック証券 のサービス内容ですが、 楽天証券のRSSのようにリアルタイムで板情報が取得ができないのは残念ですが、 発注面に関しては普通に使えます。

メリット
・証券会社の正式なサービスである
・Webページの発注をプログラムで行っている場合、ページデザインが変更されたら使えなくなるが、
 APIは関係ない。(ただしAPIの仕様が変わる場合はあるが、あらかじめ連絡があると思われる)
・API使用の手数料はなく、売買手数料のみ(クリック証券の場合)

デメリット
・頻繁に売買する場合に、現行の手数料では割高(クリック証券の場合)
・クリック証券だけ使用すると、サーバに障害が発生した場合などにリスク分散が行えない。

もっと多くの証券会社が開始すれば色々と比較検討もできるのですが、 現状では仕方がありません。
API以外の方法で証券会社へアクセスするには
証券会社がプログラムアクセスのサービスを開始してないのであれば、力技で行うしかありません。

方法としては、
1.証券会社が提供しているトレードツールをリバースエンジニアリングし、オリジナルツールを作成する
2.現在手で行っている証券会社のHPへの操作をプログラムに行わせる

1については、 証券会社によっては、提供ツールのリバースエンジニアリング(解析)を禁止しているところがあります。 例えリバースエンジニアリングが禁止されていなかったとしても、解析には高度な技術力が必要であり、 個人レベルでは現実的ではないと思います。
他に容易で実現可能な手段もあるので、これら作業に労力をかけるのは効率的ではありません。。

2の方法が一番現実的なので、以降は2について考察を進めます。
具体的には、
・プログラムでIEを操作する
・マウス・キーボード操作を記憶するツールを用い、注文時に再現させる
・プログラムでトレードツールを操作する
・証券会社へ送るデータを作成し、直接やりとりする
の手段があります。