So-net無料ブログ作成
検索選択
エクセル ブログトップ
前の10件 | -

バグ修正 [エクセル]

ご無沙汰しております。

KFデータマネージャおよび当日データ取得マクロにおいて、単元株数を正常取得できない等の不具合を修正いたしました。
ご必要の方は左記「ダウンロード」リンクよりダウンロードを行ない、ファイルを差し替えてご利用ください。
なお、最新ファイルは「KFデータマネージャ020.xls」および「当日データ取得012.xls」です。

以上

[18:47追記]
「KFデータマネージャ020.xls」に細かな不具合があったため、再修正しました。この時間以前にダウンロードされた方は、お手数ですが再取得願います。

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

KFデータマネージャ改定(Ver2.02⇒Ver2.03) [エクセル]

先日来、為替データの更新が正常に行われなくなる場合があることが分かったため、KFデータマネージャを改定いたしました。
ご必要な方は、ダウンロードをお願いいたします。

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

2013年立会日カレンダー対応 [エクセル]

KFデータマネージャの立会日シートを、2013年末まで更新いたしました。併せて、既存KFデータマネージャ並びに株価データファイルの立会日を2013年末まで更新する「株価シート更新マクロ」、及び同シートへの登録作業を補助する「ファイルリストアップマクロ」を公開いたしました。

株価シート更新マクロは、KFシステムクリエイター形式の株価データファイルの対応日付を2013年末まで延長するためのもので、更新したいファイルのフォルダ名とファイル名、及び現状データの最終日付(2012年12月28日)と更新後の最終日付(2013年12月30日)を設定して「更新」ボタンを押すことで、自動的に更新処理を行なうことができます。

KFシステムクリエイター形式で株価データを取得・更新する場合、株価データファイルに予め設定された日付以外は取得できませんので、2013年以降もKFデータマネージャをご利用になる場合は、本年中に株価データファイルの日付更新を行なってください。

また、KFデータマネージャ上の立会日シートは、日々の株価更新に影響を与えませんが、株価データを新規に取得する場合に参照いたしますので、こちらも合わせて日付の更新を行なってください。

株価シート更新マクロへのデータ設定方法については、同シートに予め設定されている各項目をご参照ください。
なお、これらはあくまで参考例ですので、実際にはご自身の環境に合わせてご変更願います。

株価データファイルは一般に銘柄と市場の数だけ存在しますので、これらを手作業で株価シート更新マクロに登録するのは大変です。
そこで、ファイルリストアップマクロを用いて、登録する株価データファイル名とそのフォルダ名をリストアップし、それらをまとめて株価シート更新マクロに貼り付けます。

ファイルリストアップマクロを開いたら、C3セルにリストアップしたいファイルの親フォルダ名を設定します。
続いて、C4セル及びB5セルに取得するファイルサイズの条件を設定します。

B5セルの値が「最小」の場合、C4セルに設定されたバイト数以上の大きさのファイルを全てリストアップします。C4セルの値を「0」にすれば、全てのファイルリストを取得します。
B5セルの値が「最大」の場合、C4セルに設定されたバイト数以下の大きさのファイルを全てリストアップします。

設定完了後、右上の「リストアップ」ボタンを押すと、ファイルリストが取得されます。その際、親フォルダ以下のファイルおよび子フォルダ内のファイルやさらにその下のフォルダ等を全てリストアップします。

フォルダ名が変わる毎にA列に連番が割り振られますので、フォルダ数やフォルダの切り替わり箇所を容易に確認することが可能です。
また、取得したリストはマクロを実行する度に更新されますので、必要がある場合は別名保存等を行なってください。マクロの実行だけでは、リストは保存されません。

なお、ファイル名やフォルダ名に環境依存文字が含まれていると、マクロは実行を停止してしまいます。これについては、まだ対策がとれていません。
そのような場合は、大変お手数ですが、ファイル名をリネームする等の対処を行なってください。

具体的には、ヤフーファイナンスサイト上の銘柄名をそのままファイル名に設定した場合、一部の文字が環境依存文字になっていることがあります。
例えば「-」が環境依存文字の場合があり、それが含まれたファイル名があると、ファイルリストアップマクロはそこで動作を停止してしまいます。

さて、リストアップした株価データファイル名とそのフォルダ名をまとめて選択してコピーし、それを株価シート更新マクロのB~C列に貼り付ければ、あとは簡単に設定を完了させることができます。
設定が完了したら、「更新」ボタンを押して処理が終了するのを待ちます。

以上、簡単ですが、株価データファイルの立会日の更新方法についてご説明いたしました。
KFデータマネージャをご利用中の方は、株価シート更新マクロを用いるなどして、年内に株価データファイルの立会日更新を完了させてください。

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

KFデータマネージャ不具合修正 [エクセル]

先日改定したKFデータマネージャですが、株価データが正常に更新できない場合がある、という不具合が見つかりました。
修正版をアップロードいたしましたので、必要な方は差し替えてご利用ください。

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

KFデータマネージャおよび株価データ取得マクロ改定 [エクセル]

昨夜、応急処置版を取り急ぎ公開しましたが、先ほど、正式改定版を公開いたしました。必要な方は、ダウンロードしてご利用ください。
なお、KFデータマネージャの改定はVer2.0のみです。Ver1.1はそのままですが、近日中に削除予定です。

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

ヤフーファイナンスサイト仕様変更につき [エクセル]

KFデータマネージャと株価データ取得マクロを改定しました。ただし、仕様変更の影響が多岐に渡っているため、とりあえずの応急処置です。若干のバグ等が残っています。
後日、正式版をリリースいたしますので、とりあえずそれまでご辛抱下さい。

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

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) 
共通テーマ:
前の10件 | - エクセル ブログトップ

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

×

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