code: def price_projection(price_data=price_data(), ex_best_offers_overrides=ex_best_offers_overrides(), virtualise=True,
                       rollover_stakes=False):
      
      args = locals()
      return {
          to_camel_case(k): v for k, v in args.items() if v is not None
      }
docs: Selection criteria of the returning price data.
      :param list price_data: PriceData filter to specify what market data we wish to receive.
      :param dict ex_best_offers_overrides: define order book depth, rollup method.
      :param bool virtualise: whether to receive virtualised prices also.
      :param bool rollover_stakes: whether to accumulate volume at each price as sum of volume at that price and all better
      prices.
  
      :returns: price data criteria for market data.
      :rtype: dict