A computer implemented method of reducing the size of an electronic data file, the method comprising: receiving, by a processor coupled with a non-transitory memory, the non-transitory memory containing computer-executable instructions executed by the processor, an electronic data file including one or more primary data elements; storing, by the processor, the data file in the memory; after receiving the data file, parsing, by the processor, the data file to identify the one or more primary data elements that are associated with at least two data elements; generating, by the processor, from the at least one of the one or more identified primary data elements, a plurality of supplemental data elements wherein the generating comprises devolving the one or more primary data elements into the plurality of supplemental data elements, wherein generating the plurality of supplemental data elements comprises expanding each identified primary data element into the at least two associated data elements; determining, by the processor, whether any of the plurality of supplemental data elements and any of the primary data elements offset each other, wherein each data element is associated with a financial instrument and a transaction type, wherein data elements offset each other when they are associated with the same financial instrument and opposing transaction types, wherein the data file is associated with a derivatives portfolio of a market participant, wherein an offset primary data element comprises a derivatives spread financial instrument, and wherein supplemental data elements offsetting a primary data element comprise leg financial instruments underlying the derivatives spread financial instrument; and upon determining that at least one of the plurality of supplemental data elements and at least one of the primary data elements offset each other, deleting, by the processor, from the data file, at least one of the offset supplemental data elements or primary data elements. receiving, by a processor coupled with a non-transitory memory, the non-transitory memory containing computer-executable instructions executed by the processor, an electronic data file including one or more primary data elements; storing, by the processor, the data file in the memory; after receiving the data file, parsing, by the processor, the data file to identify the one or more primary data elements that are associated with at least two data elements; generating, by the processor, from the at least one of the one or more identified primary data elements, a plurality of supplemental data elements wherein the generating comprises devolving the one or more primary data elements into the plurality of supplemental data elements, wherein generating the plurality of supplemental data elements comprises expanding each identified primary data element into the at least two associated data elements; determining, by the processor, whether any of the plurality of supplemental data elements and any of the primary data elements offset each other, wherein each data element is associated with a financial instrument and a transaction type, wherein data elements offset each other when they are associated with the same financial instrument and opposing transaction types, wherein the data file is associated with a derivatives portfolio of a market participant, wherein an offset primary data element comprises a derivatives spread financial instrument, and wherein supplemental data elements offsetting a primary data element comprise leg financial instruments underlying the derivatives spread financial instrument; and upon determining that at least one of the plurality of supplemental data elements and at least one of the primary data elements offset each other, deleting, by the processor, from the data file, at least one of the offset supplemental data elements or primary data elements.