Universe generation drops stored entries for coins absent from current output

Offen Anfängerfreundlich
#19 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
86/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
csharp
Bereich
data

Rechercherichtung

Beginne mit GenerateUniverseFiles in CoinGeckoDataDownloader.cs und verfolge, wie die Methode _processedUniverseFolder an SaveContentToFile übergibt. Füge mit dem bereitgestellten Setup einen Regressionstest über GenerateUniverseFiles hinzu, bei dem eine gespeicherte Coin in der aktuellen Ausgabe fehlt. Fertig ist die Aufgabe, wenn die gespeicherte Zeile erhalten bleibt, die abgerufene Coin-Zeile aktualisiert wird und der Test besteht.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Problem

GenerateUniverseFiles drops stored universe entries for coins that have no output coin file in the current run. It returns true after writing the incomplete universe.

This is reproducible on master (0b89b5a).

Reproduction
  1. Construct CoinGeckoUniverseDataDownloader with distinct, empty destination and processed directories.
  2. Write processed/universe/20260808.csv containing:
    BTC,64879.756,21708815799.29,1301953613966.19
    ETH,3000,10000000000,360000000000
    
  3. Write only destination/eth.csv, containing:
    20260808,3001,10000000000,360100000000
    
  4. Call GenerateUniverseFiles().

Observed: it returns true, and destination/universe/20260808.csv contains only:

ETH,3001,10000000000,360100000000

The stored BTC row is absent.

Cause and expected result

GenerateUniverseFiles passes _processedUniverseFolder to SaveContentToFile, but the helper appends another universe component. It looks for processed/universe/universe/20260808.csv, so it never reads the existing file.

Preserve the stored BTC row and replace the ETH row with its fetched value. Add a regression through GenerateUniverseFiles, with a coin absent from the current output, so the production caller's directory arguments are exercised. Suggestion: make the helper and caller agree on whether the processed directory already includes universe.

Vorherrschende Sprache
C#
Sterne
5
Forks
9
Ø Merge
3 T. 8 Std.
Gemergte PRs (30 T.)
1

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus QuantConnect/Lean.DataSource.CoinGecko

Alle Issues in QuantConnect/Lean.DataSource.CoinGecko

Ähnliche Issues

Weitere Issues zu C#

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.