さて、もう一日休みがあることだしちょっとだけ。
日中足のデータ構造のおはなし。
うちのシステムでは分単位で記録するため便宜上分足と呼びます。
たとえば株価と出来高を1レコードとして、1時間60レコード、24時間だと1440レコードです。ファイルの縦方向に時間軸を設定するのは素直な構造だと言えますが、取引時間は4.5時間なので24時間をフルに記録すると取引のない疎な時間帯のレコードが無駄です。
1ファイルにどの程度の期間のデータを記録するかという点も気になります。1銘柄1日で1ファイルとすると、ファイルサイズがディスクのクラスタサイズに満たない場合にはやはり効率の悪いデータ構造となります。
横方向に銘柄を並べることは銘柄を取り出しにくくなり銘柄の追加削除にも対応しにくいため避けたい。やはり1銘柄1ファイルorフォルダが良さそう。
1ファイルの時間軸を延ばす。月もしくは年。わりと現実的。ただこの場合も今度は土日や休日の疎なレコードの折り合いをつける必要がある。週2日=28%もの空な領域を許すべきか。
(4.5/24)×(5/7)=12.7%
フルに記録するよりも7分の1近いダイエットになる計算。
問題は日時を効率的にレコードインデックスに変換する関数なわけです。(続く)





日ごとのファイルだと欠測があった場合、バックアップマシンからその日のファイルだけコピーすれば補完できる。というメリットもある。と。自分メモ