アフィリエイト広告を利用しています

広告

posted by fanblog

2015年05月06日

Rubyでの例外処理

Pan Active Market Databaseで、証券コードと証券名の一覧が出力されるRubyのスクリプトを作成した。証券名を出力させるにはReadメソッドで証券コードを指定した後、Nameメソッドを実行する。しかしReadメソッドは、指定した証券コードに該当する証券がないと、エラーが発生する(code C1010010)。証券コードを総当りで変化させていく時に、エラーが出ては途中でプログラムが中断してしまうので、例外処理を”Rubyではじめるシステムトレード”を参考に記述した。Rubyでの例外処理は、begin ~ rescue ~ endのような構造である。コードは以下のとおりで、

require "win32ole"
calendar = WIN32OLE.new("ActiveMarket.Calendar")
prices = WIN32OLE.new("ActiveMarket.Prices")

CANT_READ = /C1010010/

for i in 500..10000
begin
prices.Read(i)
rescue WIN32OLERuntimeError => e
next if e.message =~ CANT_READ
raise
end
print(i," ", prices.Name,"\n")
end
641の日経・東工取商品指数から9997のベルーナまで、これで証券名と証券コードの対応がわかるようになった。

index.png
posted by itot at 06:24| Comment(0) | TrackBack(0) | Ruby
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/3626775
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
ファン
検索
<< 2016年09月 >>
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  
最新記事
写真ギャラリー
最新コメント
タグクラウド
カテゴリアーカイブ
月別アーカイブ
プロフィール
日別アーカイブ
×

この広告は30日以上新しい記事の更新がないブログに表示されております。