SSブログ

KFデータマネージャ取扱説明書(3) [エクセル]

12.インフォメーション(L列7行目以降)

任意設定情報などを表示します。ただし、情報通りに修正するかどうかは任意です。
なお、新規データ取得時に「-1」を設定しておくと、銘柄名をサイト表示名に自動的に合わせます。「-2」を設定しておくと、銘柄名をシート設定のままとします。それ以外の場合は、データ取得完了後、いずれかを選択できます。
また、データ更新時に「-1」を設定しておくと、当マクロと株価データファイルの銘柄名を、サイト表示名に変更します。

13.エラーメッセージ(M列7行目以降)

重要なエラーメッセージを表示します。メッセージが表示されたら、ただちに対処してください。なお、17のエラーデータ再更新を「Yes1」もしくは「Yes2」に設定しておくことで、エラーメッセージ表示時に1度だけ対処することができます。

14.データ部分削除(D4セル)

「Yes」に設定すると、何らかの要因で取得データに異常があった場合、データ更新の際に、事前に直近30行分のデータを削除した後、更新を行ないます。通常は「No」に設定してください。

15.不正データ削除(H2セル)

証券コードや株価データが存在しない銘柄を、データ取得更新実行時にリストから削除します。
「Yes1」を設定すると、証券コードおよび株価データが存在しない銘柄を削除します。「Yes2」を選択すると、証券コードが存在しない銘柄のみを削除します。「No」を選択すると、何も削除しません。

16.エラー時メッセージ表示(H3セル)

「Yes」に設定すると、エラーが生じる度にメッセージボックスを表示して、処理を中断します。「No」に設定すると、エラーが生じてもメッセージボックスを表示せず、次の処理に進みます。ただしいずれの場合も、エラーメッセージ欄にエラーの内容を表示します。
なお、回線等に問題があると思われるエラーに関しては、メッセージボックスを表示して処理を中止します。

17.エラーデータ再更新(H4セル)

データ更新時にエラーメッセージが表示された場合、エラーメッセージの内容に応じてデータを再取得や再更新します。
「Yes1」を設定すると、株式分割があった場合、KFシステムクリエイター形式でデータを再取得します。「Yes2」を設定すると、株式分割があった場合、一般形式でデータを再取得します。「No」を選択すると、データの再取得や再更新を行いません。

18.立会日シート

KFシステムクリエイターで参照する立会日を、A列5行目以降に昇順で列記します。同形式の株価データは、ここに記された日付分のみ取得・更新されます。
そのため、ある程度先(例えばその年の最終立会日)までの立会日を、予め記載しておく必要があります。


全ての設定が完了しましたら、株価取得更新シート右上の「データ取得更新」ボタンを押します。すると、7行目以降に記された銘柄の株価データを順次取得・更新します。
なお、途中に空白行がある場合、処理はその行で停止します。動作確認等の目的で、処理を途中で一旦停止したいような場合は、空白行を挿入してください。

新規に株価データファイルを作成するには、証券コード取得マクロで証券コードを取得してCode欄に貼り付け、フォルダ名を設定後、ファイル名に「fn01.xls」(例えば東証は01、大証は02等)、起点日に立会日シートの最初の日付、直近日に当日の日付、データ取得~更新欄に「1」、インフォメーション欄に「-1」、を入力してそれらを下行にコピーすれば、あとは「データ取得更新」ボタンを押すだけです。

なお、指数の証券コードは特殊なものになっていますので、証券コード取得マクロでは取得できません。ヤフーファイナンスサイトでお調べください。
代表的な指数については、本エクセルシートに記してあります。

nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:

KFデータマネージャ取扱説明書(2) [エクセル]

[使用方法]

株価取得更新シートの各項目欄に必要事項を設定後、右上の「データ取得更新」ボタンを押すことで、株価データの取得や更新を行ないます。
以下に、過去項目の設定方法について、順に記します。

1.Code(A列7行目以降)

Yahooファイナンスサイトにおける証券コードを設定します。証券コードは、個別銘柄のほかに、指標や為替が設定できます。
個別銘柄の証券コードは、証券コード取得マクロで取得することができます。

2.銘柄名(B列7行目以降)

取得する銘柄名を任意に設定します。ここで設定された銘柄名が、取得データファイルのタイトルになります。
なお、データ取得時には、インフォメーション欄の設定値に応じて、サイト上の銘柄名の先頭に証券コードを付加したファイル名を自動設定することもできます。ただし、サイト上の銘柄名からは"(株)"を取り除いています。

3.フォルダ名(D3セル;C列7行目以降)

データファイルを格納するフォルダ名を、フルパスで設定します。銘柄毎に個別に設定したい場合は、C列を再表示してそこに直接フォルダ名をフルパスで入力します。その場合、C列の設定内容がD3セルよりも優先されます。

4.ファイル名(D列7行目以降)

取得データを保存するファイル名を設定します。同一ファイル名が存在する場合は、確認を求められます。
データ取得時に、ファイル名を「fn*.xls」(エクセル2007以降は「fn*.xlsb」)という形式で設定すると、自動的に「銘柄名*.xls」(又は「銘柄名*.xlsb」)というファイル名を設定します。ここで、銘柄名はB列で設定・取得する名称、「*」は任意の文字列を表します。

5.起点日(E列7行目以降)

取得データの起点日を設定します。起点日のデータが存在しない場合は、それ以降に存在するデータの最初から取得します。
実際の起点日は、データ修正を行うことで自動的に設定されます。

6.直近日(F列7行目以降)

取得データの直近日を設定します。直近日のデータが存在しない場合は、それ以前に存在するデータの最後まで取得します。
データ更新の際には、自動的に直近日が設定されます。

7.データ取得(G列7行目以降)

データを新規に取得する場合は「1」、取得しない場合は「0」を設定します。既にデータ取得済みで、株価データファイルが存在する場合は「0」を設定してください。

8.データ修正(H列7行目以降)

取得したデータをKFシステムクリエイター用に変換する場合は「1」、一般用に変換する場合は「2」、修正を行わない場合は「0」を設定します。
KFシステムクリエイター用では、立会日シートで設定された日付全てに渡って、分割調整を行ったデータに修正します。出来高が"0"の日付が存在する場合は、直近終値を設定します。
一般用では、取得したデータに分割調整を行います。出来高が"0"の日付は設定しませんが、立会日シートの日付に関係なく、取得した全てのデータを表示します。

9.データ更新(I列7行目以降)

データを更新する場合は「1」、更新しない場合は「0」を設定します。また、夜間データを挿入する場合は「2」を設定します。
夜間データは、当日株価終値を始値、翌日株価始値を終値、どちらか大きい方を高値、小さい方を安値、出来高を"0"とし、日々の当日株価の後ろに挿入されます。

10.単元株数(J列7行目以降)

取得するデータの単元株数が自動的に設定されます。この設定に基づき、株価データシートにおいて、単元株数が100株以上の場合は、1000株単位の出来高に小数点以下第1位まで修正されます。
なお、単元株数が変更になった場合は、データ更新時に自動修正されます。

11.現在値(K列7行目以降)

データ更新時に、データの現在値を表示します。

nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:

KFデータマネージャ取扱説明書(1) [エクセル]

KFデータマネージャは、株価の時系列データを取得・更新するためのツールであり、エクセル上で実行されるマクロシートです。
データ取得はヤフーファイナンスサイトから行なっており、取得先ページに応じてVer1.1とVer2.0の2種類を提供しています。

Ver1.1で参照しているページは、現在、ヤフーファイナンスサイト上にリンクは存在しませんが、アドレスを直接指定することで、表示することが可能です。
例えば、次のように指定することで、(日産自動車の)時系列ページを表示することができます。

http://table.yahoo.co.jp/t?c=1993&a=11&b=1&f=2012&d=7&e=17&g=d&s=7201.t&y=0&z=7201.t&x=sb

ヤフーファイナンスサイトでは、時系列ページを別アドレスでリニューアルしており、このページはいずれ削除される可能性があります。
そこで、リニューアル後のページに対応したものが、KFデータマネージャVer2.0ということになります。

基本的な機能はVer1.1と同じですが、リニューアル後のページは、一部の株式分割情報が削除されていたりするため、Ver1.1では取得できていた時系列データが、Ver2.0では取得できないといった場合が存在します。

ただし、そのような事例は極稀であり、多くは重複上場銘柄でほとんど取引の無い株式のデータですので、実用上問題はないでしょう。
初めてKFデータマネージャをご利用になる場合は、旧時系列ページがいつ削除されても良いよう、最初からVer2.0を使用することをお勧めします。

さて、KFデータマネージャでは、指定した銘柄、市場、期間の株価時系列データを、エクセルシートとして取得し、更新することができます。
また、データ更新に際しては、直近50日間のデータを参照しますので、例えば週末や月末のみデータを更新するような使い方も可能です。

さらに、ワークシートのファイル名をダブルクリックすることで、その銘柄の株価データファイルを開くことができます。
株価データを直接確認する場合などに、便利な機能だと思います。

株価データの取得時には、ヤフーファイナンスサイトのデータを日付昇順に並べ替えて、そのままワークシート上に記録します。
データだけを抜き出して、自身のシステム等で処理したい場合は、それを直接用いれば良いかもしれませんが、日々のデータ更新は出来ません。

通常は、取得後のデータを修正して、データ更新ができる形式に変換します。変換できる形式は2通りあります。
なお、いずれの形式においても、株式分割があった場合は分割修正後の値に変換します。

一つ目はKFシステムクリエイターで利用するためのもので、売買がなかった日の株価データとして直近終値を、出来高として「0」を挿入します。
二つ目は上記形式で、売買がなかった日のデータを飛ばして記録していきます。

その他、銘柄名やファイル名を自動取得・設定する機能や、寄引システム用に日次データに夜間データを挿入する機能などを有しています。
これらの使い方は、各項目名欄にコメントとして挿入していますので、その都度シート上で確認することができます。

nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:

当日データ取得マクロ取扱説明書 [エクセル]

当日データ取得マクロは、ヤフーファイナンスサイトに登録されている、種々の株価や指数のデータを、取得・更新するためのエクセルシートです。
本マクロでは、それらの銘柄や、始値、高値、安値、終値、出来高、前日終値、前日比、そして単元株数を取得・更新することができます。

本マクロは、「当日データ更新」、「データ取得関数」、「証券コード取得」の3つのマクロシートから構成されており、用途に応じて使い分けます。
「当日データ更新」シートでは登録済み銘柄のデータ更新、「データ取得関数」シートでは同関数の使用例、「証券コード取得」シートでは上場証券コードと銘柄名の取得を行ないます。

[使用方法]

A.「当日データ更新」マクロシート

1.A列7行目以降に証券コード、B列7行目以降にその市場、C列7行目以降にその銘柄名を記述し、右上の「データ更新」ボタンを押すと、D~L列7行目以降にその銘柄の始値~単元株数が取得されます。また、既に取得済みのデータがある場合は、それらに上書きされます。

2.指数や海外指数の証券コードと市場、銘柄は、予め本マクロシートに記載してあります。国内株式については、「証券コード取得」マクロシートで取得した後、本マクロシートに貼り付けてご使用ください。

3.証券コードや市場が記述されていても銘柄名が空白の場合、処理はその行で停止します。当日データを取得する場合は、必ず銘柄名を記述しておいてください。なお、その性質を利用すれば、途中行に空白行を挿入することで、それ以降の行のデータ更新を行なわないようにすることができます。

4.例えば、指数の出来高や単元株数など、サイト上にデータが存在しない場合、当該セルに「---」と表示されます。また、前日比は、終値と前日終値とから、マクロ内で計算した結果をそのまま(まるめ処理なしに)表示しています。そのため、セルの書式によっては値を表示しきれない場合がありますので、その際はセルの書式設定を行なってください。

B.「データ取得関数」マクロシート

1.データ取得関数本体は、N列7行目以降にあります。関数の書式は「=dataupdate(証券コード,市場)」で、それらが入力されたセルを指定します。例えば、A7セルに証券コード、B7セルに市場を入力した場合、データ取得関数は「=dataupdate(A7,B7)」となります。

2.データ取得関数で取得できるデータは、始値、高値、安値、終値、出来高、前日終値、前日比(差分、率)、単元株数の9種類であり、それらをa~jのアルファベットで区切って、まとめて取得しています(※)。各データ構造は、「当日データ更新」マクロシートとほぼ同様です。各データに切り分けるには、D~L列7行目以降にあるような数式を用います。

3.データ切り分け用の数式は、基本的に、連続するアルファベット間の数値を抜き取るだけのものです。ただし、その数値が「---」の場合、そのままではエラーとなりますので、IF文でエラー回避処理を行なっています。

4.データ取得関数を記述したエクセルシートで自動計算を有効にしていると、何か作業をする度にデータ取得を行なってしまい、作業効率を著しく低下させます。そのため、本エクセルシートでは、オプションの計算方法を「手動」に設定しています。関数を記述した後、F9キーを押すことで、データ取得を行なうことができます。

※.9個のデータをまとめて取得するのは、処理速度短縮のためです。各データ毎に関数を記述することも可能ですが、そうするとその都度データ取得を行なうことになり、非常に処理時間が掛かってしまいます。各データの抜き出しに手間は掛かりますが、本関数の方法を用いた方が、結果的に効率的なデータ取得が可能になります。

C.「証券コード取得」マクロシート

1.証券コードを新規に取得する場合は、A2セルの値を「新規取得」に、「当日データ更新」マクロシートに設定されていない証券コードのみを取得する場合は、A2セルの値を「追加取得」に設定します。

2.A3~A4セルに証券コードの走査範囲を設定します。A3セルは開始位置、A4セルは終了位置で、証券コードは1300~9999の値とし、その末尾に「.」で区切って市場記号を付加します。市場記号は、東証が「t」、大証が「o」、ジャスダックが「q」、名証が「n」、福証が「f」、札証が「s」で、走査はこの順番になります。

3.B2セルには、走査方法を設定します。「市場順」にすると、開始位置で設定された市場を固定して証券コードの小さい順に走査した後、次の市場に移って同様に証券コードの小さい順に走査します。「コード順」に設定すると、開始位置に設定された証券コードを固定して市場を走査し、次のコードに移って同様に市場を走査します。

4.例えば、開始位置に1300.t、終了位置に1400.sと設定し、走査方法を「市場順」にした場合、1300.t~1400.t⇒1300.o~1400.o⇒・・・⇒1300.s~1400.sの順に走査します。同様に、走査方法を「コード順」にした場合は、1300.t~1300.s⇒1301.t⇒1301.s⇒・・・⇒1400.t~1400.sとなります。

5.以上を設定後、右上の「コード取得」ボタンを押すと、走査範囲でヤフーファイナンスサイトに登録されている銘柄の、証券コード、市場、銘柄名が、A~C列の7行目以降に取得されていきます。なお、取得を途中で中断する場合は、ESCキーを押してマクロを中断してください。

6.取得した証券コード、市場、銘柄名を、「当日データ更新」マクロシートにコピーし、同シートのマクロを実行することで、それらの銘柄のその時点における株価等の値を、取得することができます。

nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:

証券コード取得マクロ取扱説明書 [エクセル]

※証券コード取得マクロに一部不具合が見つかりました。改定版をアップロードいたしましたので、必要な方はダウンロードをお願いいたします。

証券コード取得マクロは、東証、大証、ジャスダック、名証、福証、札証の各証券取引所に上場されている銘柄の証券コードを取得するためのものです。
「コード取得」ボタンを押して本マクロを実行すると、上場されている銘柄の証券コードが、上記の順番にシート上に取り込まれます。

取得した証券コードは、末尾に「.」で区切って取引所コードが付加されます。東証は「t」、大証は「o」、ジャスダックは「q」、名証は「n」、福証は「f」、札証は「s」となります。
同一銘柄であっても、重複上場している場合がありますので、取引所コードによって市場を区別しているわけです。

それらの証券コードを、「KFデータマネージャ」の「Code」欄や、「当日データ取得マクロ」の「証券コード」欄に貼り付け、データ取得更新もしくはデータ更新マクロを実行することで、それらの銘柄の当該市場における株価データを取得することができます。

なお、上場有無の確認はヤフーファイナンスサイト上のデータに基づいて行なっていますので、同サイトの登録状況によっては、上場廃止銘柄や上場予定銘柄が含まれる場合があります。
そのため、取得した証券コードをKFデータマネージャなどに貼り付けて、データ取得更新を実行しても、「株価データが存在しない」などといったエラーが返される場合があります。

証券コード取得マクロでは、既に取得済みの証券コードを「取得済コード」シートの「取得済Code」欄に登録しておくことで、コード取得時にそれらを除外した証券コードのみを取得できます。
KFデータマネージャに新規上場銘柄を追加登録する場合などに有用です。

[使用方法]

1.エクセルを起動し、「証券コード取得01.xls」を開きます。マクロを使用しますので、予めマクロを有効にするよう設定しておく必要があります。

2.新規に証券コードを取得する場合は、「未取得コード」シートを開き、右上にある「コード取得」ボタンを押します。その際、「取得済コード」シートのA列7行目以降に証券コードが設定されていると、そのコードを除いた証券コードのみが取得されます。

3.マクロの実行を中断する場合は、ESCキーを押して「コードの実行が中断されました」というメッセージを表示させた後、「終了」ボタンを押してください。なお、それまでに取得した証券コードが不要の場合は、当該セルを選択して削除してください。

4.「未取得Code」欄に証券コードが入力された状態で「コード取得」ボタンを押すと、入力済み証券コード最終行の次行から、新たに取得した証券コードを書き込んでいきます。その際、入力済み証券コードは取得済コードとして扱われず、重複して取得されますのでご注意ください。入力済み証券コードを再取得したくない場合は、同内容を「取得済コード」シートにコピーしておいてください。

5.A3セルのコード名が「9999.s」になると、証券コードの取得は完了です。取得した証券コードをKFデータマネージャにコピーするなどして、ご利用ください。なお、ご使用のパソコンや通信環境などにもよりますが、証券コードの取得には非常に時間が掛かります。マクロを一旦中断した後、続きから再取得したい場合は、それまでに取得した証券コードを「取得済コード」シートにコピーした後、「コード取得」を実行してください。

6.証券コード取得マクロでは、全証券コードに対してコード取得を実行するため、取得範囲や取引市場を選択して取得することはできません(マクロを直接いじれば可能ではありますが)。また、銘柄名の取得もできません。そのような機能が必要な場合は、当日データ取得マクロ(当日データ取得010.xls)に内包された証券コード取得マクロをご利用ください。

nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。