1

初めての投稿ですので、ご容赦ください :-)。

問題の背景: 次の形式のテキスト ファイルが複数あります。

<ticker>,<date>,<open>,<high>,<low>,<close>,<vol>
A,20120904 0926,37.14,37.14,37.14,37.14,693
.
.
.
ZZ,20120904 1602,1.6,1.6,1.6,1.6,11771

ご想像のとおり、それは株式ティックです。それをmatlabにロードすると、配列(数値の)とセル(文字列の)を含む構造が作成されますが、この時点では問題なく作業できます。問題:

特定のシンボル (〜 70K 行) の配列を検索する最も効率的な方法を見つけたいと思います。素朴なまたは半分の検索を行うのは簡単ですが、これらのアプローチは、複数のファイルや複数の検索で特定のシンボル/文字列の開始インデックスと終了インデックスを抽出するのに非常に役立つとは思いません。ここで過去の投稿を調べて、Rabin-Karp、Bitap、およびハッシュ テーブルについて読みましたが、それらのどれもが私のニーズを完全に満たしてくれるかどうかはわかりません。

これまでのところ、セルを一度実行し、各文字 (つまり、「A」、「B」など) のハッシュ テーブルを作成してから、単純な検索またはその他の提案を実行することに傾いています :-)。ハッシュ化の理由は、同じファイルを使用してさまざまな銘柄記号を検索する可能性があるためです。そのため、一度実行して文字にラベルを付けると、長期的には複雑さが軽減されると思います。

この件についてどう思いますか。私は正しい方向にいますか?私はmatlabを使用しています。

ありがとうございました

4

1 に答える 1

0

すべてのティッカーを構造体配列に格納できます。各列はプロパティです。空でない値があると仮定すると、次のことができます。

tickers = [S.tickers];
dates = [S.date];

クエリを実行して、構造体配列 S から必要なインデックスを簡単に取得できます。ティッカー名をキーとしてインデックスを作成することで、ティッカー名でさらにティッカーにインデックスを付けることができます。

于 2015-01-08T21:41:08.143 に答える