私は、ブローカーからの http フィード (EurUsd ティックなど) を入力として取り、Matplotlibを使用して価格キャンドルとインジケーターを描画する Python チャート作成アプリケーションをコーディングしました。ライブ ティック データは、5 分、15 分、60 分、240 分、および 1 日の時間枠で価格キャンドルとインジケーターのデータ コンテナーとして機能するいくつかのnumpy 配列を更新するために使用されます。良い。
numpy 配列を使用する理由は、これが進行中のインジケーターとオシレーターの値を計算するために使用するTA-Libの予想される入力形式であるためです (これらは、チャートのレンダリングのために Matplotlib に渡されます)。これらには、RSI、MACD、ストキャスティクスなどのほか、RSI および MACD アレイから派生したボリンジャー バンドが含まれます。信号線などを含めて、各時間枠には 21 の配列があります。5 つの時間枠 (5 分、15 分、60 分など) を追跡した結果、アプリケーションがジョブを実行するには105 個の numpy 配列が必要でした。各時間枠の価格ローソク足配列は、始値、高値、安値、終値、出来高、および日付で構成される 2D 配列です。
配列の最長のセットは、長さ 288 (1 日分の 5 分のろうそく) + 288 (再初期化に至るまでの追加の 1 日分のスペース) = 576 の 20 個の指標配列を初期化する 5 分の時間枠のものです。ろうそく配列には形状があります。 6 は OHLCV と Date を保持するため、サイズは 576 x 6 = 3456 です。
240 分と 1 日の時間枠では、配列セットの数は同じ (21) ですが、パックされるデータが少ないため短くなります。各アレイの現在のローソク足の更新は、1 秒あたり 10 回から 1 分に 1 回の範囲でティックごとに発生します。各ティックの更新もすべてのインジケーターにカスケードされるため、ティックごとに 105 の配列が更新されます。
私の質問は、この数のアレイと、105 個の各アレイの更新頻度について、注意すべきリソースに関する考慮事項があるかどうかです。nbytes メソッドによれば、長さ 20 x 576 の配列はそれぞれ 4608 バイトを消費するため、これらの配列のメモリ消費は問題ではないという印象を受けます (この質問How much memory in numpy array? Is RAM a limited factor?から)。 =合計 90kb。
これは正しく、設計ロジックは適切ですか?