新規記事の投稿を行うことで、非表示にすることが可能です。
2015年04月08日
Rubyではじめるシステムトレード2
後半のシミュレーターの解説部分も読了。Rubyのプログラミング解説書としても優れた本なのだろう。
Rubyも一緒に勉強したいところだけど、そこは本筋ではないのでまずはこのシステムを動かせるようにしよう。
"make_stock_list.rb"を実行することで、確かにdataディレクトリに"tosho_list.txt"ファイルが出来ている。
$ vi tosho_list.txt
1305,ETF,10
1306,ETF,10
1308,ETF,100
1309,ETF,1
1310,ETF,10
1311,ETF,10
1312,ETF,1
1313,ETF,10
1314,ETF,100
1316,ETF,10
1317,ETF,10
....
証券番号、種類、売買単位が1行ずつ出力されているようだ。種類はETFやらREITやらになっているがこれでいいのかどうか。一応リストはとれたようなので次はデータの取得を試してみる。
$ ruby ./bin/get_price_data.rb
とやってみると、1行ずつリストにあった証券番号が表示されていく。対応する株価データを取得できているようだ。しばらく待つことにしよう。
順調にデーターを取得していると思っていたら3101まで進んだところで以下のエラーを出して終了している。
open_http': 999 Unable to process request at this time -- error 999 (OpenURI::HTTPError)
dataディレクトリ以下に"証券番号.txt”のようなファイルで取得したデータファイルが保存されるようになっている。
$ vi 3101.txt
2011/03/18,109,114,109,113,16219000,113
2011/03/22,118,119,116,117,13356000,117
2011/03/23,117,122,115,119,11559000,119
2011/03/24,123,124,120,120,9758000,120
2011/03/25,122,123,117,119,8734000,119
2011/03/28,121,122,119,121,6913000,121
2011/03/29,119,121,116,121,8539000,121
2011/03/30,121,123,119,122,8268000,122
...
と2011年の6月30日までデータがある。
もう1回get_price_data.rbを実行してみるがerror999がでる。
う〜ん、何なんだ…
[課題]
=>ソフトで自動的に多くのデータを取得できない仕様になっているようだ。対策としては小分けしてデータを取るか、RubyのGemでsorry_yahoo_financeなどを使うか。「Rubyではじめるシステムトレード」に書いてあった、PanActiveMarketDatabaseを使う、などか。
Linux上のシステムにしたいので、Rubyの別のGemを試してみよう。それと並行してパンローリング社のデーターベースも興味があるので、WindowsにもRubyの環境を作ってみよう。いずれにしろ何かデータは得られたので、シミュレーターの方の動きを確認してみよう。
Rubyも一緒に勉強したいところだけど、そこは本筋ではないのでまずはこのシステムを動かせるようにしよう。
"make_stock_list.rb"を実行することで、確かにdataディレクトリに"tosho_list.txt"ファイルが出来ている。
$ vi tosho_list.txt
1305,ETF,10
1306,ETF,10
1308,ETF,100
1309,ETF,1
1310,ETF,10
1311,ETF,10
1312,ETF,1
1313,ETF,10
1314,ETF,100
1316,ETF,10
1317,ETF,10
....
証券番号、種類、売買単位が1行ずつ出力されているようだ。種類はETFやらREITやらになっているがこれでいいのかどうか。一応リストはとれたようなので次はデータの取得を試してみる。
$ ruby ./bin/get_price_data.rb
とやってみると、1行ずつリストにあった証券番号が表示されていく。対応する株価データを取得できているようだ。しばらく待つことにしよう。
順調にデーターを取得していると思っていたら3101まで進んだところで以下のエラーを出して終了している。
open_http': 999 Unable to process request at this time -- error 999 (OpenURI::HTTPError)
dataディレクトリ以下に"証券番号.txt”のようなファイルで取得したデータファイルが保存されるようになっている。
$ vi 3101.txt
2011/03/18,109,114,109,113,16219000,113
2011/03/22,118,119,116,117,13356000,117
2011/03/23,117,122,115,119,11559000,119
2011/03/24,123,124,120,120,9758000,120
2011/03/25,122,123,117,119,8734000,119
2011/03/28,121,122,119,121,6913000,121
2011/03/29,119,121,116,121,8539000,121
2011/03/30,121,123,119,122,8268000,122
...
と2011年の6月30日までデータがある。
もう1回get_price_data.rbを実行してみるがerror999がでる。
う〜ん、何なんだ…
[課題]
- open_http': 999 Unable to process request at this time -- error 999 (OpenURI::HTTPError)の原因
=>ソフトで自動的に多くのデータを取得できない仕様になっているようだ。対策としては小分けしてデータを取るか、RubyのGemでsorry_yahoo_financeなどを使うか。「Rubyではじめるシステムトレード」に書いてあった、PanActiveMarketDatabaseを使う、などか。
Linux上のシステムにしたいので、Rubyの別のGemを試してみよう。それと並行してパンローリング社のデーターベースも興味があるので、WindowsにもRubyの環境を作ってみよう。いずれにしろ何かデータは得られたので、シミュレーターの方の動きを確認してみよう。
2015年04月07日
Rubyではじめるシステムトレード1
手始めに坂本タクマ氏の「Rubyではじめるシステムトレード」を読み始めた。
2段階の構成になっていて、前半は株式データの取得スクリプトの解説、後半は取得した株式データを用いた売買シミュレーションの解説となっている。
Linux上で開発を始めることにする。まずはwgetでサンプルコードを取得
$ wget http://www.panrolling.com/books/gr/gr121.zip
これを展開して、ファイル構成を確認しサンプルコードをいじってみる。展開してできたディレクトリの中でとりあえず、
$ ruby ./bin/make_stock_list.rb
と実行してみる。
tosho_list.txt
1305
1306
1308
...
と出力されていく。一応は動いているようだ。
前半の株価をネットから取得する部分は読み終わった。Yahoo JapanとPan Active Market Databaseからデータを取得する方法が解説されている。まずはこれを使ってシステムトレードの骨格を勉強しよう。
2段階の構成になっていて、前半は株式データの取得スクリプトの解説、後半は取得した株式データを用いた売買シミュレーションの解説となっている。
Linux上で開発を始めることにする。まずはwgetでサンプルコードを取得
$ wget http://www.panrolling.com/books/gr/gr121.zip
これを展開して、ファイル構成を確認しサンプルコードをいじってみる。展開してできたディレクトリの中でとりあえず、
$ ruby ./bin/make_stock_list.rb
と実行してみる。
tosho_list.txt
1305
1306
1308
...
と出力されていく。一応は動いているようだ。
前半の株価をネットから取得する部分は読み終わった。Yahoo JapanとPan Active Market Databaseからデータを取得する方法が解説されている。まずはこれを使ってシステムトレードの骨格を勉強しよう。
2015年04月06日
研究開始
本日から、金融商品の自動売買システムの開発を始めようと思います。
最終的には完全な自動売買を目指します。
MATLABかPythonで完成させたいかなと考えています。
いきなり完全なシステムを完成させるのは大変ですので、まずは不完全な物でも各機能を完成させることを優先していきたいと思います。MATLAB、Python、R、Excel等を使った有用な情報がたくさんありますので、これらを活用して徐々に作成を進めていこうと思います。
徐々に調査・勉強も進めていき、売買を判断する部分に人工知能などを導入していきたいと思っています。
とにかく何でもいいので、ver. 0を完成させることをまずは最初のゴールに…
最終的には完全な自動売買を目指します。
MATLABかPythonで完成させたいかなと考えています。
いきなり完全なシステムを完成させるのは大変ですので、まずは不完全な物でも各機能を完成させることを優先していきたいと思います。MATLAB、Python、R、Excel等を使った有用な情報がたくさんありますので、これらを活用して徐々に作成を進めていこうと思います。
徐々に調査・勉強も進めていき、売買を判断する部分に人工知能などを導入していきたいと思っています。
とにかく何でもいいので、ver. 0を完成させることをまずは最初のゴールに…