US 11,907,207 B1
Compression of fluctuating data
Dhiraj Bawadhankar, Naperville, IL (US); Fateen Sharaby, Demarest, NJ (US); Naresha Chari, Chicago, IL (US); and Romil Parekh, Northbrook, IL (US)
Assigned to Chicago Mercantile Exchange Inc., Chicago, IL (US)
Filed by Chicago Mercantile Exchange Inc., Chicago, IL (US)
Filed on Oct. 10, 2022, as Appl. No. 17/962,921.
Claims priority of provisional application 63/254,686, filed on Oct. 12, 2021.
Int. Cl. G06F 7/00 (2006.01); G06F 16/23 (2019.01)
CPC G06F 16/2379 (2019.01) [G06F 16/2365 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A system comprising:
a processor; and
a non-transitory memory device storing instructions that when executed by the processor cause the processor to:
monitor an amount of data stored in a memory coupled with the processor and corresponding to a plurality of data elements to automatically reduce the amount of data when a threshold is exceeded, wherein each of the plurality data element includes first and second parameters associated with a corresponding electronic transaction, where the first parameter comprises a fixed rate and the second parameter comprises a spread value;
determine that the amount of data exceeds the threshold and based thereon:
select at least a subset of the plurality of data elements;
calculate an adjusted first parameter as a function of the second parameter for each of the selected subset of the plurality of data elements, and identify a maximum adjusted first parameter value and minimum adjusted first parameter value;
calculate a net weighted notional amount for each of the selected subset of the plurality of data elements based on the associated adjusted first parameter;
generate first and second remnant data elements and assign the maximum adjusted first parameter value to the first remnant data element and the minimum adjusted first parameter value to the second remnant data element;
compute the notional value of the first remnant data element based on the maximum adjusted first parameter value and the minimum adjusted first parameter value;
compute the notional value of the second remnant data element as a difference of the net weighted notional and the first remnant data element;
compute, based on a pre-compression flow amount for a period of the corresponding electronic transaction and a remnant flow amount for the period, a remnant spread value for the second remnant data element to correct for loss from zero-spread-value compression applied to the plurality of data elements, the loss from the zero-spread-value compression changes an apportionment between a fixed flow and a float flow for the plurality of data elements; and
replace, in the memory, the plurality of data elements with the first and second remnant data elements.