Webサービス(API)を利用した株取引自動売買システムの開発ページ

クリック証券(旧GMO証券)にて株取引のWebサービス(API)が公開されています。このサービスを利用したシステムトレードのシステムを構築していくこととしました。本ページでは、APIの利用の仕方を中心に報告していきたいと思います。

リアルタイム株価取得について

株のアルゴリズム開発に時間を費やしていたため、更新が遅れてしまいました。
突然ですが、今回は、リアルタイム株価の取得方法に関して考えて見ます。
もともとは0日から最大2日程度保有するスイングトレードを想定していましたが、
デイトレードもバリエーションに加えようと考え、場中のリアルタイムな株価を取得する必要性を感じました。そこで、今回その方法を構築してみました。

リアルタイム株価取得について


リアルタイム株価を取得する方法として「タワー」という有料のリアルタイム株価データベースサービスを利用する方法があります。しかし、ちょっと敷居が高そうなので、今回は、楽天証券のRSS(リアルタイムスプレッドシート)を利用することにしました。

今回の方法はまだ構築段階にあり、完全に検証を行っているわけではないので、
ご利用に当たっては自己責任でお願いします。

リアルタイム株価取得といっても、完全なリアルタイムではなく、1分間隔の現在値をデータベースに取り込んでいくことをターゲットとしています。計画では次の株価取得までの1分間にシステムで売買サインを出力することとしています。

データ格納までの流れ


今回の流れは下記のようになります。非常に単純ですね。

1・楽天証券RSSを利用し、Excel上のセルに最新情報を取得
2・エクセル上のセルに反映された株価情報をODBC経由でMySQLデータベースに格納

上記を行うために準備が必要です。以下では必要な準備に関してコメントします。
大前提として、楽天証券の口座を開設し、RSSを利用可能な条件を確保しておいてください。

データベースの準備


株価を保存するテーブルを用意します。
テーブルは下記の4項目の属性を保持します。

コード
日付
時間
株価

ExcelシートにRSS用記述の準備


RSSではセルに下記のように記述することにより、データを取得することができます。
まずは、データ取得用のシートにRSSのコードを準備してください。

コード : =RSS|'1515.T'!銘柄コード
日付 : =RSS|'1515.T'!現在日付
現在の株価 : =RSS|'1515.T'!現在値
株価更新時刻 : =RSS|'1515.T'!更新時刻

今回は上記のシートを作成するマクロを用意しましたので、簡単に準備することができます。

RSSシート作成マクロ


RSSシート作成マクロを利用してRSSシートを作成します。

1・まず、code_listというシートをExcel上に新規作成(挿入)してください。
2・そのシートのA列に今回リアルタイム株価取得対象とするコードを記載してください
(最大で300個まで記載可能です。これはRSSの制限が最大300銘柄までとなっているためです。)
3・dataというシートを新規作成(挿入)してください
4・下記のマクロを実行してください。

[RSSシート作成マクロ]
----------------------------------------------------------

Sub create_rss_sheet()
Dim i, j As Long
Sheets("code_list").Select
For i = 1 To Cells(Rows.Count, 1).End(xlUp).row
code = Worksheets("code_list").Range("A" & i).Value
j = i + 1
Worksheets("data").Range("A" & j).Value = code
Worksheets("data").Range("B" & j).Value = "=RSS|'" & code & ".T'!現在日付"
Worksheets("data").Range("C" & j).Value = "=RSS|'" & code & ".T'!更新時刻"
Worksheets("data").Range("D" & j).Value = "=RSS|'" & code & ".T'!現在値"
Next i
End Sub

-----------------------------------------------------------

次回は、データベースに登録する部分に関して記述する予定です。


テーマ:株自動売買ソフト開発 - ジャンル:株式・投資・マネー

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://yoyakuat.blog68.fc2.com/tb.php/17-81072f7b
この記事にトラックバックする(FC2ブログユーザー)