システム取引アプリケーション - ローカルデータベースの履歴データのキャッシュ?
-
26-10-2019 - |
質問
ほとんどの取引アプリケーションは、取引APIをサポートするIQFeedやBrokeragesなどの商業プロバイダーからデータフィードを受け取ります。ローカルデータベースに保存するメリットはありますか? Intray DataFeedのサイズは非常に大きく、データベースはわずか50株の1分間のデータで指数関数的に成長し、チックごとのデータを気にしないでください。これはデータベースのバックアップの悪夢であり、パフォーマンスに影響を与える可能性があると思います。
DVDまたはオンラインでテキストファイルで履歴データを取得した場合、データベースに保存することが唯一の論理的な選択ですが、APIを使用して取得する場合はまだ良い考えでしょうか?
解決
それは本当にストレージスペースについてです。 APIを通じて間違いなくそれを行うことができますが、自動取引を行っているのと同じアプリケーションを使用してそれを行わないようにしてください。
あなたが言ったように、Tick Dataはほとんど問題ありません。1分間のデータは、50のシンボルで約400バー/日、20000バーを意味します。
計算空間は、それに基づいて計算できます。OLHCを保存している場合は、タイプINTの4つの値で達成できます。
他の答えが指摘したように、パフォーマンスはますます多くのシンボルの問題である可能性がありますが、1分間のバーの50のシンボルでは問題になりません。
他のヒント
これはパフォーマンスの質問です。 APIが十分に速い場合は、それを使用してください。そうでない場合、キャッシュが役立つ場合は、キャッシュしてください。アプリケーションと使用パターンのみが、これらのステートメントにどれだけの真実と必要性が適用されるかを決定できます。