minitra!

先物シストレとインデックス投資の不労所得で資産1億を目指す!

一部のストラテジーの取引を自動化

 予定より時間がかかりましたが、いま運用しているストの中で一番単純なものを、VPSサーバ上で運用の自動化をすることができました。
 実現方法としては、前に言ったとおりCentOSVPSサーバ上でSeleniumを使用してブラウザ自動操作です。PythonやらSelenium Driverやらのインストールと設定(その辺の説明は割愛しますが)をしたあと、たとえばこんなスクリプトを走らせると自動注文することができます。↓↓
(カブドットコム証券の場合)

# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException

user = "xxxxxxxx" #ユーザID
password = "xxxxxxxx" #パスワード
stock_code = "169090019" #日経225mini先物 2014年9月限
market = "23" #日中
qty = 1

url_login = "https://s10.kabu.co.jp/_mem_bin/members/login.asp?/members/"
url_order = "https://s20.si1.kabu.co.jp/ap/pc/trade/orderderiv/openinput"

driver = webdriver.Firefox()
driver.implicitly_wait(30)

#ログイン
driver.get(url_login)
driver.find_element_by_name("SsLogonUser").clear()
driver.find_element_by_name("SsLogonUser").send_keys(user)
driver.find_element_by_id("PASSWORD1").clear()
driver.find_element_by_id("PASSWORD1").send_keys(password)
driver.find_element_by_id("image1").click()

#成行注文
url =url_order + "?symbol=" +stock_code + "&market=" + market
driver.get(url)

driver.find_element_by_id("orderInput_btn1").click() #買
#driver.find_element_by_id("orderInput_btn2").click() #売

driver.find_element_by_id("Qty").clear()
driver.find_element_by_id("Qty").send_keys(qty)
driver.find_element_by_id("orderInput_btn4").click() #成行
driver.find_element_by_name("B3").click()
#driver.find_element_by_name("B3").click() #もう一度クリックで注文確定

 見てのとおり注文を自動で出すだけならとても簡単なんですよね。
 トレードの自動化ともなると新規注文だけじゃなくて、取引限月の管理、約定結果の確認、その中から返済注文を出さなきゃいけないし、そういう所の状態管理が思っていたよりずっと大変でした。
 あとは証券会社によって注文画面の構成が全く違うところ。カブドットコム証券はおそらく自動化しやすい方かもしれません、SBI証券はフレーム多用しすぎ&セッションに状態持ちすぎでとてもイラっとするページ構成だったので解析をあきらめました。

コンピュータトレーディング入門 (現代の錬金術師シリーズ 49)

コンピュータトレーディング入門 (現代の錬金術師シリーズ 49)