投資プログラマー'S WEB

お気に入りに追加

◆ 投資技術情報 完全自動売買プログラム考察 ◆
プログラム開発について
処理の部品化・共通化→効率化
世の中には、既に個人レベルで完全自動売買を行っている人もおり、
銘柄選定ロジックを含めて各人各通りの手法で行われています。

ただ、銘柄選定ロジックはその性質から様々な形態をとりますが、
情報取得や各証券会社への発注処理は目的と手段が単一であり、
実現させると機能的にはほぼ同一なものになります。

にもかかわらず、様々な理由により情報取得・発注処理は各人で作成され、極端な話
同じ(機能をもった)ものを色々な人が作っています。
autobuy-image.jpg
これはあまりにも無駄です。
(高度な技術情報なので、情報隠蔽による優位性を保つ為なら成功ですね)

高機能・高性能な発注ツール・ロジックが1つ存在すれば共通化できる処理をプログラミングする必要がなくなり、
完全自動売買を志す人の障害の1つが経る事になります。

特にプログラム初心者の人にとってはかなり助かると思います。

autobuy-image.jpg


実現にむけて
まずは手始めとして、VBAでソースを組むことにします。

最終的にはDLLで提供を目指します。
(他言語でプログラムしている人も使える)

また、誰でも簡単に扱える事を理想にします。


以下、現在作成中の構想です。

・自動銘柄選定ロジック
 リアルタイムデータを分析して買い・売りを判別する、
 各人ごとのオリジナルなロジック

・各証券会社アクセス用標準モジュール
 証券会社へのWebを使ったアクセス機能をまとめたもの

・共通Webアクセス処理群の標準モジュール
 Webにアクセスする為の機能をまとめたもの

「各証券会社アクセス用標準モジュール」と
「共通Webアクセス処理群の標準モジュール」を
公開・提供を目標とします。

使い方としては、「自動銘柄選定ロジック」で証券会社へのWebアクセス
を行いたい場合は、
「各証券会社アクセス用標準モジュール」の関数に
いくつかの条件を渡してコールします。

例えば、
自動銘柄選定ロジックが「この銘柄が買い!」と判断した場合は、
「各証券会社アクセス用標準モジュール」のOrder関数に
銘柄番号、現物、買い、成り行き、株数、を渡してコールすれば完了。

その他に、ログイン、確認、取り消し等、ほとんどの機能を
関数コールで実現します。

「各証券会社アクセス用標準モジュール」は、証券会社毎に
ファイルを作成する必要があります。
それを補助するために、テンプレートと、「共通Webアクセス処理群」
の標準モジュールを用意します。

autobuy-image.jpg


メリット・デメリット
こういった共通処理を部品化できれば、以下の恩赦を受けることができそうです。

・証券会社へのアクセス(ログイン、発注、確認等)は関数コールだけでよくなり、
 「自動銘柄選定ロジック」のみに注力できる。

・もし証券会社のHP構成が変わっても、
 「各証券会社アクセス用標準モジュール」を新しいものに入れ替えるだけで、
 「自動銘柄選定ロジック」に手を加える必要がない。
 また、新たな証券会社が増えた場合、手数料割引キャンペーン中の証券会社にしたい時など、
証券会社を変える場合も同様である。

・沢山の人に使ってもらってデバッグや改善がされれば、高機能なものが出来上がる。
 (バグがない、多機能、高速)

デメリットもあるとは思いますが

 ・「各証券会社アクセス用標準モジュール」を新規作成・更新は誰がするか
 ・場合によっては、「自動銘柄選定ロジック」にも手を加える必要があるかも
 ・処理速度と安定動作のトレードオフ
 ・証券会社が、Webによる短時間の連続注文などを規制していないか

その他にも、売買判定用のロジック、資金管理等、
共通化できる部品があるなら共通化したいですね。


状況
現在、鋭意作成中です。

クラスを使えばきれいにできるのですが、調べたらVBAのクラスは継承ができない?
のような事が書いてあったので、とりあえず全部標準モジュールで作成中です。

ある程度試験はしていますが、まだまだバグ等もあると思います。
何か気づいた方は連絡してもらえると助かります。

また、使用は自己責任でお願いします。

以下、現在作成中のソースです。

自動発注EXCELマクロ


Copyright© 2006-2007 MURAKEN All rights reserved