2005-01-16(日) 雨 安静時心拍数 50 [長年日記]
_ 信用買残、信用売残もエクスポートする Omega Chart 用 script
表示銘柄のCSV形式エクスポートでは信用買残、信用売残のデータまでエクスポートできないのでデータをインポートしたいを参考にして日付、始値、安値、高値、終値、出来高、信用買残、信用売残のすべてを CSV ファイルに出力する Ruby スクリプト extract.rb を書いてみました。ruby 1.8.1 (2003-12-25) [i386-cygwin] な環境で作りました。Ruby プログラミングの練習なのでまともなエラー処理はしてません。
参考
#!/usr/bin/env ruby require 'csv' class Record def initialize(record) @record = record end def date @record[0..3].unpack("I*") end def open @record[4..7].unpack("I*") end def high @record[8..11].unpack("I*") end def low @record[12..15].unpack("I*") end def close @record[16..19].unpack("I*") end def volume @record[20..23].unpack("I*") end def cl @record[24..27].unpack("I*") end def cs @record[28..31].unpack("I*") end end code = ARGV.shift if code == nil exit end csv = CSV.open("#{code}.csv","w") csv << ["date", "open", "high", "low", "close", "volume", "cl", "cs"] File.open("#{code}","rb") {|file| while l = file.read(32) r = Record::new(l) csv << [r.date, r.open, r.high, r.low, r.close, r.volume, r.cl, r.cs] end } csv.close