岡三RSSを使っていながらなぜExcelVBAでシステム構築しなかったのか?

岡三RSSを使っていながらなぜExcelVBAでシステム構築しなかったのか?
理由は3つ

  • VBAを使いたくなかった
  • Excelを信用していない
  • システムの将来性を考えた

1.VBAを使いたくなかった
まず、VBAは遅いというイメージを持っている。
以前、AccessVBAで作られたシステムを見たことがある。
めちゃくちゃ遅かった。
あまりにも遅いので、C言語で作り直された。
数分かかっていた処理が数秒で終わった。
それ以来、VBAは遅いというイメージを持っている。
何も、HFTシステムを作ろうとは思っていないが、処理は速いに越したことはない。

次に、Excelの株価チャート(グラフ)を使う気になれなかった。
システムをどう構築しようか、あれこれ検討しているときに、Excelでローソク足を表示させ、いじってみたことがある。
結果、「これじゃない!」と思った。
なんというか、表現力が無さすぎる。

そして、エディターが好きになれない。
VBA用の開発エディターVBEが、どうも好きになれない。
使い方が分かりづらいのだ。
単なる慣れの問題で、腰を据えて勉強すればモノになると思うが。
どうせ1から勉強するなら、C#・VisualStudioを選んだ。
(開発環境は別途記事にする → こちら

2.Excelを信用していない
トレードシステムは、「ミッションクリティカル」とまでは言わないが、その障害に対する影響は、お金に関わる問題となるため、大きい。
Excelをトレードシステムの中核に据えるのが非常に怖い。
なぜなら、Excelをそこまで信用していないから。
いまだにコピペしただけでExcelがハングする場合がある。
このことで、一度危ない思いをした。
私は日々のトレード記録をExcelで管理している。
場中にトレード記録を書いているときにExcelがハングした。
そう、コピペ操作をしたときだ。
厳密に言うと、特定の行のコピペをミスってアンドゥ操作をしたとき。
そして、このハングは再現性がある。
(それだけよくこのミスをするということだが・・・)
Excelがハングすると、復旧するためにはExcelタスクを終了するしかない。
そうすれば、岡三RSSのExcelファイルも終了してしまう。
泣く泣く終了させた。
ただ、このときは開発用マシンでのExcel操作であり、本番用と併せ2台のマシンで並行運用していたため、大事には至らなかった。
それ以来、少なくとも本番用マシンでは岡三RSS以外のExcelファイルを開かないようにしている。
本番用マシンでは、Excelに限らず、余計なことをしない方が良い。
何が起こるかわからない。

岡三RSSがExcelを使っている以上、Excelを使わざるを得ないが、できるだけ使用範囲を狭くしたいと思っている。

3.システムの将来性を考えた
まず、小さく生んで大きく育てることを考えた。
初期プロトとして作成した「自動売買機能+単純なサイン確認機能」であればExcelVBAでも実現可能だろう。
(レスポンスの問題はやってみないと分からない部分もあるが)
そこで留まっているならExcelVBAで良い。
しかし、そこから更にシステムを発展させていくには、ExcelVBAでは直ぐにできることの限界がくる。
そして、追加機能に対するアイデアもExcelVBAの枠を超えることができないだろう。
そう思い、初めからC#で開発しようと考えた。
例えば、ExcelVBAでプロトを作っていれば、チャート再生機能というアイデアは出てこなかっただろう。

次に、APIを個人向けに提供する証券会社が出てきたときのことを考えた。
Excelとのインターフェース部分を変更するだけでシステムのコアな部分を使い続けることができる。
まぁ、インターフェース部分を変更するのも大変な作業ではあるが・・・

<広告>

TOP