KFデータマネージャ取扱説明書(改訂版)

記事
マネー・副業

0.重要確認事項


KFシステム研究所が提供する各種ツール(以下本品)をご利用いただくに当たり、下記確認事項をよくご覧の上、順守いただきますようお願い申し上げます。

・本品の著作権は、KFシステム研究所並びにKフローが有します。第三者への販売ならびに供与等は、ご遠慮ください。

・本品並びに関連品のご使用に際して生じるいかなる損害に対しても、KFシステム研究所並びにKフローは一切の責任を負いません。また、本品はトレードで収益を上げることを約束するものではありません。必ず自己責任にてご利用願います。

・本品及びその派生物を、有償無償を問わず、第三者に開示することは禁止しておりますが、運用結果の公開や新規ロジック等の開発につきましては、自己責任において自由に行って構いません。

・本品の実行にはインストール版のMicrosoft Excel 2003以降が必要です。Web版Excelや他社製Excel互換ソフトでは動作を保証できませんのでご注意ください。なお、本品を動作させるためには、マクロの実行を許可する必要があります。

・Excel2007以降で本品を使用する場合は、原則として「互換モード」をご利用ください。それ以外のモードで保存した場合、本品を起動できなくなる場合があります。

・本品はExcel2003上で開発し、動作確認を行なっています。上記の条件を満たす限り、直近のExcelバージョンでも動作いたしますが、演算速度が2割程度以上遅くなる場合があります。何卒ご承知置きくださいますよう、お願い申し上げます。

・一部マクロにおいて、シートの切り替えなどの度に再計算が行われる場合があります。
シートの状態によっては、非常に時間が掛かる場合がありますが、それを避けたい場合は、「オプション」の「数式」にて、「計算方法の設定」の"ブックの計算"の「手動」にチェックを入れてください。

・Excel2013以降では、ブックが開かれるプロセスが変更になりました。それ以前では、エクセルを起動する度に新規プロセスが使用されていましたが、2013以降では既存プロセスが使用されるようになりました。そのため、例えばシステムの最適化演算を行なう場合、従来は新たにエクセルを起動してシステムを読み込めば、個々のプロセスで実行されましたが、2013以降では同一プロセス内で実行されてしまい、処理が著しく停滞する場合があります。新規プロセスでエクセルを実行するためには、Altキーを押しながら起動するか、起動時に-xオプションを付ける必要があります。詳しくはWebやエクセルの解説書等をご覧ください。

2022年2月19日 KFシステム研究所 Kフロー


1.KFデータマネージャの概要


KFデータマネージャは、株価データを取得更新するためのツールです。KFシステムクリエイターで参照可能な株価データファイルを生成します。 取得したデータを加工せずに保存することもできますので、KFシステムクリエイター以外のシステム等でも利用することが出来ます。

KFデータマネージャは、マイクロソフトエクセルのブックで作成されています。次図は、その使用例です。取得・更新したい銘柄を登録することで、株価データファイルを取得したり、日々更新したりすることができます。

データマネージャa.png

本ツールで取得更新できるデータは、国内の証券市場に上場している株式等の4本値+出来高の時系列データ、及び国内指数や為替データの一部です。海外指数や海外株価、先物データの取得は、現状では出来ません。

取得・更新した株価データファイルは、別ブックとして保存されます。KFシステムクリエイターでは、保存された株価データファイルを参照します。 次図は、KFシステムクリエイター形式で作成した株価データファイルの一例です。

データマネージャd.png

なお、KFデータマネージャは、ヤフーファイナンスサイト上のデータを参照・取得しています。そのため、同サイトの仕様が変更になった場合には、正常に取得・更新できなくなる場合があります。その際は、出来るだけ早急に改定するつもりですが、変更内容によっては対応できない可能性もあります。

そのような性格上、本ツールの提供に際しては、対価をいただいておりません。あくまでKFシステムクリエイターに付帯する無償ツール、という位置付けとなります。 従いまして、今後、本ツールが使用できなくなった場合には、手作業にて株価データを更新していただくか、他のデータ取得ツールをご利用いただきますよう、お願い申し上げます。

また、KFシステムクリエイター限定版では、添付するKFデータマネージャのマクロは非開示とさせていただきます。予めご承知置きくださいますよう、お願い申し上げます。


2.KFデータマネージャの主な機能


(1)銘柄名自動取得・設定

ヤフーファイナンスサイト上で表示される銘柄名を取得し、当マクロおよびデータファイルに設定することが可能です。もちろん、任意の銘柄名を設定することもできます。
これらの設定は、インフォメーション欄への値の設定で自動的に処理することができます。

なお、設定される銘柄名は、"証券コード&銘柄名"となります。ただし、銘柄名内の"(株)"の表記は除去されます。
また、データ取得時以降に銘柄名が変更になったなどの理由で、後日銘柄名を変更する必要が生じた場合は、データ更新時に自動的に処理することも可能です。

(2)単元株数自動取得・設定

単元株数を自動的に取得し設定します。なお、株価指数や上場投信などのように、単元株数の記載がサイト上に存在しない場合は、単元株数欄に設定された値を用います。
データ取得時以降に単元株数が変更になった場合は、データ更新時に自動的に修正されます。

その際、単元株数の変更によってデータファイルの出来高表示に変更が生じる場合は、自動的に修正処理を行います。

(3)ファイル名自動設定

ファイル名を"fn*.xls"(エクセル2007の場合は"fn*.xlsb")[*は任意の文字列]と設定すれば、"銘柄名*.xls"という名前でデータファイルを作成し、ファイル名欄に再設定します。
この機能と銘柄名自動取得設定機能とを組み合わせれば、証券コードを設定しておくだけで、自動的にデータを取得し、修正~更新することが可能です。

また、後で述べるエラー時メッセージ表示機能を組み合わせれば、任意の証券コード(必ずしも実存する必要はありません)を設定しておくだけで、有効な証券コードの場合のみデータファイルを作成することができます。

(4)エラー時メッセージ表示機能

設定した証券コード(銘柄)が存在しないなどの理由でエラーが生じた時、エラー内容をシートに追記して処理を継続することができます。 
例えば、適当な証券コードを設定したものの、その銘柄が存在しない場合は、データファイルを作成せずに処理を次のステップに進めます。

データファイルが存在しない状態でデータ修正や更新の処理を行うと、「ファイルが存在しない」というメッセージを残して、次の銘柄に処理が移ります。 すなわち、適当に設定した証券コードに対して、連続してデータ取得・修正・更新処理を行っていけば、存在する銘柄のみデータファイルが作成されることになります。

なお、この設定は自動と手動とを選択することができます。手動設定(エラー時メッセージ表示を行う)にすると、エラーの都度メッセージボックスが表示されて処理が中断します。
内容を確認しながら処理を行う場合は、この設定にすると便利です。

(5)インターネット一時ファイルの削除

サイトからデータを取得する前に、インターネット一時ファイルの当該サイト(存在する場合)部分を削除します。
これにより、常に最新のデータを取得することが可能です。

また、パソコン環境によっては、インターネット一時ファイルへの照合負荷が低減することから、データ取得速度が向上する場合があります。

(6)株式分割の確認

株式分割が行われた場合、分割が行われた旨をエラーメッセージ欄に表示します。エラーデータ再更新設定によって、データファイルを自動的に再取得・修正するかどうかを選択することが出来ます。設定方法については、次項をご確認ください。

(7)最適トレンドライン算出ツールでの株価取得更新

最適トレンドライン算出ツールを登録することで、同ツール上に株価データを取得設定し、日々更新することが出来ます。最適トレンドライン算出ツールについては、同ツール取扱説明書をご確認ください。


3.各セルの設定方法


各セルの設定方法を以下に列記します。なお、これらは当該セル右上の赤マーク付近にカーソルを合わせれば、コメントとして表示されます。
入力内容の選択は、セルをクリックすると右側に矢印が出ますので、それをクリックして表示されるリストから選んでください。リストが表示されない場合は、直接入力してください。

データマネージャb.png

・フォルダ名:

データファイルを格納するフォルダ名を、フルパスで設定します。
個別に設定したい場合は、C列を再表示してそこに直接フォルダ名を入力してください。

・データ部分削除:

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

・不正データ削除:

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

ヤフーファイナンスサイトでは、上場廃止になった銘柄データはWebページに表示こそされないものの、当分の間HTMLドキュメント内に記述が残っている場合があります。
そのようなデータを取得すると、証券コードや銘柄名は確認されるものの、肝心の株価データが取得できないという事態が生じます。

"Yes1"を設定すると、証券コードそのものが存在しない場合と合わせて、そのような上場廃止銘柄もリストから削除しますが、"Yes2"を設定すると、上場廃止銘柄はリストから削除されません。
したがって、"Yes2"に設定することで最近上場廃止になった銘柄を確認することが可能になります。

なお、最初のデータ取得更新時には"No"を設定して全てをリスト上に残し、その後、"Yes1"もしくは"Yes2"を設定して不正データを削除することもできます。
データ更新を行わずに削除のみを行いたい場合は、データ取得・修正・更新の各設定をすべて"0"にした後、データ取得更新ボタンを押してください。

・エラー時メッセージ表示:

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

・エラーデータ再更新:

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

・Code

証券コードを設定します。コードの記述は、ヤフーファイナンスサイト上の仕様に従います。必ず半角英数字で入力してください。
なお、証券コードは、個別銘柄のほかに、各種指標や為替が設定できます。

・銘柄名

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

・ファイル名

ファイル名を設定します。
同一ファイル名が存在する場合は、確認を求められますのでご注意ください。 データ取得時に、ファイル名を"fn*.xls"(エクセル2007以降は"fn*.xlsb")[*は任意の文字列]という形式で設定すると、自動的に"銘柄名*.xls"("銘柄名*.xlsb")というファイル名で作成します。

・起点日

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

・直近日

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

・データ取得

データを新規に取得する場合は"1"、取得しない場合は"0"を設定します。

・データ修正

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

・データ更新

データを更新する場合は"1"、更新しない場合は"0"を設定します。
また、夜間データを挿入する場合は"2"を設定します。夜間データを挿入すると、株価データファイルは次図のように変換されます。

データマネージャe.png

・単元株数

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

・現在値

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

・インフォメーション

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

・エラーメッセージ

重要なエラーメッセージを表示します。 メッセージが表示されたら、ただちに対処してください。


4.KFデータマネージャの使用方法


(注)入力は、株価取得更新シートの7行目以降に、行間を開けずに行ってください。空白行が入ると、そこで処理を終了します。
以下は、株価データを新規に取得する場合です。

①立会日シートを開き、立会日データが取得更新日以降まで設定されているか確認します。もしも立会日データが不足している場合は、最終行以降に立会日を入力していきます。
なお、2022年3月時点では、2022年末までの立会日データは設定済みです。

データマネージャf.png

②株価取得更新シートを開き、株価データファイルを格納するフォルダ名を、フォルダ名欄にフルパスで入力します。株価データファイルを複数のフォルダに分けたい場合は、C列を再表示し、そこにフルパスで都度入力してください。

③株価データを取得したい銘柄の証券コードを、Code欄に入力します。この際、例示に倣って半角英数字で入力してください。コード名はヤフーファイナンスサイトの表示に準じます。

④ファイル名欄に"fn*.xls"(エクセル2007以降は"fn*.xlsb")[*は任意の文字列や通し番号等」と入力します。fnには自動取得した銘柄名が入ります。手動で設定したい場合は、任意のファイル名を入力してください。

⑤起点日欄に起点日を設定します。KFシステムクリエイターでは、標準で1993年11月1日を起点日としていますが、それより古い日付を設定することも可能です。ただし、データ取得にはより時間が掛かり、システム分析負荷も増大します。

⑥直近日欄に直近日を設定します。

⑦データ取得欄に"1"を設定します。

⑧データ修正欄に"1"を設定します。なお、KFシステムクリエイターで利用しない場合は、利用方法に合わせて"2"や"0"を設定してもかまいません。

⑨データ更新欄に"1"を設定します。ただし、立会日の場中に取得する際など、未確定データを含ませたくない場合は、"0"を設定します。

⑩銘柄名を自動取得する場合は、インフォメーション欄に"-1"を設定します。銘柄名を自動取得せずに入力する場合は、"-2"を設定します。

⑪データ取得する銘柄が複数ある場合は、③~⑩を繰り返します。通常は行コピーを行い、③の証券コードのみ書き換えます。

⑫シート上部の各項目を確認します。通常は、初期設定のままで大丈夫です。

⑬全ての設定が完了したら、シート右上の「データ取得更新」ボタンを押します。すると、設定に従って株価データの取得を開始し、ファイルを順次生成していきます。なお、動作確認のため、最初は8行目を空欄にして7行目のみ実行すると、不具合への対処が容易になります。
問題がなければ8行目を削除し、7行目のデータ取得・修正・更新欄を全て"0"にして「データ取得更新」ボタンを押せば、最後までデータを取得することが出来ます。

⑭ファイル名をダブルクリックすると、取得した株価データファイルを開くことが出来ます。データを開き、問題がないことを確認してください。確認が完了したらファイルを閉じます。その際、「~への変更を保存しますか?」というダイアログが出ますが、通常は「いいえ」を選択してください。手作業で何らかの修正を行った場合は、「はい」を選択します。

以上で、株価データの取得は完了です。株価データファイルを日々更新する場合は、⑦のデータ取得欄と⑧のデータ修正欄を"0"に設定し、⑨のデータ更新欄を"1"に設定します。
後は、大引け後に「データ取得更新」ボタンを押せば、株価データが更新されます。直近日は更新時に、更新した日付が自動的に設定されます。


5.保守管理


KFデータマネージャを使用するためには、立会日を予め設定しておく必要があります。KFデータマネージャでは、立会日シートに設定された日付のデータのみ取得するようになっています。これは、売買の有無などにより、銘柄によって立会日が違ってしまうことを避けるためです。

もしもある銘柄において、立会日として設定されていた日に売買が成立しなかった場合、その日の株価は4本値全て前日終値とし、出来高は0となるようにしています。こうすることで、全ての銘柄の立会日を同一に揃え、システムの均一性を担保しています。

東京市場の立会日は、日本取引所グループサイトにあるJPXカレンダーなどで確認出来ます。通常は1年先までの日程が組まれています。また、為替市場では祝日などの休場日がないため、立会日は東京市場のそれとは異なったものとなります。為替市場の休場日は、土日曜日と1月1日、そして12月25日のみとなっています。

KFデータマネージャでは、この差異に対応するため、東京市場の立会日と為替市場の立会日を別々に設定し、取得更新する対象に応じてこれらを使い分けるようにしています。立会日シートのA列5行目以降に東京市場の立会日データ、C列5行目以降に為替市場の立会日データを設定しています。

なお、立会日データの起点日は、1993年11月1日としています。そのため、それ以前の株価データをKFSC形式で取得することはできません。それ以前の株価データを取得したい場合は、同日以前の立会日データを5行目に挿入する必要があります。

また、KFデータマネージャによって取得更新される株価データファイルには、KFデータマネージャの立会日シートに設定してある立会日データが、株価更新時に自動的に反映されます。そのため、KFデータマネージャの立会日データに新たな日付を追加するだけで、株価データファイルの立会日も株価更新時に最新状態に保たれます。

立会日シートに日付を追加するには、エクセルのオートフィル機能を使用すると簡単です。最終日のセルを選択した状態で、右下に表示される十字ポインタをクリックして下にドラッグすると、日付が1日毎に追加されます。

その際、選択状態を解除せずに右下のオートフィルオプションを開き、「連続データ(週日単位)」を選択すると、平日のみの日付が設定されます。
なお、エクセル2003の場合は、右下の十字ポインタを右クリックした状態で下にドラッグすると、オートフィルオプションを出すことが出来ます。この操作は、それ以降のバージョンのエクセルでも可能です。

その後、東京市場の場合はJPXカレンダーで祝日等の休場日を確認し、立会日シート上の当該日付を削除していきます。為替市場の場合は、1月1日と12月25日のみ削除します。
削除を選択した際のメニューで、「上方向にシフト」にチェックを入れてOKを押すことで、以降の日付が自動的に繰り上がります。

立会日データは、通常、現在日の半年程度以上先まで設定しておくようにしてください。株価データをシステムのみで使用する場合は、当日までの日付が設定されていれば大丈夫ではあるのですが、更新ミスを防ぐために余裕を持つに越したことはありません。

また、最適トレンドライン算出ツールに株価データを設定する際は、設定された立会日内のトレンドラインしか算出できないため、少なくとも数か月先までの立会日を設定しておく必要があります。


6.ご使用に当たっての注意事項


ヤフーファイナンスサイトの更新は、株価に関しては通常はリアルタイム、指数に関しては引け後20分程度となっています。
そのため、株価更新は立会日の15時20分過ぎに行うようにしてください。ただし、指数を取得・更新しない場合は、その限りではありません。また、為替データの更新は翌朝、NY市場クローズ以降となっています。

サイトや通信上の影響で、稀に株価更新の途中でエラーが生じて、処理が止まってしまう場合があります。その際は、時間を置いて再度更新を行うようにしてください。
時間を置いても更新されず、すべての銘柄で同様の症状が続く場合は、サイトか通信環境のいずれかに障害が発生している可能性があります。

明らかにサイト上の問題と考えられる際は、当方までご連絡ください。サイトの仕様変更が原因の場合は、早急に改定すべく対応いたします。
なお、サイト仕様の変更が大規模である場合は、対処が困難になる可能性があります。予めご了承くださいますよう、お願い申し上げます。

2022年年2月月8日 KFシステム研究所 Kフロー


サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す