メイン目次 サブ目次

毎日のデータ更新

Webクエリの利用

常に最新のデータを用いて分析するには、 毎日相場が終わるたびにその日の値段をExcelに入力しなければなりません。 多くの銘柄を一つ一つ手入力している方もおられるようですが、 上手くやれば簡単に毎日のデータ更新を行うことができます。

収集するデータは以下のような形式のものとします。 各銘柄にはそれぞれ2列が割り当てられており、 月初めの時点では1列目(東京金ならB列)に先限の終値が表示されています。 月の途中で新甫が発会した場合には2列目(東京金ならC列)に表示されます。 この形式だと、先限限月の値段と、新甫発会時の既存限月との鞘関係がわかるので、 先限終値ベースで分析するには十分なデータとなります。 次の節で述べる修正繋ぎ足の作成にもこのデータを用います。



ちなみに、上の例のように1行目とA列を常に表示させるには、 セルB2をクリックした状態で、上部メニューから「ウィンドウ」→「ウィンドウ枠の固定」を選びます。 縦に罫線を入れるには、列全体を選択した状態で右クリック→「セルの書式設定」→「罫線」で設定します。

まず、シートを追加して(シート名の所で右クリック→「挿入」&「名前の変更」)、 以下のようなシート構成にしておきます。 一番左がデータを読み込むためのシート、次が現在までに蓄積されたデータのシート (既に2006年3月2日の分までは蓄積されているものとします)、 それ以降が各銘柄それぞれの分析を行うシートです。



まず、シート「読み込み」に移動し、セルA5をクリックします。 そして、上部のメインメニューから「データ」→「外部データの取り込み」→「新しいWebクエリ」を選びます。 更に、東京金と東京ガソリンの値段を入手するため、 東工取の相場表のアドレス(http://www.tocom.or.jp/jp/souba/all/)を入力します。 すると、以下のような画面になります。 表の部分に黄色い四角で囲まれた矢印が出ますので、ガソリンと金の部分をクリックしてチェックを付けます。



右上の「オプション」をクリックし、「書式設定」が「なし」になっているのを「リッチテキスト形式のみ」 に変更し、「OK」を押します。更に「取り込み」を押します。



「データのインポート」というウィンドウが出ますので、「プロパティ」をクリックし、 「データのレイアウト」の「列の幅を調整する」に付いているチェックを外して「OK」を押し、 更に「OK」を押して続行します。



これで金とガソリンのデータが読み込まれました。 「書式設定」は右クリック→「クエリの編集」、 「データのレイアウト」は右クリック→「データ範囲プロパティ」で、後から変更することもできます。



次にセルA30をクリックし、東穀取の相場表(http://www.tge.or.jp/japanese/price/pri_all_01.shtml) で同じ事を行い、トウモロコシと小豆のデータを読み込みます。



読み込まれたデータを用いて毎日の更新用のデータを作成します。 日付はセルB30に東穀取のデータから読み込まれますので、これ利用します。 今回読み込んだ4銘柄は、いずれも発会のタイミングが異なりますので、 それぞれのタイミングに応じてデータを作成しなければなりません。 新甫が発会した以後は1列目に5番限、2列目に6番限、 新甫が発会する前には1列目に6番限、2列目にゼロが入るようにします。 具体的には、以下のように入力します。

セルA2:「=DATEVALUE(LEFT(B30,FIND(" ",B30,1)-1))」、セルの書式は「yyyy/mm/dd」に設定
セルB2:「=IF(MONTH(A2)=MONTH(A26),F25,F26)」
セルC2:「=IF(MONTH(A2)=MONTH(A26),F26,0)」
セルD2:「=IF(ABS(MONTH(A2)-MONTH(A13))=6,F13,F14)」
セルE2:「=IF(ABS(MONTH(A2)-MONTH(A13))=6,F14,0)」
セルF2:「=IF(OR(MONTH(A2)=VALUE(MID(G32,4,2))-1,MONTH(A2)=VALUE(MID(G32,4,2))+11),F41,G41)」
セルG2:「=IF(OR(MONTH(A2)=VALUE(MID(G32,4,2))-1,MONTH(A2)=VALUE(MID(G32,4,2))+11),G41,0)」
セルH2:「=IF(ABS(MONTH(A2)-VALUE(MID(G47,4,2)))=6,F56,G56)」
セルI2:「=IF(ABS(MONTH(A2)-VALUE(MID(G47,4,2)))=6,G56,0)」

詳しい数式の説明はしませんが、マニュアルなどを読んで理解して下さい。 内容を理解せずに表面上だけ真似をしても応用が利きません。

取引所の相場表の形式が変わればこれらの数式も変更しなくてはなりません。 今回は、以下のような状態に読み込まれたと想定しています。 読み込んだ結果が以下と違っている場合には、それに応じて数式も修正して下さい。



データを更新するには、インターネットに接続された状態で、 「外部データ」ツールバーの「すべて更新」をクリックします。 「外部データ」ツールバーが表示されてない場合は、 上部のメインメニューの「ツール」→「ユーザー設定」→「ツールバー」で、 「外部データ」の項にチェックを入れると表示されます。
もし読み込むサイトが一つだけなら、データが読み込まれる領域のセルをクリックして、 上部のメインメニューの「データ」→「データの更新」を選ぶ方が簡単です。



データが更新されたら、セルA2〜I2をコピーし、



シート「原データ」に移動して、「形式を選択して貼り付け」で「値」として貼り付けます。



これで更新作業は終わりです。 最初に読み込み用のシートを作るのに手間がかかりますが、それが出来てしまえば、 毎日の作業は、データを更新してコピーして貼り付けるだけになります。

銘柄ごとの処理

次に、銘柄ごとの処理に移ります。ここではシート「東京ガソリン」について解説しますが、 他のシートについても同様です。

シート「東京ガソリン」に移動し、 セルA2に「=原データ!A2」、セルB2に「=原データ!D2」、セルC2に「=原データ!E2」を入力します。 更にセルA2〜C2をコピーして、



セルA3〜C3以降に貼り付けます(下の方まで多めに貼り付けておきます)。 A列の書式を「yyyy/mm/dd」に変更すると以下のようになります。 システムや指標などはD列より右の領域を使って作ることになります。



これで一応、機能的には問題ないのですが、まだデータの入力されていない行が 「1900/01/00…」となっていてあまり見栄えが良くありません。 これらの行を見えなくするために「条件付き書式」を設定します。
見えなくしたい行を1行だけ選択し、上部のメインメニューから「書式」→「条件付き書式」と進みます。 条件付き書式の設定で「数式が」を選び「=$a44=0」と入力します(選択した行が第44行の場合)。



書式ボタンを押し、文字の色として白色を設定します。



条件付き書式を設定した行をコピーし、



以降に貼り付けます。 これで、未入力の行は白色で表示されるようになりました。



他のシートも同じようにして、それぞれの銘柄を表示するように設定すれば完了です。


メイン目次 サブ目次