コンピュータ投資基礎ノウハウ、エクセルVBA「基本と準備」
エクセルVBAを使うための基本知識。
自動売買のプログラムに必要な要素としては以下のようなものが挙げられます。
これらはどれもコンピュータで実現できるものですが、どう言う開発言語と開発環境を使うかと言うことで、方法はいくつも考えられます。
その考えられる方法のうちで、ここでは、多くの個人投資家になじみ深いエクセルによるテクニカル計算を想定して、エクセルでこさえた売買手法をそのまま使うことが容易なエクセルによる開発と言う方法で説明します。
エクセルでの自動売買システムを開発する場合、セル関数(いわゆるシート関数とかセル埋め込み関数と言われるものです)ではなくVBAと言う言語でソフトウェアを作るのが合理的です。
VBAとはマイクロソフトのビジュアルベーシックと言う開発言語と文法やライブラリに一部互換性がある親和性の高い言語で、エクセルやアクセス、アウトルックなどで使うことが出来ます。
また同じビジュアルベーシック系のスクリプトであるVBSやVBと言う言語もVBAから動かすことが出来るため、VBAだけでは実現が難しいプログラムをVBSなどで書いてVBAから動かすことも出来ます。
これらの言語がエクセルによる自動売買の開発を可能にする言語です。
VBAはマクロとしてエクセルの一連の命令を自動記録して、その自動記録された命令を実行するプロセスで記録に使われるコードです。
VBAのエディターはエクセルシート上部・メニュー一覧の「開発タブ」で開いたリボンの右の方の赤丸のアイコンから開くことができますが、マクロも隣接したところに配置されています。
マクロで記録した実行手順は自動的にVBAの命令実行コードとしてVBEに記録されます。
つまりマクロとは命令文としてVBEに自動記録されたVBAです。
最初の「開発リボン」の赤丸(Visual Basic)をクリックすると下の図のようなアプリケーションが立ち上がりますが、これがVBAのエディタです。
VBとはマイクロソフトが開発した言語で「ベーシック」と言う文法で書かれた開発用のプログラムです。
VBAとはこのVB(ビジュアルベーシック)のエクセル版です。
厳密にはビジュアルベーシックforアプリケーションと言って、アクセスやアウトルックなどエクセル以外のマイクロソフトオフィスのアプリケーションにそれぞれ用意されているマクロ命令言語です。
また、先に触れたVBSはいわゆるスクリプト言語でJavaScriptなどに対抗して作られられたビジュアルベーシックスクリプトと呼ばれるものです。
これは、簡単にいえばエクセルから他のアプリケーションやコンピュータ自体の起動・休止などを操作することができる命令のための文章と考えれば良いと思います。
つまり、VBAからVBやVBSを動かすことでエクセルからエクセル自体や他のアプリケーション、WEBやコンピュータ自体などのかなりのことを(多少慣れれば)比較的簡単な方法で自由に制御できます。
ここでは言語や文法の説明は目的としていませんので、詳しく研究したい方はネットでVBAで探すことをお勧めします。
私の場合、最初の頃はネットで検索を重ねて目的とする機能を実現できるコードのチップをなんとか見つけて拾ってきては手探りで改作して使っていましたが、そうしたやり方でも、自立型の自動売買ロボットを比較的容易に作成することができました。
この項ではコードやプログラミングの解説は行っていませんが、簡単なコードチップを紹介して、プログラミング要素をどのようにデザインするかと言うことを主に解説していますので、それを基本に自分自身の自動売買をイメージをデザインして、更に複雑なシステムの構築に必要な情報を集めると言う方法でかなりのことが行えるようになるはずです。
ネット上ではVBAによるエクセル自体の操作、インターネットからのデータ取得や、エクセルから自分のホームページを置いてあるサーバーへのデータや画像のアップロード、サウンドを鳴らす方法からメールの送信まで、ほとんどの必要な情報が検索一つで手に入ります。
日経平均 | 26491.97(+320.72) |
TOPIX | 1866.72(+14.98) |
JASDAQ | 164.28(-0.47) |
ダウ平均 | 31500.68(+823.32) |
S&P500 | 3911.74(+116.01) |
NASDAQ | 11607.62(+375.42) |
ドル/円 | 135.215(+0.294) |
FTSE100 | 7208.81(+188.36) |
ハンセン | 21719.06(+445.19) |
ただいま、休日メンテナンス中です。
※一部に不具合が起こることがあります。