Ich importiere historische Daten für viele Aktien über bestimmte Daten in Java aus CSV-Dateien. Mein Ziel ist es, ein Programm in Java zu verwenden, das ich gebaut habe, um einige dieser Ticker zu bestimmten Terminen zu handeln (kaufen und verkaufen). Das Programm ist nur für die Arbeit mit einem Ticker konfiguriert, aber jetzt möchte ich es mit tausenden von Daten (über Tausende von Daten) erweitern.double inexing ein Array ohne int
Ich habe zwei Tabellen, eine mit dem Ticker und wann zu kaufen/zu verkaufen, und die andere (Bild unten) mit all den Preis und historische Informationen. Mit den beiden, wenn, in Tabelle 1 habe ich eine Anzeige nach Ticker x auf y Datum, möchte ich in der Lage sein, Ticker x zu verkaufen, wenn der Preis um sagen wir 80% vom Kaufpreis sinkt. Um diese Art der Entscheidungsfindung zu erleichtern, habe ich für jeden Ticker, den ich trade, die historischen Daten für etwa zehn Jahre. Ich habe mehrere zehn Millionen Zeilen in Tabelle zwei.
Ich würde gerne in der Lage sein, jede meiner Spalten (Marktkapitalisierung, p/e-Verhältnis, Beta ...) mit dem Ticker und Datum Identifikatoren verweisen. Ich möchte meine Daten so manipulieren, dass sie (in Java) das Minimum und Maximum eines P/E für einen bestimmten Ticker über einen bestimmten Zeitraum finden.
Ich dachte, ich sollte einen "numerischen Schlüssel" für jeden Ticker und Datum Combo erstellen. Jedes Zeichen im Ticker wird in ASCII konvertiert, verkettet und zum Datum hinzugefügt. Ich dachte, ich könnte jeden einzelnen als eindeutigen Identifikator für die Indexierung eines Arrays verwenden, aber dann erkannte ich, dass ich keine gute Möglichkeit hatte, herauszufinden, wann die Daten eines Tickers begannen und wann er endete.
Welcher Datentyp wäre dafür besser geeignet?
Sie möchten wahrscheinlich eine ['Map'] (https://docs.oracle.com/javase/8/docs/api/java/util/Map.html) – bradimus
@BasilBourque Ich habe mehrere Millionen Zeilen, aber nur 2500 Ticker – wizlog