docs: def reqMktData(
              self, contract: Contract, genericTickList: str = '',
              snapshot: bool = False, regulatorySnapshot: bool = False,
              mktDataOptions: List[TagValue] = None) -> Ticker:
          """
          Subscribe to tick data or request a snapshot.
          Returns the Ticker that holds the market data. The ticker will
          initially be empty and gradually (after a couple of seconds)
          be filled.
  
          https://interactivebrokers.github.io/tws-api/md_request.html
  
          Args:
              contract: Contract of interest.
              genericTickList: Comma separated IDs of desired
                  generic ticks that will cause corresponding Ticker fields
                  to be filled:
  
                  =====  ================================================
                  ID     Ticker fields
                  =====  ================================================
                  100    ``putVolume``, ``callVolume`` (for options)
                  101    ``putOpenInterest``, ``callOpenInterest`` (for options)
                  104    ``histVolatility`` (for options)
                  105    ``avOptionVolume`` (for options)
                  106    ``impliedVolatility`` (for options)
                  162    ``indexFuturePremium``
                  165    ``low13week``, ``high13week``, ``low26week``,
                         ``high26week``, ``low52week``, ``high52week``,
                         ``avVolume``
                  221    ``markPrice``
                  233    ``last``, ``lastSize``, ``rtVolume``, ``vwap``
                         (Time & Sales)
                  236    ``shortableShares``
                  258    ``fundamentalRatios`` (of type
                         :class:`ib_insync.objects.FundamentalRatios`)
                  293    ``tradeCount``
                  294    ``tradeRate``
                  295    ``volumeRate``
                  411    ``rtHistVolatility``
                  456    ``dividends`` (of type
                         :class:`ib_insync.objects.Dividends`)
                  588    ``futuresOpenInterest``
                  =====  ================================================
  
              snapshot: If True then request a one-time snapshot, otherwise
                  subscribe to a stream of realtime tick data.
              regulatorySnapshot: Request NBBO snapshot (may incur a fee).
              mktDataOptions: Unknown
          """
          reqId = self.client.getReqId()
          ticker = self.wrapper.startTicker(reqId, contract, 'mktData')
          self.client.reqMktData(
              reqId, contract, genericTickList, snapshot,
              regulatorySnapshot, mktDataOptions)
          return ticker