// Filter out non-price updates
openGammaRules.add(new FieldFilter(STANDARD_FIELDS_LIST));
// Standardize field names.
openGammaRules.add(new FieldNameChange("BID", MarketDataRequirementNames.BID));
openGammaRules.add(new FieldNameChange("ASK", MarketDataRequirementNames.ASK));
openGammaRules.add(new FieldNameChange("LAST_PRICE", MarketDataRequirementNames.LAST));
openGammaRules.add(new FieldNameChange("PX_SETTLE", MarketDataRequirementNames.SETTLE_PRICE));
openGammaRules.add(new FieldNameChange("VOLUME", MarketDataRequirementNames.VOLUME));
openGammaRules.add(new FieldNameChange("OPT_IMPLIED_VOLATILITY_BID_RT", MarketDataRequirementNames.BID_IMPLIED_VOLATILITY));
openGammaRules.add(new FieldNameChange("OPT_IMPLIED_VOLATILITY_ASK_RT", MarketDataRequirementNames.ASK_IMPLIED_VOLATILITY));
openGammaRules.add(new FieldNameChange("OPT_IMPLIED_VOLATILITY_LAST_RT", MarketDataRequirementNames.LAST_IMPLIED_VOLATILITY));
openGammaRules.add(new FieldNameChange("OPT_IMPLIED_VOLATILITY_MID_RT", MarketDataRequirementNames.MID_IMPLIED_VOLATILITY));
openGammaRules.add(new FieldNameChange("YLD_CNV_MID", MarketDataRequirementNames.YIELD_CONVENTION_MID));
openGammaRules.add(new FieldNameChange("YLD_YTM_MID", MarketDataRequirementNames.YIELD_YIELD_TO_MATURITY_MID));
openGammaRules.add(new FieldNameChange("PX_DIRTY_MID", MarketDataRequirementNames.DIRTY_PRICE_MID));
openGammaRules.add(new FieldNameChange("EQY_DVD_YLD_EST", MarketDataRequirementNames.DIVIDEND_YIELD));
// Calculate market value
openGammaRules.add(new MarketValueCalculator());
// Normalize the market value