- ベストアンサー
エクセルVBAで楽天証券に注文を出す方法は?
- エクセルVBAを使って楽天証券に注文を出す方法を知りたいです。
- 株のスクリーニングから注文の意思決定までをエクセルVBAで自動化したいです。
- 投資関連の書籍では、証券会社への発注までもエクセルVBAでできると書いてありますが、具体的な方法がわかりません。教えていただけると助かります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
いろいろ検索してみると、データの取得の方は、楽天ではRSSから簡単に取得できるようですね(というか楽天だけらしい)。 具体的な方法については、何しろ私自身はマーケットスピードを持っていませんので想像する以上のことはできませんが、特に難しいことはなさそうだと思います。とりあえず「楽天証券 rss」で検索するといろいろ出てきました。 たとえば↓ http://www2s.biglobe.ne.jp/~katsum/marketspeed/ で、データ取得はいいとして送信の方ですが、IEコンポーネントの使用自体は、特にそれ専用の書籍が必要なほど難しいものではありません。 IEコンポーネントは、VB(VBA)では「WebBrowserコントロール」と呼ばれています。コンポーネントまたは参照設定で「WebBrowserコントロール」(あるいは「Microsoft Internet Controls」)を指定すると、VBのエディタからボタンなど他のコントロールと同じように使えるようになります。 確かヘルプにも載っていたように思いますが、↓など参考になると思います。 http://support.microsoft.com/kb/311294/JA/ このページでは、ASPページも用意してそこにPOSTする方法が説明されていますが、今回はPOSTの相手が別なので読み飛ばし、後半部分のPOSTするくだりが参考になると思います。 ただ、理解されているかとは思いますが、当然ながら十分にテストしてから使用することをおすすめします。 できればテスト用の受信CGIなど用意して、それに向かって「注文」を送ってみる、など。
その他の回答 (2)
- todo36
- ベストアンサー率58% (728/1234)
楽天 リアルタイムスプレッドシート で検索するといろいろ情報が見つかります。
- taseki
- ベストアンサー率66% (155/233)
スクリーニングについては、それぞれの条件などあると思うので処理はわかりませんが、おそらくご質問の件は概ねデータの受け渡し方法が肝ではないでしょうか。 以下、参考になるかわかりませんが…。 マーケットスピードは以前にチラっと画面を見たことがあるぐらいなのですが、Excelがデータ受け渡しの相手とするものが何か、というのがカギになるかと思います。 たとえば、ExcelからWebページの情報を得たり、入力フォームを操作する、というのなら常套手段があります。 たとえば↓こういうことなど。 http://okweb.jp/kotaeru.php3?q=1516889 これはExcel(というかVBA)がIEコンポーネントを介して入力フォームをリモート操作するイメージです。 これ自体はそれほど難しいことではありません。 で、そうではなく、Excel ←→ マーケットスピードでのデータ受け渡しと連動、ということになると、マーケットスピードが何らかのインターフェースを持っているか、逆にマーケットスピードからExcelシートにアクセスする仕組みがあれば、それを使うことになるのでしょう。 たとえば、コンポーネント・ActiveXとしてマーケットスピード(またはその一部)自体を、オブジェクトとしてExcelシートやフォームなどに埋め込めるようになっているとか。 ためしに、マーケットスピードがインストールされた環境で、VBAの「参照設定」一覧を見てみて、それらしい名前があれば、それについて調べればいいように思います。 いずれにしても、マーケットスピード自体に詳しくなければ役立つ回答はできませんね…。すみません。 ただ、「書籍では~VBAで出来ると書いてある」との部分ですが、それがマーケットスピードを介して行うことを指しているのか、そうではなく前述のような直接Webサイトにアクセスして行うことを指しているのか、それによって方法は異なると思います。
補足
なるほど。全自動取引を実現している方々の実績では、ご指摘の入力フォームを操作する方法であるようです。直接マーケットスピードとインターフェースでやり取りするのがスマートなのでしょうが・・・。 いずれにしろ、私はまだ知識不足ですね。IEコンポーネントを介しての入力フォームの操作法について、何かお勧めの書籍があれば教えていただけると幸いです。
お礼
丁寧な回答、ありがとうございます。 参考になりました。何とか実現すべく、努力してみます。 また壁に突き当たったら、ご助力をお願いします。