Igor : waveの読み込み3

コメントをどうぞ


Igorでwaveの読み込み方法について記す。前2回も参照のこと。

今回は,ヘッダ部をスキップして読み込むことと,日付データの読み込みを行う。

例として,株価データの読み込みを行う。以下のサイトから個別銘柄の株価データをダウンロードできる。
http://k-db.com/stocks/

直近250日分の日足をcsvファイル形式でダウンロード。

日足データのcsvファイル

日足データ

このcsvファイルは,最初の2行がヘッダ情報になっており,3行目からが日足データの本体。
1行目がタイトル行であり,2行目が各列の列名。

読み込みには,「LoadWave」を用い,

LoadWave /J /E=2 /L={1,2,0,0,0} /R={English,2,2,2,1,”Year-Month-DayOfMonth”,40}

とする。

/Jと/Eフラグは前回も用いたが,ASCIIデータであることと既存のテーブルに追加することを明示している。

/Lでヘッダをスキップすることを明示している。
/L={nameLine, firstLine, numlines, firstColumn, numColumns}という形式で指定する。
日本語でざっくり書くと,
/L={名前行は何行目か, データを何行目から読み込むか, データの行数, データを何列目から読み込むか, データの列数}
となる。

ここで,「0」とするとAutoとなる。numlines(行数)など,指定せずファイルにあるだけ読み込みたいときは0にすればよい。

/L={1,2,0,0,0}としているので,名前行は1行目(0からスタート)。ただしこのファイルは日本語データであり,うまく読み込めないので,0としてもよい。

 

/Rは日付形式を指定する。このcsvデータ(1列目)はIgorでの標準の日付形式でないため,指定してあげる必要がある。
/R={languageName, yearFormat, monthFormat, dayOfMonthFormat, dayOfWeekFormat, layoutStr, pivotYear}という形式で指定する。
今回は,/R={English,2,2,2,1,”Year-Month-DayOfMonth”,40}と指定した。

yearFormat: 1:数字2つで表記,2:数字4つで表記  14 or 2014
monthFormat: 1:数字(0省略),2:数字(0省略なし),3:アルファベット(省略表記,Janなど),4:アルファベット(省略なし,Januaryなど)
dayOfMonthFormat: 1:数字(0省略),2:数字(0省略なし)
dayOfWeekFormat: 1:アルファベット(省略表記,Monなど), 2:アルファベット(省略なし,Mondayなど)
layoutStr: レイアウト例を明示(図参照)
pivotYear: この数字(yyとする)以下ならば,20yy年。以上ならば19yy年。yyは4位上

Rフラグの説明

Rフラグの使い方

Rフラグの例

Rフラグの例

CSV読み込み後のIgor画面は下図。wave0~wave6まで自動で名前付けされた。

CSV読み込み後

CSV読み込み後

読み込み時のダイアログでもwave名は編集できるが,以下のようにRenameコマンドで名称変更してもよい。

Rename wave0,Day; Rename wave1,Opening_price; Rename wave2, high_p; Rename wave3, low_p;Rename wave4,closing_price; Rename wave5,trading_volume; Rename wave6 trading_value;

広告

Igor:waveの読み込み2

コメントをどうぞ


前回のIgor:waveの読み込みでは,数値データのみの読み込みを行った。
本稿では,ある列にテキストデータがあるデータを読み込む。
例として,以下の図のcsvファイルを読み込む。

読み込むcsvファイルの例
読み込むcsvファイルの例

 

前回のコマンド
LoadWave /J /E=2
では3列目のテキストデータ列が読み込めない。
フラグとして,
/B=”F=0;F=0;F=-2;”
を追加する。
/B“個別の列の特性を指定する”フラグである。
そして,F=<>により,列のデータフォーマットを指定する。

-2 テキスト。
-1 フォーマット不明。Igor がフォーマットを推論。
0 から 5 数値
6 日付
7 時刻
8 日付/時刻
9 8進数
10 16 進数

それぞれの列はセミコロン“;”で区切る。

またFの他に
N=” “とすることで列名を指定できる。
同一列での特性指定の追加する際にはカンマで区切る。
LoadWave /J /E=2 /B=”F=0;F=0;F=-2,N=Day”

 

コマンド実行後のwaveプレビュー
コマンド実行後のwaveプレビュー

列名は”Day”とした。

waveの読み込み完了
waveの読み込み完了

Igor:waveを読み込む

コメントをどうぞ


他のアプリケーションソフトで作成したデータファイルをIgorに読み込む方法を記述する。

例として,以下のようなcsvファイルを読み込む。

csvファイルの例

読み込むcsvファイルの例

読み込みには,
LoadWaveというコマンドを用いる。
csvファイルはテキストデータであるので,
/Jという“読み込み対象がテキストデータである”ことを意味するフラグを用いる。
また,読み込んだwaveをテーブルに表示させるために,
/E=2という“waveを既存のテーブルに追加し表示する”フラグを用いる。
/E=1は“新規のテーブルを作成しwaveを表示する”フラグ。

LoadWave /J /E=2

LoadWave実行

LoadWaveの実行

ファイルタイプとして,csv形式を選択すると,今回の読み込み対象である”Book1.csv”が表示されるため選択する。

読み込んだwaveのプレビューが表示される。

読み込んだwaveのプレビュー

読み込んだwaveのプレビュー

wave名を変更したり,スキップする行をしてしたりすることができる。
Loadをクリックすると,読み込んだwaveがテーブルに表示される。

waveの読み込みが完了し,テーブルに表示される。

waveの読み込み完了

細かい設定は,HULINKSのホームページに詳しい。
http://www.hulinks.co.jp/support/igor/reference/operations/LoadWave.html