世の中には優れた売買シグナルを配信する投資助言業社さまもいらっしゃいます。
中には就業時間中、就寝中にもシグナルを送信されることもあります。
シグナルを受けた時に注文を入れたい、だけどできない。
そんな悩みを解決する手段を考えたいと思います。
開発ネタなので興味ない方は読み飛ばしてください。
.
あなたの投資を自動化します
オートマチックトレード
松村博史
.
・
弊社のような変わったことを生業にしておりますといろいろな相談が持ち込まれることがあります。
過去にも同様のご相談を何度かお受けいたしました。
時期は熟したようです。開発のための前段階の考察をしたいと思います。
.
・メールを受け取る
メールを受け取る方法として2つの方法が考えられる。
ひとつはメールクライアントとして機能し定期的にメールサーバーを確認しにいく方法。
ひとつはメールサーバーとして機能しシグナルメールを直接受ける方法。
前者のメリットは実装も簡単だし、シグナル送信者からメールを受け取る既存の仕組みを変更する必要がない。
逆にデメリットはあまり頻繁に確認に行くと相手先メールサーバーに負荷をかける事、受けたメールが他のメールクライアントによって削除されてしまう可能性があること。
メールが削除されるかもしれない件はメールサーバーがIMAPだと問題ない。
が、弊社の場合は不特定多数にサービスを提供する可能性があるため、利用者全員にあなたのメールサーバーはIMAPですかと確認を取らなければならない。
しかしながらIMAPって何ですか?って利用者のほうが圧倒的に多いことはたやすく想像できる。
.
後者のメリットは前者のデメリットの逆、メールを受けるまで待ち受けの仕事しかしないのでこちらのシステム、相手先サーバーの負荷が格段に低いこと。
後者のデメリットは開発運用にあたってメールサーバーの管理者としての知識と経験が必要なこと、メールの送信先をこのサーバーに指定するよう利用者に変更を求めることが必要なこと、受けたメールをもとのメールアドレスにも転送する仕組みが必要なこと。
.
私どもの場合は後者のメールサーバーを立てる方法を選択するだろう。
.
・メールの内容を解析する
金融商品の注文の場合、その内容には必ず含まれる項目がある。
- 新規か返済か
- 買いか売りか
- 銘柄
- 指値か成行か、逆指値か(逆指値は厳密にはこの行ではないけど便宜的に)
- 寄付き、引けの指定はあるか
文章の中からこれだけの情報を読み取れればいい。出来る人には簡単だ。
シグナルメールを受けて自動的に注文する場合、数量は注文者側に委ねられる。その数量だけは予め登録しておく必要があるだろう。
解析に使用するのは弊社の場合はオープン系のプログラマが多いのでPHPかjavaを使う。
メールのエンコードはiso-2022-jpが多いので解析するときにはUTF-8に変換して解析するほうが現実的だろう。
最近はUTF-8で送られてくるメールもあるそうなので、メールごとにエンコードを確認する必要があるかもしれない。
.
・証券会社に注文する
ここは肝である。
弊社の場合はこのことばっかり9年やってきている。
延べ20社くらい開発したが、紆余曲折があって、2015年4月現在は株式では2社。日経225では3社、FXでも2社接続するためのプログラムを持っている。
ここの部分はあんまり晒すと証券会社さんにつなぎに行くことを奨励しているみたいになるので、証券会社さんと提携したい我々としては痛し痒し。
.
終わりに
カブドットコム証券さんとはAPI使用許諾契約を結んでいるので、この部分の開発を承ることは出来ます。ご相談ください。
ピンバック: どんな要望にも応えたい | 株、先物とFXの自動売買をつくる船場の社長ブログ
ピンバック: シグナルメールを受けて注文を入れるシステム | 株、先物とFXの自動売買をつくる船場の社長ブログ