def from_dict(data, ctx):
        """
        Instantiate a new GuaranteedStopLossOrderLevelRestriction from a dict
        (generally from loading a JSON response). The data used to instantiate
        the GuaranteedStopLossOrderLevelRestriction is a shallow copy of the
        dict passed in, with any complex child types instantiated
        appropriately.
        """

        data = data.copy()

        if data.get('volume') is not None:
            data['volume'] = ctx.convert_decimal_number(
                data.get('volume')
            )

        if data.get('priceRange') is not None:
            data['priceRange'] = ctx.convert_decimal_number(
                data.get('priceRange')
            )

        return GuaranteedStopLossOrderLevelRestriction(**data)