JP3573072B2 - Time series data compression device - Google Patents

Time series data compression device Download PDF

Info

Publication number
JP3573072B2
JP3573072B2 JP2000238438A JP2000238438A JP3573072B2 JP 3573072 B2 JP3573072 B2 JP 3573072B2 JP 2000238438 A JP2000238438 A JP 2000238438A JP 2000238438 A JP2000238438 A JP 2000238438A JP 3573072 B2 JP3573072 B2 JP 3573072B2
Authority
JP
Japan
Prior art keywords
data
value
target data
processing
price
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2000238438A
Other languages
Japanese (ja)
Other versions
JP2002049747A (en
Inventor
三智雄 冨山
孝志 横内
Original Assignee
株式会社Quick
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社Quick filed Critical 株式会社Quick
Priority to JP2000238438A priority Critical patent/JP3573072B2/en
Publication of JP2002049747A publication Critical patent/JP2002049747A/en
Application granted granted Critical
Publication of JP3573072B2 publication Critical patent/JP3573072B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、株価、外国為替、貴金属、指数、先物、半導体、素材、その他の価格変動を伴う市況素材の時系列データを圧縮する時系列データ圧縮装置に関する。
【0002】
【従来の技術】
従来から、時系列データ、例えば株価データは、一日単位又は週単位のローソク足チャート等の株価チャートとして、投資家等に提供されている。この株価データを長期間にわたって記憶しているデータベースは、レコード数が多くなり、コンピュータ、テレビ受像機、携帯電子端末等の表示解像度を超えた件数になると、大量のレコードをビジュアルに表示することが困難となる。たとえば、横方向600ドットのデバイス(表示エリア)で、1000レコードの株価データをチャートとして表示すると、複数のレコードの情報が横1ドットに収斂するため、画面がつぶれて、表示が見にくくなってしまう。
【0003】
また、株価データ等の市況データの多くは、「始値」「高値」「安値」「引値」で構成される4本値を、ローソクと呼ばれる形式で表現するが、1レコードあたりの表現に必要とする横方向ドット数は最低でも3ドットであるため、限られた領域の画像表示装置において表示できるデータ数は限定されていた。
【0004】
更に、専用回線を持っていない一般の投資家は、膨大な量の株価チャートや株価データをダウンロードするのに時間がかかり、したがって一般の投資家にとって従来の株価データや株価チャートは使い勝手が良くないと言う問題があった。
【0005】
このような状況の下、株価データを圧縮する各種の圧縮方法が提案されている。
【0006】
【発明が解決しようとする課題】
従来の圧縮方法の一つとして、表示できる期間を長期化するために、1ヶ月単位のデータを1本のローソクに集約して表示する方法がある。この方法の場合、1ヶ月のなかの価格変動履歴が単純化されてしまうために、重要なポイントが読み取り難くなってしまうと言う問題がある。
【0007】
また、従来の表示技術の中には、新値足、カギ足、Point & Figureチャートと呼ばれるものがある。これらの表示技術は、価格変動を圧縮して表示するが、時間軸のデータが失われるという点で共通している。このように時間軸のデータが失われると、次のような問題が生ずる。投資家は、例えば、前の高値から次の高値まで何箇月かかったか。或いは前の調整局面から次の調整局面まで何箇月かかったか等の株価変動の周期性を重要視している。しかしながら、カギ足等の表示方法では、係る株価変動の周期性を表示することはできない。
【0008】
更に、一般に、投資家は、株価チャートにおける価格の変動パターンを参考にして、売買のタイミングを決めている。株価チャートの変動パターンとしては、例えば、徐々に鍋底状に上昇している状態、株価の上下の振幅が徐々に小さくなっている状態、また、上下に振幅しているときに前回の安値点(下げから上げに向かうときの変化点)より次回の安値点の方が徐々に上がっている状態等、がある。このような価格の変動パターンは、個々の会社の株価についても、或いは日経平均株価についても言えることである。したがって、株価データ等の時系列データを圧縮するときには、ノイズを含む大量の株価データのなかから、変動パターンを残しながら圧縮する必要がある。
【0009】
本発明は上記事情に基づいてなされたものであり、時系列データの変動の周期性や変動パターンを残しつつ、時系列データを圧縮することができる時系列データ圧縮装置を提供することを目的とする。
【0010】
【課題を解決するための手段】
上記目的を達成するために本発明に係る時系列データ圧縮装置は、時系列データの中から、順次、処理の対象となる対象データを参照して必要とする対象データを選択し、他の対象データを破棄することによりデータを圧縮する時系列データ圧縮装置であって、各対象データ毎に、当該対象データを含む、過去の直近のN(但し、Nは整数)個の対象データを参照して、そのN個の対象データの中から、最大値と、最小値と、平均値とを算出する前処理手段と、対象データについて、当該対象データが前記平均値より小さいときには、前記最大値を記憶する最大値の選択処理を行い、当該対象データが前記平均値以上のときには、当該対象データを破棄処理する第1選択処理手段と、対象データについて、当該対象データが前記平均値より大きいときには、前記最小値を記憶する最小値の選択処理を行い、当該対象データが前記平均値以下のときには、当該対象データを破棄処理する第2選択処理手段と、直近の処理が第1選択処理手段による前記最大値の選択処理であったのか或いは第2処理選択手段による前記最小値の選択処理であったのかを記憶する記憶手段と、各対象データ毎に、前記記憶手段を参照して直近の処理が前記最大値の選択処理であったのか或いは前記最小値の選択処理であったのかを判断し、直近の処理が最大値の選択処理であったときには当該対象データを前記第2選択処理手段で処理させ、また直近の処理が最小値の選択処理であったときには、当該対象データを前記第1選択処理手段で処理させる切換手段と、を具備することを特徴とするものである。
【0012】
【発明の実施の形態】
以下、本発明の1実施形態である時系列データ圧縮装置について図面を参照して説明する。なお、本実施形態の装置では、時系列データとして株価データを用い、この株価データの週足のデータを圧縮する場合について説明する。本実施形態の装置は、データベース内の大量のレコードについて、各レコード毎に必要なレコードか否かを判断し、必要なレコードのみを選択して残し、他のレコードを破棄することによりデータの圧縮を行う。また、本実施形態の各レコードには、「時間データ」の他に、少なくとも「始値」、「高値」、「安値」及び「終値」の4つのフィールドが含まれている。
【0013】
[実施形態の構成]図1は、本発明の一実施形態である時系列データ圧縮装置の概略ブロック図である。本実施形態の時系列データ圧縮装置は、株価データを記憶しているデータベース10と、データベース10の各レコードについて選択処理を行う前の事前処理を行う前処理部11と、選択処理を行う第1選択処理部13及び第2選択処理部14と、直近の処理が第1選択処理部13による選択処理であったのか或いは第2処理選択部14による選択処理であったのか等を記憶する記憶部15と、第1選択処理部13による選択処理と第2選択処理部14による選択処理とを交互に行わせるための切換部12と、選択・圧縮後のデータ等を表示する表示部16と、データベース10のレコードの位置を示すアドレスを格納するポインタ17と、装置全体の制御を行う制御部20とを含んでいる。
【0014】
前処理部11は、データベース10の各レコードについて、第1選択処理部13又は第2選択処理部14による選択処理を行う前に、当該レコードを含む直近の過去3回分のレコードを参照して最大値、最小値及び平均値を算出してその結果を記憶部15等に記憶する。最大値を算出するときには、過去3個分のレコードにおける高値のなかから一番大きい値の高値を算出する。最小値を算出するときには、過去3個分のレコードにおける安値のなかから一番小さい安値を算出する。また、過去3個分のレコードの平均値を算出するときには、過去3個分のレコードにおける終値の平均値を算出する。なお、平均値を算出するときには、始値を用いて算出するようにしてもよい。また、最大値、最小値及び平均値の全てを終値、始値又は出来高加重平均を用いて算出するようにしてもよい。更に、データベースの先頭のレコードを処理するときには先頭のレコードを用いて、2番目のレコードを処理するときには1番目と2番目の2つのレコードを用いて、最大値、最小値及び平均値を算出する。
【0015】
第1選択処理部13は、処理対象となる各レコード毎に、そのレコードの終値と前処理部11で算出した平均値とを比較し、そのレコードの終値が平均値より小さいときには、前処理部11が算出した高値の最大値を含むレコードにフラグを立てる選択処理(最大値の選択処理)を行い、そのレコードの終値が平均値以上のときには、そのレコードを破棄処理する。
【0016】
第2選択処理部14は、処理対象となる各レコード毎に、そのレコードの終値と前処理部11で算出した平均値とを比較し、そのレコードの終値が平均値より大きいときには、前処理部が算出した安値の最小値を含むレコードにフラグを立てる処理(最小値の選択処理)を行い、そのレコードの終値が平均値以下のときには、そのレコードを破棄処理する。
【0017】
なお、第1選択処理部13や第2選択処理部14において、レコードにフラグを立てる代わりに、最大値の高値や最小値の安値を記憶部等に記憶するようにしてもよい。
【0018】
ポインタ20は、前処理部11、第1選択処理部13及び第2選択処理部14等が処理を行うときの処理対象となるレコードの位置を示すものであり、一のレコードの処理が終るたびにインクリメントされる。したがって、このポインタ20は、後述するメインプログラムだけでなくサブルーチンによっても参照される。
【0019】
切換部12は、各レコード毎に、記憶部15を参照して直近の処理が第1選択処理部13による最大値の選択処理であったのか或いは第2選択処理部14による最小値の選択処理であったのかを判断し、直近の処理が最大値の選択処理であったときには当該対象レコードを第2選択処理部14で処理させ、また直近の処理が最小値の選択処理であったときには、当該対象レコードを第1選択処理部13で処理させる。これにより、第1選択処理部13で選択処理を行った後は、次に必ず第2選択処理部14で選択処理が行われ、また第2選択処理部14で選択処理を行った後は、次に必ず第1選択処理部13で選択処理が行われる。すなわち、本実施形態では、最大値の選択処理と最小値の選択処理とは、交互に行われる。
【0020】
制御部20は、前処理部11、第1選択処理部13及び第2選択処理部14等の要求に応じて、記憶部15のデータの読み書きを制御したり、処理の始めにポインタの値を1にセットしたり、一のレコードの処理が終る毎に、ポインタの値をインクリメントしたりする処理を行う。また、制御部20は、圧縮したデータを、後述する方法で表示部16に表示したりする。
【0021】
[実施形態の動作] 次に、本実施形態の時系列データ圧縮装置の処理手順について、図2から図5を参照して説明する。図2はメインプログラムの処理手順を示す図であり、図3〜図5はメインプログラムから呼び出されるサブルーチン(関数)の処理手順を示す図である。なお、図2から図5において、レコードはブロックとも称する。
【0022】
所定の初期設定を行った後、ステップS1では、ブロック長(TheBlook)を定義する。株価データの場合、このブロック長(N)は、3〜10の中から適当な数値を選んで設定する。本実施形態では、上述したように3週分のレコードを参照して事前処理を行うこととしているので、ここではブロック長を3に設定する。
【0023】
ステップS2では、第1選択処理部又は第2選択処理部による選択処理が行われていないので、取り敢えず、前回の選択処理の結果を示す最終検出データ変数(LastLabel)をヌルで初期化する。
【0024】
ステップS3では、ポインタ20の値をデータベースの先頭レコードを示す値「1」に設定する。ステップS4では参照しているレコードがデータベース10の最後のレコードであるか否かを判断する。最後のレコードでなければ、ステップS5に移行する。ステップS5では、図3から図5に示す3つのサブルーチンを実行する。なお、図3から図5に示す各サブルーチンで参照するデータベースのレコードの位置は、メインプログラムで設定された位置と同じ位置(同じポインタ20)とする。
【0025】
図3に示すサブルーチンの処理手順は、所定の初期設定を行った後、ステップS21では、現在のデータベースのレコードの参照位置P(ポインタ20の値)がブロック長(BlockSize)=3より大きいか否かを判断する。この場合は、ポインタ20の位置Pは1であるので、ステップS23に移行して、先頭のレコードからPの位置のレコードまで(この場合、先頭のレコードのみ)の高値を戻り値として一時的に記憶する。なお、Pが2のときには、先頭から2個のレコードのなかで、またPが3のときには先頭から3個のレコードのなかで、高値が最大値となるものを計算して、その最大値を戻り値として一次的に記憶する。一方、参照位置Pがブロック長(BlockSize)=3より大きいときには、ステップS22に移行して、現在の参照位置Pから過去方向にPを含めたブロック長(BlockSize)=3の長さだけ溯った範囲のレコード(3個分のレコード)の中から高値の最大値を計算して、その最大値を戻り値として一時的に記憶する。
【0026】
図4に示すサブルーチンの処理手順は、所定の初期設定を行った後、ステップS31では、現在のデータベースのレコードの参照位置P(ポインタ20の値)がブロック長(BlockSize)=3より大きいか否かを判断する。この場合は、ポインタ20の位置Pは1であるので、ステップS33に移行して、先頭のレコードからPの位置のレコードまで(この場合、先頭のレコード)の安値を戻り値として一時的に記憶する。なお、Pが2のときには、先頭から2個のレコードのなかで、またPが3のときには先頭から3個のレコードのなかで、最小値となる安値を計算して、その最小値を戻り値として一次的に記憶する。一方、参照位置Pがブロック長(BlockSize)=3より大きいときには、ステップS22に移行して、現在の参照位置Pから過去方向にPを含めたブロック長(BlockSize)=3の長さだけ溯った範囲のレコード(3個分のレコード)の中から安値の最小値を計算して、その最小値を戻り値として一時的に記憶する。
【0027】
図5に示すサブルーチンの処理手順は、所定の初期設定を行った後、ステップS41では、現在のデータベースのレコードの参照位置P(ポインタ20の値)がブロック長(BlockSize)=3より大きいか否かを判断する。この場合は、ポインタ20の位置Pは1であるので、ステップS43に移行して、先頭のレコードからPの位置のレコードまで(この場合、先頭のレコード)の終値を戻り値として一時的に記憶する。なお、Pが2のときには、先頭から2個のレコードのなかで、またPが3のときには先頭から3個のレコードのなかで、終値の平均値を計算して、その平均値を戻り値として一次的に記憶する。一方、参照位置Pがブロック長(BlockSize)=3より大きいときには、ステップS22に移行して、現在の参照位置Pから過去方向にPを含めたブロック長(BlockSize)=3の長さだけ溯った範囲のレコード(3個分のレコード)の中から終値の平均値を計算して、その平均値を戻り値として一時的に記憶する。
【0028】
上記の図3から図5に示すサブルーチンの処理が終了すると、図1のステップS6の処理が行われる。ステップS6では、前回の選択処理の結果を示す最終検出データ変数(LastLabel)がステップS3で設定した初期値であるか或いは最小値の選択処理を行ったことを示す「Min」であるかを判断する。今は、初期値であるので、ステップS7に移行する。初期値や「Min」でなければ、ステップS9に移行する。
【0029】
ステップS7では、処理対象となっているレコード(ポインタ20が示すレコード)の終値が、ステップS5で求めた平均値(dBlockAve)よりも小さいか否かを判断する。平均値より小さければ、ステップS8に移行し、平均値以上であれば、ステップS9に移行する。
【0030】
ステップS8では、ステップS5で求めた最大値(dBlockMax)と同じ値を高値に持つレコードを探し、当該レコードの時間データを含むデータを表示データとして選択処理する(当該レコードにフラグを立てる。)。なお、このときに、該当する最大値と同じ高値を持つレコードが複数ある場合には、予め決められている、例えば時間的に後の方のレコードを表示データとして選択処理する。また、選択処理が最大値を選択する処理であったことを示すために、前回の選択処理の結果を示す最終検出データ変数(LastLabel)に「Max」を代入する。このように最終検出データ変数を「Max」とすることにより、次回以降のレコードを処理するときには、必ず第2選択処理部による最小値を探す選択処理(ステップS9〜ステップS11)を実行させ、安値を探すようにすることができる。
【0031】
ステップS9では、前回の選択処理の結果を示す最終検出データ変数(LastLabel)が初期値であるか、或いは最大値の選択処理を行ったことを示す「Max」であるかを判断する。初期値又は「Max」であれば、ステップS10に移行する。初期値や「Max」でなければ、ステップS12に移行する。
【0032】
ステップS10では、処理対象となっているレコード(ポインタ20が示すレコード)の終値が、ステップS5で求めた平均値(dBlockAve)よりも大きいか否かを判断する。平均値より大きければ、ステップS11に移行し、平均値以下であれば、ステップS12に移行する。
【0033】
ステップS11では、ステップS5で求めた最小値(dBlockMin)と同じ値を安値に持つレコードを探し、当該レコードの時間データを含むデータを表示データとして選択処理する(当該レコードにフラグを立てる。)。なお、このときに、該当する最小値と同じ安値を持つレコードが複数ある場合には、予め決められている、例えば時間的に後の方のレコードを表示データとして選択処理する。また、選択処理が最小値を選択する処理であったことを示すために、最終検出データ変数(LastLabel)に「Min」を代入する。このように最終検出データ変数を「Min」とすることにより、次回以降のレコードを処理するときには、必ず第1選択処理部による最大値を探す選択処理(ステップS6〜ステップS8)を実行させ、高値を探すようにすることができる。
【0034】
上記のステップS6からステップS11の処理を行うことにより、各処理対象のレコードの終値が過去3回分のレコードの平均値より、若干、下がったときに、過去の3回分のレコードの中から高値の最大値を見つけて選択処理する。また、処理対象のレコードの終値が過去3回分のレコードの平均値より、若干、上がったときに、過去の3回分のレコードの中から安値の最小値を見つけて選択処理する。更に、高値の最大値と安値の最小値を交互に選択処理することにより、データを圧縮する。
【0035】
ステップS12では、処理対象となるレコードを次のレコードに変更するために、ポインタ20の値をインクリメントする。この処理の後、ステップS4に戻る。以下、データベースの最後のレコードの処理が終るまで、すなわち、対象となるデータベースが有するレコードの数と同じ回数だけ、ステップS4からステップS12までの処理を繰り返して実行することにより、レコードの数を圧縮する。
【0036】
ステップS4の判断で処理対象のレコードが最後のレコードであると判断すると、ステップS13に移行して最後のレコードの終値を表示データとして選択処理して、この処理を終了する。
【0037】
上記の処理手順により、3番目以降のレコードについては、各レコード毎に、過去の3個分のレコードのデータに基づいて、予め最大値と最小値と平均値を算出して保持し、第1選択処理部13による最大値の選択処理或いは第2選択処理部14による最小値の選択処理を行う。第1選択処理部13では、処理対象となるレコードの終値と平均値とを比較し、終値が平均値より小さいときには最大値の選択処理を行い、終値が平均値以上のときには、そのレコードを破棄処理する。第2選択処理部14では、処理対象となるレコードの終値と平均値とを比較し、終値が平均値より大きいときには最小値の選択処理を行い、終値が平均値以下のときには、そのレコードを破棄処理する。切換部12は、最大値の選択処理と最小値の選択処理が交互に行われるように制御する。このような選択処理と破棄処理によってレコードの圧縮を行うことにより、株価の周期性や変動パターンを残しつつ、データを圧縮することができる。
【0038】
図6は、本実施形態の装置で株式会社コナカの実際の株価データを圧縮した後のデータに基づいて表示したグラフである。なお、同図は、週単位のデータに基づいて、1998年2月から2000年の6月迄のデータの圧縮を行ったものである。最小値(安値)及び最大値(高値)を順次、高値から安値、或いは安値から高値に直線で結び、先端に矢印を付け、且つ各安値及び高値の位置に実際の価格を表示している。なお、図6では、最後のレコードの終値の価格を表示していないが、この価格を表示するようにしてもよい。
【0039】
図7は本実施形態の装置で圧縮する前の株式会社コナカの株価データを週足ローソクで表示したグラフである。なお、図7のグラフは、1999年2月から2000年6月迄のデータを表示したものである。図6と図7の対応する期間を比較してみると、図7に表示されている1999年2月から2000年6月迄の期間は、図6では略半分以下の期間に圧縮されている。実際のこの期間の株式会社コナカの全レコード数が155であるのに対して、本実施形態の装置によって圧縮した後のレコード数は29であり、圧縮率は約1/3である。また、本実施形態の装置により、ソニー(株)の実際の株価データを同様にして、圧縮したところ、280レコードの週足データは、60レコードに圧縮された。このように、本実施形態の装置によれば、少なくとも1/2から1/10位に株価データを圧縮することができる。
【0040】
また、図6のグラフを見ると、この株価チャートの変動パターンがペナントであることを容易に認識することができる。更に、図6のグラフから価格変動の周期性についても、周期が徐々に短くなっていることを容易に認識することができる。一方、図7を良く見ると、図6と同様の変動パターンや周期性があることが分かる。このように、本実施形態の装置によれば、株価チャートの変動パターンや周期性を残して、データを圧縮することができ、しかも従来のチャートに比べて変動パターンや周期性の認識が容易になる。したがって、投資家は、図6に示された過去の傾向から、次回の価格変動の目安とすべき日付や価格を容易に読み取ることができる。なお、上記の実施形態では、1社の株価データを圧縮した場合について説明したが、日経平均株価のデータを圧縮しても、同様の圧縮を行うことができる。また、本実施形態によれば、ペナント以外の他の価格の変動パターンである、例えばダブルトップやダブルボトム等についても、容易且つ確実に見つけることができる。
【0041】
また、大量のデータのなかから、抵抗線や指示線を見つけるのは、コンピュータを用いても容易ではないが、上記の本実施形態によれば、データの数が少ないので、図6に示すように抵抗線Aや指示線Bを容易に表示することができる。多数のデータの中から変動パターンや周期性を探すのはコンピュータを用いても、容易ではない。しかしながら、本実施形態により圧縮したデータを用いて変動パターンや周期性を見つけるのは、計算容量が少ないので、非力なコンピュータでも、容易に見つけることができる。また、一般の投資家にとっては、図7に示す従来の複雑な株価チャートから抵抗線や指示線を見つけるのは難しいが、本実施形態によれば、抵抗線Aや指示線Bを描かなくても、一般の投資家が容易に、指示線や抵抗線を認識することができる。
【0042】
なお、株価データの場合、Nの値が2以下だと、特徴点を抽出することが難しく、またNの値が10以上であると、ラフになり過ぎる。したがって、株価データの場合、Nの値は、3〜10の間が望ましい。なお、処理対象のデータ量が多かったり、表示装置が小さい場合には、Nの値を11以上とすることも可能である。
[実施形態の効果]
上記の本実施形態によれば、相場が上がりつづけているときには、過去の最小値(安値)を見つけ、相場が上がりつづけている間のデータは破棄し、次にデータを取得するのは、相場が下がるときである。そして、相場が下がりつづけている間は、その間のデータを破棄する。これにより、データを圧縮するとともに、過去の高値と安値だけに着目してデータを選択することができる。一般の投資家は、上げ相場のときには、高値に注目している。また、下げ相場のときには、安値に注目している。しかし、投資の専門家は、上げ相場のときには、その相場の安値に注目している。また下げ相場のときには、その相場の高値に注目している。本実施形態によれば、この専門家の視点から、市況データを圧縮していると言える。
【0043】
また、本実施形態によれば、膨大な株価データを価格の変動パターンや周期性が残るようにして必要な大きさに圧縮することができるので、従来は不可能であった、携帯端末にも、インターネット等を介して、その表示能力に応じた株価データのチャートを転送することが可能となる。すなわち、従来の株価データの転送量は、数十ギガバイトであるので、インターネットを介して、この膨大な量の株価データを転送すると、転送費用が嵩んでしまう。しかしながら、本実施形態の装置でデータを圧縮することにより、インターネットを使用して携帯端末に株価データを転送する場合でも、転送料金が安価なものなる。したがって、本実施形態によれば、携帯端末への株価データの転送サービスを事業として行うことも可能となる。
【0044】
更に、本実施形態によれば、株価の変動の周期性や変動パターン等の特徴部分の認識を困難にする撹乱性データ(ノイズ)を効率よく除去して、特徴部分を残した圧縮を行うことができるので、圧縮されたデータを用いて容易に特徴部分を把握することができ、したがって株価売買の的確な判断を迅速に行うことができる。例えば、本実施形態によれば、一分間に数十銘柄の価格パターンのチェックが可能であるが、同様の読み取り作業を、図7に示す従来の方法で行うと、ノイズが多いので長い時間を要し、しかも画面を注視するので目が疲れる。
【0045】
[他の実施形態]なお、本発明は、上記の実施形態に限定されるものではなく、その要旨の範囲内において種々の変形が可能である。例えば、上記の実施形態では、Nが3である場合について説明したが、このNの値を変えることにより、圧縮率や圧縮精度を自在に変更することができる。すなわち、圧縮対象となるデータの量と携帯端末等の表示装置の能力とに応じて、Nの値を設定することにより、膨大なデータの特徴部分をできるだけ残して、小さな表示装置に表示することが可能となる。
【0046】
また、上記の実施形態では、株価データを圧縮する場合について説明したが、本発明はこれに限定されるものではなく、外国為替、貴金属、指数、先物、半導体、素材、その他の価格変動を伴う市況素材の時系列データを圧縮するようにしてもよい。
【0047】
更に、本発明は、上記の実施形態に限定されるものではなく、始値や高値フィールドを持たない、いわゆる一本値と呼ばれる時系列データを圧縮する場合、或いは出来高加重平均の時系列データを圧縮する場合等に用いることができる。
【0048】
【発明の効果】
以上説明したように本発明によれば、適切なNの値を設定することにより、データ量や表示装置の能力に応じて、時系列データの変動の周期性や変動パターンを残しつつ、時系列データを圧縮することができる時系列データ圧縮装置を提供することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態である時系列データ圧縮装置の概略ブロック図である。
【図2】メインプログラムの処理手順を示す図である。
【図3】図2のメインプログラムから呼び出されるサブルーチン(関数)の処理手順を示す図である。
【図4】図2のメインプログラムから呼び出されるサブルーチン(関数)の処理手順を示す図である。
【図5】図2のメインプログラムから呼び出されるサブルーチン(関数)の処理手順を示す図である。
【図6】本実施形態の装置で株式会社コナカの実際の株価データを圧縮した後のデータに基づいて表示したグラフである。
【図7】本実施形態の装置で圧縮する前の株式会社コナカの株価データを週足ローソクで表示したグラフである。
【符号の説明】
10: データベース、 11: 前処理部、 12: 切換部、
13: 第1選択処理部、 14: 第2選択処理部、 15: 記憶部、
16: 表示部、 17: ポインタ、 20: 制御部
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention provides time-series data compression for compressing time-series data of stock prices, foreign exchange, precious metals, indices, futures, semiconductors, materials, and other marketable materials with price fluctuations. Equipment I do.
[0002]
[Prior art]
Conventionally, time-series data, for example, stock price data, has been provided to investors and the like as stock price charts such as candlestick charts on a daily or weekly basis. A database that stores this stock price data over a long period of time can display a large number of records visually when the number of records increases and the number of records exceeds the display resolution of computers, television receivers, portable electronic terminals, etc. It will be difficult. For example, when stock price data of 1000 records is displayed as a chart on a device (display area) of 600 dots in the horizontal direction, the information of a plurality of records converges to one horizontal dot, so that the screen is collapsed and the display becomes difficult to see. .
[0003]
Most market data such as stock price data expresses four prices consisting of “open price”, “high price”, “low price”, and “price discount” in a format called a candle, but it is necessary to represent each record. Since the number of horizontal dots is at least 3 dots, the number of data that can be displayed on the image display device in a limited area is limited.
[0004]
In addition, ordinary investors who do not have a dedicated line take a long time to download a huge amount of stock charts and stock data, so conventional stock data and stock charts are not easy to use for ordinary investors. There was a problem to say.
[0005]
Under such circumstances, various compression methods for compressing stock price data have been proposed.
[0006]
[Problems to be solved by the invention]
As one of the conventional compression methods, there is a method in which data of one month unit is aggregated and displayed on one candle in order to prolong the display period. In the case of this method, there is a problem that an important point becomes difficult to read because the price fluctuation history in one month is simplified.
[0007]
Further, among the conventional display technologies, there are a new price bar, a key bar, and a so-called Point & Figure chart. These display techniques display the price fluctuations in a compressed manner, but are common in that data on the time axis is lost. When the data on the time axis is lost, the following problem occurs. For example, how many months did investors take from the previous high to the next high? Or, the emphasis is on the periodicity of stock price fluctuations, such as how many months it took from the previous adjustment phase to the next adjustment phase. However, the display method of the key feet or the like cannot display the periodicity of the stock price fluctuation.
[0008]
Further, generally, investors determine buying and selling timings with reference to price fluctuation patterns in a stock price chart. As a fluctuation pattern of the stock price chart, for example, a state where the stock price is gradually rising to the bottom of the pot, a state where the vertical amplitude of the stock price is gradually reduced, and a case where the amplitude is up and down, the previous low point ( There is a state where the next low point is gradually rising from the point of change from the time of going down to raising). Such a price fluctuation pattern can be applied to the stock price of each company or the Nikkei Stock Average. Therefore, when compressing time-series data such as stock price data, it is necessary to compress a large amount of stock price data including noise while leaving a fluctuation pattern.
[0009]
The present invention has been made based on the above circumstances, and is capable of compressing time-series data while maintaining the periodicity and fluctuation pattern of the fluctuation of the time-series data. Equipment The purpose is to provide.
[0010]
[Means for Solving the Problems]
In order to achieve the above object, a time-series data compression apparatus according to the present invention sequentially selects necessary target data from time-series data by referring to target data to be processed, and selects other target data. A time-series data compression apparatus for compressing data by discarding data, wherein for each target data, reference is made to the latest N (where N is an integer) past target data including the target data. Preprocessing means for calculating a maximum value, a minimum value, and an average value from the N pieces of target data; and, for the target data, when the target data is smaller than the average value, the maximum value is calculated. A first selection processing means for performing a selection process of a maximum value to be stored and, when the target data is equal to or more than the average value, discarding the target data, and for the target data, the target data is larger than the average value. If the target data is equal to or less than the average value, a second selection processing means for discarding the target data is performed, and a most recent processing is a first selection processing. Storage means for storing whether the maximum value is selected by the means or the minimum value is selected by the second processing selection means, and for each object data, Is the maximum value selection process or the minimum value selection process, and when the latest process is the maximum value selection process, the target data is subjected to the second selection process. And a switching means for causing the first selection processing means to process the target data when the most recent processing is the selection processing of the minimum value.
[0012]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, a time-series data compression device according to an embodiment of the present invention will be described with reference to the drawings. In the apparatus of the present embodiment, a case will be described in which stock price data is used as time-series data and weekly data of the stock price data is compressed. The apparatus according to the present embodiment compresses data by judging whether a large number of records in a database is a necessary record for each record, selecting and leaving only necessary records, and discarding other records. I do. In addition, each record of the present embodiment includes at least four fields of “open price”, “high price”, “low price”, and “close price” in addition to “time data”.
[0013]
[Structure of Embodiment] FIG. 1 is a schematic block diagram of a time-series data compression apparatus according to an embodiment of the present invention. The time-series data compression apparatus according to the present embodiment includes a database 10 storing stock price data, a pre-processing unit 11 performing pre-processing before performing a selection process on each record of the database 10, and a first processing unit 11 performing a selection process. A selection processing unit 13 and a second selection processing unit 14, and a storage unit that stores whether the most recent processing was a selection processing by the first selection processing unit 13 or a selection processing by the second processing selection unit 14, and the like. A switching unit 12 for alternately performing a selection process by the first selection processing unit 13 and a selection process by the second selection processing unit 14; a display unit 16 for displaying data after selection and compression; It includes a pointer 17 for storing an address indicating the position of a record in the database 10 and a control unit 20 for controlling the entire apparatus.
[0014]
Before performing the selection process by the first selection processing unit 13 or the second selection processing unit 14 for each record of the database 10, the preprocessing unit 11 refers to the latest three records including the record and refers to the maximum number of records. The value, the minimum value, and the average value are calculated, and the result is stored in the storage unit 15 or the like. When calculating the maximum value, the highest value among the highest values in the past three records is calculated. When calculating the minimum value, the smallest low price is calculated from the low prices in the past three records. When calculating the average value of the past three records, the average value of the closing prices in the past three records is calculated. When calculating the average value, the average value may be calculated using the starting value. Further, all of the maximum value, the minimum value, and the average value may be calculated using the closing price, the opening price, or the volume weighted average. Further, when processing the first record of the database, the first record is used, and when the second record is processed, the first and second two records are used to calculate the maximum value, the minimum value, and the average value. .
[0015]
For each record to be processed, the first selection processing unit 13 compares the closing price of the record with the average value calculated by the preprocessing unit 11, and when the closing price of the record is smaller than the average value, A selection process (selection process of the maximum value) for setting a flag on the record including the maximum value of the high value calculated by 11 is performed, and when the closing price of the record is equal to or more than the average value, the record is discarded.
[0016]
The second selection processing unit 14 compares, for each record to be processed, the closing price of the record with the average value calculated by the preprocessing unit 11, and when the closing price of the record is larger than the average value, Performs a process of setting a flag on a record including the minimum value of the calculated low price (selection process of the minimum value), and when the closing price of the record is equal to or less than the average value, discards the record.
[0017]
Note that the first selection processing unit 13 and the second selection processing unit 14 may store a high value of the maximum value and a low value of the minimum value in a storage unit or the like instead of setting a flag in a record.
[0018]
The pointer 20 indicates a position of a record to be processed when the preprocessing unit 11, the first selection processing unit 13, the second selection processing unit 14, and the like perform processing, and each time the processing of one record ends. Is incremented. Therefore, the pointer 20 is referenced not only by a main program described later but also by a subroutine.
[0019]
For each record, the switching unit 12 refers to the storage unit 15 and determines whether the most recent processing is the maximum value selection processing by the first selection processing unit 13 or the minimum value selection processing by the second selection processing unit 14 It is determined whether the most recent processing is the selection processing of the maximum value. If the latest processing is the selection processing of the minimum value, the target record is processed by the second selection processing unit 14. The target record is processed by the first selection processing unit 13. As a result, after the selection processing is performed by the first selection processing unit 13, the selection processing is always performed by the second selection processing unit 14, and after the selection processing is performed by the second selection processing unit 14, Next, selection processing is always performed by the first selection processing unit 13. That is, in the present embodiment, the process of selecting the maximum value and the process of selecting the minimum value are performed alternately.
[0020]
The control unit 20 controls reading and writing of data in the storage unit 15 in response to a request from the preprocessing unit 11, the first selection processing unit 13, the second selection processing unit 14, and the like, and changes the value of the pointer at the beginning of the processing. A process of setting the value to 1 or incrementing the value of the pointer each time the processing of one record is completed is performed. Further, the control unit 20 displays the compressed data on the display unit 16 by a method described later.
[0021]
[Operation of Embodiment] Next, a processing procedure of the time-series data compression device of the present embodiment will be described with reference to FIGS. 2 to 5. FIG. 2 is a diagram showing a processing procedure of the main program, and FIGS. 3 to 5 are diagrams showing a processing procedure of a subroutine (function) called from the main program. In FIGS. 2 to 5, a record is also referred to as a block.
[0022]
After performing the predetermined initialization, in step S1, a block length (TheBlock) is defined. In the case of stock price data, the block length (N) is set by selecting an appropriate numerical value from 3 to 10. In the present embodiment, as described above, the pre-processing is performed with reference to the records for three weeks, so the block length is set to 3 here.
[0023]
In step S2, since the selection processing by the first selection processing unit or the second selection processing unit has not been performed, the final detection data variable (LastLabel) indicating the result of the previous selection processing is initially initialized to null.
[0024]
In step S3, the value of the pointer 20 is set to a value "1" indicating the first record of the database. In step S4, it is determined whether or not the record being referred to is the last record in the database 10. If it is not the last record, the process proceeds to step S5. In step S5, three subroutines shown in FIGS. 3 to 5 are executed. Note that the position of the record of the database referred to in each subroutine shown in FIGS. 3 to 5 is the same position (the same pointer 20) as the position set in the main program.
[0025]
In the processing procedure of the subroutine shown in FIG. 3, after performing predetermined initialization, in step S21, it is determined whether or not the reference position P (the value of the pointer 20) of the record of the current database is larger than the block length (BlockSize) = 3. Judge. In this case, since the position P of the pointer 20 is 1, the process proceeds to step S23, and the high value from the first record to the record at the position of P (in this case, only the first record) is temporarily set as a return value. Remember. Note that when P is 2, the highest value among the two records from the beginning and among the three records from the beginning when P is 3 are calculated, and the maximum value is calculated. It is temporarily stored as a return value. On the other hand, if the reference position P is larger than the block length (BlockSize) = 3, the process proceeds to step S22, and the block length (BlockSize) = 3 including P in the past direction from the current reference position P is traced back. The maximum value of the high value is calculated from the records in the range (three records), and the maximum value is temporarily stored as a return value.
[0026]
In the processing procedure of the subroutine shown in FIG. 4, after performing predetermined initialization, in step S31, it is determined whether or not the reference position P (the value of the pointer 20) of the record of the current database is larger than the block length (BlockSize) = 3. Judge. In this case, since the position P of the pointer 20 is 1, the processing shifts to step S33 to temporarily store the low value from the first record to the record at the position of P (in this case, the first record) as a return value. I do. When P is 2, the lowest value is calculated from the first two records, and when P is 3, the lowest value is calculated among the first three records, and the minimum value is returned. As a temporary storage. On the other hand, if the reference position P is larger than the block length (BlockSize) = 3, the process proceeds to step S22, and the block length (BlockSize) = 3 including P in the past direction from the current reference position P is traced back. The minimum value of the low price is calculated from the records in the range (three records), and the minimum value is temporarily stored as a return value.
[0027]
In the processing procedure of the subroutine shown in FIG. 5, after performing a predetermined initial setting, in step S41, it is determined whether or not the reference position P (the value of the pointer 20) of the record of the current database is larger than the block length (BlockSize) = 3. Judge. In this case, since the position P of the pointer 20 is 1, the processing shifts to step S43 to temporarily store the end value from the first record to the record at the position of P (in this case, the first record) as a return value. I do. When P is 2, the average value of the closing prices is calculated in the two records from the beginning, and when P is 3, the average value of the closing prices is calculated in the three records from the beginning, and the average value is used as the return value. Store temporarily. On the other hand, if the reference position P is larger than the block length (BlockSize) = 3, the process proceeds to step S22, and the block length (BlockSize) = 3 including P in the past direction from the current reference position P is traced back. The average value of the closing price is calculated from the records in the range (three records), and the average value is temporarily stored as a return value.
[0028]
When the processing of the subroutine shown in FIGS. 3 to 5 ends, the processing of step S6 in FIG. 1 is performed. In step S6, it is determined whether the final detection data variable (LastLabel) indicating the result of the previous selection processing is the initial value set in step S3 or "Min" indicating that the minimum value selection processing has been performed. I do. Since the current value is the initial value, the process proceeds to step S7. If it is not the initial value or “Min”, the process proceeds to step S9.
[0029]
In step S7, it is determined whether or not the closing price of the record to be processed (the record indicated by the pointer 20) is smaller than the average value (dBBlockAve) obtained in step S5. If it is smaller than the average value, the process proceeds to step S8, and if it is not smaller than the average value, the process proceeds to step S9.
[0030]
In step S8, a record having a high value equal to the maximum value (dBLockMax) obtained in step S5 is searched, and data including time data of the record is selected as display data (a flag is set on the record). At this time, when there are a plurality of records having the same high value as the corresponding maximum value, a predetermined record, for example, a later record in time, is selected as the display data. Further, in order to indicate that the selection process is a process of selecting the maximum value, “Max” is substituted for a last detection data variable (LastLabel) indicating the result of the previous selection process. By setting the final detection data variable to “Max” in this way, when processing the next and subsequent records, the second selection processing unit always executes the selection processing (steps S9 to S11) for searching for the minimum value. You can try to look for.
[0031]
In step S9, it is determined whether the final detection data variable (LastLabel) indicating the result of the previous selection process is an initial value or “Max” indicating that the maximum value has been selected. If it is the initial value or “Max”, the process proceeds to step S10. If it is not the initial value or “Max”, the process proceeds to step S12.
[0032]
In step S10, it is determined whether or not the closing price of the record to be processed (the record indicated by the pointer 20) is larger than the average value (dBBlockAve) obtained in step S5. If it is larger than the average value, the process proceeds to step S11. If it is smaller than the average value, the process proceeds to step S12.
[0033]
In step S11, a record having a low value equal to the minimum value (dBBlockMin) obtained in step S5 is searched, and data including the time data of the record is selected as display data (a flag is set on the record). At this time, if there are a plurality of records having the same low price as the corresponding minimum value, a predetermined record, for example, a later record in time, is selected as the display data. In addition, “Min” is substituted for the last detection data variable (LastLabel) to indicate that the selection process is a process of selecting the minimum value. By setting the last detected data variable to “Min” in this manner, when processing the next and subsequent records, the first selection processing unit always executes the selection processing (steps S6 to S8) for searching for the maximum value. You can try to look for.
[0034]
By performing the processing from step S6 to step S11, when the closing price of each record to be processed slightly falls below the average value of the past three records, the highest value among the past three records is obtained. Find the maximum value and process the selection. Further, when the closing price of the record to be processed is slightly higher than the average value of the past three records, the minimum value of the low price is found and selected from the past three records. Further, the data is compressed by alternately selecting the maximum value of the high value and the minimum value of the low value.
[0035]
In step S12, the value of the pointer 20 is incremented in order to change the record to be processed to the next record. After this processing, the process returns to step S4. Hereinafter, the number of records is reduced by repeating the processing from step S4 to step S12 until the processing of the last record of the database is completed, that is, the same number of times as the number of records of the target database. I do.
[0036]
If it is determined in step S4 that the record to be processed is the last record, the process proceeds to step S13, where the closing price of the last record is selected as display data, and the process ends.
[0037]
According to the above-described processing procedure, for the third and subsequent records, the maximum value, the minimum value, and the average value are calculated and held in advance for each record based on the data of the past three records. The maximum value selection processing by the selection processing unit 13 or the minimum value selection processing by the second selection processing unit 14 is performed. The first selection processing unit 13 compares the closing price of the record to be processed with the average value, selects the maximum value when the closing price is smaller than the average value, and discards the record when the closing price is equal to or more than the average value. To process. The second selection processing unit 14 compares the closing price of the record to be processed with the average value, and if the closing price is larger than the average value, performs the selection processing of the minimum value. If the closing price is less than the average value, discards the record. To process. The switching unit 12 controls the maximum value selection processing and the minimum value selection processing to be performed alternately. By compressing records by such selection processing and discarding processing, data can be compressed while leaving periodicity and fluctuation patterns of stock prices.
[0038]
FIG. 6 is a graph displayed based on the data after the actual stock price data of Konaka Co., Ltd. is compressed by the apparatus of the present embodiment. In the figure, data is compressed from February 1998 to June 2000 based on weekly data. The minimum value (low price) and the maximum value (high price) are sequentially connected with a straight line from the high price to the low price or from the low price to the high price, an arrow is attached to the tip, and the actual price is displayed at the position of each low price and the high price. In FIG. 6, the price of the closing price of the last record is not displayed, but this price may be displayed.
[0039]
FIG. 7 is a graph showing the stock price data of Konaka Co., Ltd. before being compressed by the apparatus of the present embodiment as a weekly candle. The graph of FIG. 7 shows data from February 1999 to June 2000. Comparing the corresponding periods in FIG. 6 and FIG. 7, the period from February 1999 to June 2000 displayed in FIG. 7 is compressed to approximately half or less in FIG. . While the actual total number of records of Konaka Co., Ltd. in this period is 155, the number of records after compression by the apparatus of the present embodiment is 29, and the compression ratio is about 1/3. Further, when the actual stock price data of Sony Corporation was compressed in the same manner by the apparatus of the present embodiment, weekly data of 280 records was compressed to 60 records. As described above, according to the apparatus of the present embodiment, the stock price data can be compressed to at least 1/2 to 1/10.
[0040]
Also, looking at the graph of FIG. 6, it can be easily recognized that the fluctuation pattern of this stock chart is pennant. Further, it can be easily recognized from the graph of FIG. 6 that the period of the price fluctuation is gradually shortened. On the other hand, if you look closely at FIG. 7, you can see that there is a variation pattern and periodicity similar to FIG. As described above, according to the apparatus of the present embodiment, the data can be compressed while keeping the fluctuation pattern and periodicity of the stock price chart, and the fluctuation pattern and periodicity can be easily recognized as compared with the conventional chart. Become. Therefore, the investor can easily read the date and price that should be used as a guide for the next price change from the past trend shown in FIG. In the above embodiment, the case where the stock price data of one company is compressed has been described. However, the same compression can be performed by compressing the data of the Nikkei Stock Average. Further, according to the present embodiment, it is possible to easily and surely find a price fluctuation pattern other than the pennant, such as a double top or a double bottom.
[0041]
Further, it is not easy to find a resistance line or an instruction line from a large amount of data by using a computer. However, according to the above-described embodiment, since the number of data is small, as shown in FIG. In addition, the resistance line A and the instruction line B can be easily displayed. It is not easy to search for a fluctuation pattern or periodicity from a large number of data even by using a computer. However, finding a fluctuation pattern or periodicity using data compressed according to the present embodiment requires only a small amount of calculation, and can be easily found even by a weak computer. Further, it is difficult for a general investor to find a resistance line or an instruction line from the conventional complicated stock price chart shown in FIG. 7, but according to the present embodiment, it is not necessary to draw the resistance line A or the instruction line B. Also, ordinary investors can easily recognize the indicating line and the resistance line.
[0042]
In the case of stock price data, if the value of N is 2 or less, it is difficult to extract a feature point, and if the value of N is 10 or more, it becomes too rough. Therefore, in the case of stock price data, the value of N is preferably between 3 and 10. When the data amount to be processed is large or the display device is small, the value of N can be set to 11 or more.
[Effects of Embodiment]
According to the above-described embodiment, when the market price keeps rising, the past minimum value (low price) is found, the data while the market price keeps rising is discarded, and the next data is acquired by the market price. It is time to go down. Then, while the market price continues to fall, the data during that period is discarded. As a result, the data can be compressed and the data can be selected by focusing only on the past highs and lows. The average investor is paying attention to the high price when the market is raising. In addition, when prices are lower, we focus on low prices. However, investment experts are paying attention to the lows of the markets during the uptrend. In the case of a downtrend, he pays attention to the high price of the market. According to the present embodiment, it can be said that the market data is compressed from the viewpoint of the expert.
[0043]
Further, according to the present embodiment, a huge amount of stock price data can be compressed to a required size so that the price fluctuation pattern and periodicity remain, so that it has been impossible in the past for portable terminals. It is possible to transfer a chart of stock price data according to the display capability via the Internet or the like. That is, since the transfer amount of conventional stock price data is several tens of gigabytes, transferring this huge amount of stock price data via the Internet increases transfer costs. However, by compressing the data with the apparatus of the present embodiment, even when the stock price data is transferred to the portable terminal using the Internet, the transfer fee becomes low. Therefore, according to the present embodiment, it is also possible to provide a service of transferring stock price data to a portable terminal as a business.
[0044]
Further, according to the present embodiment, it is possible to efficiently remove the disturbing data (noise) that makes it difficult to recognize a characteristic portion such as a periodicity or a fluctuation pattern of a stock price, and perform compression while retaining the characteristic portion. Therefore, the characteristic portion can be easily grasped by using the compressed data, and therefore, it is possible to quickly make an accurate judgment on the stock price trading. For example, according to the present embodiment, it is possible to check the price pattern of several tens of brands per minute, but if the same reading operation is performed by the conventional method shown in FIG. It is necessary, and eyes are tired because I look at the screen.
[0045]
[Other Embodiments] The present invention is not limited to the above embodiment, and various modifications can be made within the scope of the gist. For example, in the above embodiment, the case where N is 3 has been described. However, by changing the value of N, the compression ratio and compression accuracy can be freely changed. That is, by setting the value of N in accordance with the amount of data to be compressed and the capability of the display device such as a portable terminal, it is possible to display the data on a small display device while leaving as much of the feature portion of the data as possible. Becomes possible.
[0046]
Further, in the above embodiment, the case where the stock price data is compressed has been described. However, the present invention is not limited to this. Forex, precious metals, indices, futures, semiconductors, materials, and other price fluctuations are involved. The time series data of the market material may be compressed.
[0047]
Furthermore, the present invention is not limited to the above-described embodiment, and has a case where time series data having no opening price or high price field, that is, so-called single value is compressed, It can be used when compressing.
[0048]
【The invention's effect】
As described above, according to the present invention, by setting an appropriate value of N, the time series data can be changed in time series and the fluctuation pattern in accordance with the data amount and the capability of the display device. Time-series data compression that can compress data Equipment Can be offered.
[Brief description of the drawings]
FIG. 1 is a schematic block diagram of a time-series data compression device according to an embodiment of the present invention.
FIG. 2 is a diagram showing a processing procedure of a main program.
FIG. 3 is a diagram showing a processing procedure of a subroutine (function) called from the main program of FIG. 2;
FIG. 4 is a diagram showing a processing procedure of a subroutine (function) called from the main program of FIG. 2;
FIG. 5 is a diagram illustrating a processing procedure of a subroutine (function) called from the main program of FIG. 2;
FIG. 6 is a graph displayed based on data obtained by compressing actual stock price data of Konaka Co., Ltd. using the apparatus of the present embodiment.
FIG. 7 is a graph showing stock price data of Konaka Co., Ltd. before compression by the apparatus of the present embodiment as a weekly candle.
[Explanation of symbols]
10: Database, 11: Pre-processing unit, 12: Switching unit,
13: first selection processing unit, 14: second selection processing unit, 15: storage unit,
16: display unit, 17: pointer, 20: control unit

Claims (5)

時系列データの中から、順次、処理の対象となる対象データを参照して必要とする対象データを選択し、他の対象データを破棄することによりデータを圧縮する時系列データ圧縮装置であって、
各対象データ毎に、当該対象データを含む、過去の直近のN(但し、Nは整数)個の対象データを参照して、そのN個の対象データの中から、最大値と、最小値と、平均値とを算出する前処理手段と、
対象データについて、当該対象データが前記平均値より小さいときには、前記最大値を記憶する最大値の選択処理を行い、当該対象データが前記平均値以上のときには、当該対象データを破棄処理する第1選択処理手段と、
対象データについて、当該対象データが前記平均値より大きいときには、前記最小値を記憶する最小値の選択処理を行い、当該対象データが前記平均値以下のときには、当該対象データを破棄処理する第2選択処理手段と、
直近の処理が第1選択処理手段による前記最大値の選択処理であったのか或いは第2処理選択手段による前記最小値の選択処理であったのかを記憶する記憶手段と、
各対象データ毎に、前記記憶手段を参照して直近の処理が前記最大値の選択処理であったのか或いは前記最小値の選択処理であったのかを判断し、直近の処理が最大値の選択処理であったときには当該対象データを前記第2選択処理手段で処理させ、また直近の処理が最小値の選択処理であったときには、当該対象データを前記第1選択処理手段で処理させる切換手段と、
を具備することを特徴とする時系列データ圧縮装置。
A time-series data compression apparatus for sequentially selecting target data required by referring to target data to be processed from time-series data and compressing the data by discarding other target data, ,
For each target data, the latest N (where N is an integer) target data including the target data is referred to, and the maximum value and the minimum value are determined from among the N target data. , An average value and a pre-processing means,
For the target data, when the target data is smaller than the average value, a maximum value storing process for storing the maximum value is performed. When the target data is equal to or more than the average value, a first selection process for discarding the target data is performed. Processing means;
For the target data, when the target data is larger than the average value, a minimum value storing process for storing the minimum value is performed, and when the target data is equal to or less than the average value, a second selection process for discarding the target data is performed. Processing means;
Storage means for storing whether the most recent processing was the maximum value selection processing by the first selection processing means or the minimum value selection processing by the second processing selection means;
For each target data, it is determined whether the most recent processing was the maximum value selection processing or the minimum value selection processing with reference to the storage unit, and the most recent processing was the maximum value selection processing. A switching means for causing the target data to be processed by the second selection processing means when the processing is processing, and a processing means for processing the target data by the first selection processing means when the most recent processing is processing for selecting the minimum value. ,
A time-series data compression device comprising:
前記時系列データは市況データであり、前記対象データは、時間データの他に、少なくとも、始値、高値、安値及び終値を含む複数のフィールドを有するレコードであることを特徴とする請求項1記載の時系列データ圧縮装置。The time-series data is market data, and the target data is a record having at least a plurality of fields including an opening price, a high price, a low price, and a closing price in addition to the time data. Time series data compression device. 前記最大値は高値であり、前記最小値は安値であり、前記平均値は終値の平均値であることを特徴とする請求項2記載の時系列データ圧縮装置。The time-series data compression device according to claim 2, wherein the maximum value is a high value, the minimum value is a low value, and the average value is an average value of closing prices. 前記Nの値は3〜10の何れかであることを特徴とする請求項1、2又は3記載の時系列データ圧縮装置。4. The time-series data compression device according to claim 1, wherein the value of N is any one of 3 to 10. 前記最大値の選択処理及び前記最小値の選択処理により選択された最大値及び最小値を順次、直線で結んだ折線グラフとして表示手段に表示する表示制御手段を具備することを特徴とする請求項1、2、3又は4記載の時系列データ圧縮装置。A display control means for sequentially displaying the maximum value and the minimum value selected by the maximum value selection processing and the minimum value selection processing on a display means as a line graph connected by a straight line. 5. The time-series data compression device according to 1, 2, 3, or 4.
JP2000238438A 2000-08-07 2000-08-07 Time series data compression device Expired - Lifetime JP3573072B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000238438A JP3573072B2 (en) 2000-08-07 2000-08-07 Time series data compression device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000238438A JP3573072B2 (en) 2000-08-07 2000-08-07 Time series data compression device

Publications (2)

Publication Number Publication Date
JP2002049747A JP2002049747A (en) 2002-02-15
JP3573072B2 true JP3573072B2 (en) 2004-10-06

Family

ID=18730136

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000238438A Expired - Lifetime JP3573072B2 (en) 2000-08-07 2000-08-07 Time series data compression device

Country Status (1)

Country Link
JP (1) JP3573072B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10789588B2 (en) * 2014-10-31 2020-09-29 Chicago Mercantile Exchange Inc. Generating a blended FX portfolio

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3938928B1 (en) 2006-06-22 2007-06-27 株式会社コナミデジタルエンタテインメント Line shape processing apparatus, line shape processing method, and program
JP5044614B2 (en) * 2009-06-26 2012-10-10 株式会社野村総合研究所 Market data compression system and program
WO2013136718A1 (en) 2012-03-16 2013-09-19 日本電気株式会社 Time series data processing device, time series data processing method, and time series data processing program storage medium
AU2021466668A1 (en) * 2021-09-30 2024-04-18 Futu Network Technology (shenzhen) Co., Ltd. K-line form recognition method, and electronic device
CN115268831B (en) * 2022-09-22 2022-12-20 北京中科心研科技有限公司 Floating point data compression method and device, wearable intelligent device and storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10789588B2 (en) * 2014-10-31 2020-09-29 Chicago Mercantile Exchange Inc. Generating a blended FX portfolio
US11423397B2 (en) 2014-10-31 2022-08-23 Chicago Mercantile Exchange Inc. Generating a blended FX portfolio

Also Published As

Publication number Publication date
JP2002049747A (en) 2002-02-15

Similar Documents

Publication Publication Date Title
US7990383B1 (en) Sequential browsing and visible representation of a user's watch list of stocks and market indices
US20090259599A1 (en) Method and apparatus for analyzing individual and comparative returns on assets
US20080115079A1 (en) Systems and methods for dynamic display of orders
US20230186336A1 (en) Intra-time-period resolution value data generation, storage, display, method, and device
JP3573072B2 (en) Time series data compression device
CN117035948A (en) Task intelligent processing method and system based on big data
US11978117B2 (en) Plural price range symbol overlay generation, storage, display, system, method, and device
US20240203001A1 (en) Plural technical indicator relationship data generation, storage, display, system, method, and device
US20230196461A1 (en) Dynamic performance indicator symbol generation, display, method, and device
US12112374B2 (en) Timescaled price range summary symbols data structure generation, display, method, and device
US12094000B2 (en) Price range symbol intra-body fill area, data structure generation, storage, display, system, method, and device
US11538111B2 (en) Price range summary symbol display system, method, and device
JP6447666B2 (en) Chart generation program and chart generation system
US11995710B2 (en) Multiple region price chart display system, method, and device
US11526941B2 (en) Data structure generation and price range symbol display system, method, and device
US11989397B2 (en) Price range symbol intra-body fill area scaling, data generation, storage, display, system, method, and device
US11514486B2 (en) Price range symbol indicator integration display system, method, and device
TW201915897A (en) Financial commodity transaction data processing device and method effectively assists investors to judge the starting point and the ending point of a financial commodity price disc setting trend interval
CN115859907B (en) Reading annotation zoom display method, system and readable storage medium
US20210295399A1 (en) Price range symbol display system, method, and device
US20230196466A1 (en) Systems, methods, and programs for supporting portfolio construction
US10755458B1 (en) Candlestick chart display system, method, and device
JP4024154B2 (en) Portfolio calculation device, portfolio calculation method, and portfolio calculation program
Zou et al. Art not for art’s sake: an exploration of the Chinese art market
TWI604400B (en) A processing method for fuzzy checking securities information

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040312

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040511

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040608

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040621

R150 Certificate of patent or registration of utility model

Ref document number: 3573072

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110709

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120709

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120709

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130709

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term