diff --git a/README.md b/README.md index 7ba01722..17bdd1cf 100644 --- a/README.md +++ b/README.md @@ -310,6 +310,56 @@ Period Range .InRelativePeriodRange(Period.FromWeeks(2), Period.FromDays(20)) ``` + +### GME Public Offer + +Artesian supports querying GME Public Offers which come in a custom and dedicated format. + +Performance note: +GME Public Offer data is partitioned by date, offerType, status, and market. Requesting very narrow subsets (for example a single status or offerType in several separate requests) does not improve performance and can cause the same data to be fetched multiple times. +For this reason: + • Use a large page size so that all data for a given (date, market, filters) is typically returned in a single page. + • Loop over markets explicitly to cover all required markets without redundant fetches. + +### Extract GME Public Offer + const int PAGE_SIZE = 250000; + + /* your Artesian configuration */; + + var _cfg = new ArtesianServiceConfig( + new Uri("https://arkive.artesian.cloud/{TENANT_NAME}/"), + your_API_Key); + + var poService = new GMEPublicOfferService(_cfg); + + # List of markets to cover. Extend as needed for your use case. + var markets = new Market[] + { + Market.MGP, + # Market.MSD, + # Market.MIA1 + }; + + + var gmePoResults = await poService.CreateRawCurveQuery() + .ForDate(new LocalDate(2025, 11, 1)) + .ForStatus(Status.ACC) + .ForPurpose(Purpose.BID) + .ForMarket(markets) + .WithPagination(1, PAGE_SIZE) + .ExecuteAsync(); + + Console.WriteLine($"Total offers fetched: {allData.Count}"); + + To construct a GME Public Offer Extraction the following must be provided. + + + + + + +
GME Public Offer QueryDescription
Time Extraction WindowAn extraction time window for data to be queried
StatusProvide a status to query
PurposeProvide a purpose or set of purposes to query
+ ### Unit of Measure Conversion Functionality ### Overview