Seleniumを使ったFXや株の自動取引

システムトレード系の情報です。↓

FXや株の自動取引ツールの作り方

基本的なアイデアとしては、「通常は人が手で行うブラウザの操作を、プログラムで実行する」というものです。
人がたとえばFXの取引をするとき、ブラウザ上でまず取引業者のサイトに行き、ユーザネームとパスワードを入れてログインボタンをクリックします。それから、価格ボード上の価格を見ながら、タイミングを見て、通貨・枚数・売りか買いか・注文種類(通常/IFDone/IFD-OCO/…)・成り行きか[逆]指値か・[逆]指値ならその価格、といった情報を入力/選択して、注文ボタンをクリックします。要はこういった一連の動作を、手でやるのでなくプログラムから実行できればよいわけです。

これを実現するには、以下の3つのツールを使えばできます。
A. Selenium webdriver
B. Selenium builder
C. Firefox付属の開発ツール(インスペクタ)

このうち、Aがメインのツールで、ブラウザの操作をプログラムで実行/自動化するものです。BとCは、個々のブラウザ操作をプログラムに「翻訳」する作業を簡単化してくれるヘルパーツールです。なおブラウザは、たしか他のブラウザ(Chromeとか)も使えると思いましたが、これまた私が使ってるという関係でFirefoxを前提に説明していきます。

言われてみれば確かにその通り、各証券会社の口座はWebブラウザからの操作を受け付けているわけで、このインターフェイスにプログラムからアクセスできるようにすれば良い話ではある。


スポンサーリンク


FXはOANDAがAPIを公開してるけど、今のところ株は個人向けにAPIを公開している証券会社が無いのよね。この記事で書かれている方法を使えば、株もプログラムで売買できるわけだ。(というか、Webブラウザで操作できる証券会社ならどれでもできるようになる)

さて、まずはここで出てくるSeleniumとは何者なのか、調べてみる。


スポンサーリンク

Selenium

Seleniumはブラウザを自動化します。それだけです!それで何をするかは全てあなた次第です。
Seleniumは、主にWebアプリケーションを自動化するためのフレームワークですが、それだけの用途に限ったものではありません。
Webベースの退屈な管理作業の自動化も可能です。

Seleniumとは、Webブラウザをプログラムで動かすためのフレームワークで、ユーザーテストなどの処理を自動化するツールとして知られているようだ。実際に使用するには、ブラウザ操作の手順を作成し、その手順をSeleniumに実行させることになる。

ブラウザ操作手順の作成には、Selenium WebDriverを使ってプログラム(Java、Python、Ruby、C#)で記述する方法と、Selenium BuilderというFireFoxアドオンを使ってブラウザ上で手順を記録する方法がある。Selenium Builderで作成した手順をプログラムコードへ吐き出すこともできるようだ。

Web系の技術に疎いので全然知りませんでした。。。
で、このSelenium BuilderというFireFoxアドオンに相当するChrome拡張もチラホラあるようですが、そこまでChromeにこだわりも無いので、こっちを使っておいた方が楽ですね。

ただ、ここ最近の株・FXは急激な動きがあり過ぎて手を出すのがちょっと怖いというのが本音。


スポンサーリンク

関連記事

OpenCV 3.1とopencv_contribモジュールをVisual Studio 2015で...
GANs (Generative Adversarial Networks):敵対的生成ネットワーク
ディープラーニングに対応したPythonの機械学習ライブラリ『Pylearn2』
Mean Stack開発の最初の一歩
機械学習手法『SVM(Support Vector Machine)』
スクレイピング
OpenCVベースのマーカーARライブラリ『OpenAR』
チャットツール用bot開発フレームワーク『Hubot』
Iterator
Verilog HDL
ブログの復旧が難航してた話
手を動かしながら学ぶデータマイニング
FX初心者
ブログが1日ダウンしてました
PyDataTokyo主催のDeep Learning勉強会
Google App Engineのデプロイ失敗
OpenCVでカメラ画像から自己位置認識 (Visual Odometry)
オープンソースの物理ベースレンダラ『Mitsuba』をMayaで使う
Pythonの自然言語処理ライブラリ『NLTK(Natural Language Toolkit)』
WordPress on Windows Azure
Python2とPython3
OpenCVでiPhone6sのカメラをキャリブレーションする
組み込み向けのWindows OS 『Windows Embedded』
Twitter APIのPythonラッパー『python-twitter』
adskShaderSDK
ディープラーニング
軽量なジオメトリ処理ライブラリ『libigl』
Google Chromecast
3D復元技術の情報リンク集
OpenCVの超解像(SuperResolution)モジュールを試す
クリエイターのための機械学習ツール『Runway ML』
AmazonEC2のインスタンスをt1.microからt2.microへ移行する
pythonもかじってみようかと
Pythonのソースコードに特化した検索エンジン『Nullege』
法線マップを用意してCanvas上でShadingするサンプル
C#で使えるNumPyライクな数値計算ライブラリ『NumSharp』
WebGL開発に関する情報が充実してきている
PythonのStructure from Motionライブラリ『OpenSfM』
WordPressのテーマを自作する
OpenCVで動画の手振れ補正
WordPressの表示を高速化する
AfterEffectsプラグイン開発

コメント