def get_option_chain(self, code, start=None, end=None, option_type=OptionType.ALL, option_cond_type=OptionCondType.ALL):
        """
        通过标的股查询期权

        :param code: 股票代码,例如：'HK.02318'
        :param start: 开始日期，该日期指到期日，例如'2017-08-01'
        :param end: 结束日期（包括这一天），该日期指到期日，例如'2017-08-30'。 注意，时间范围最多30天
                start和end的组合如下：
                ==========    ==========    ========================================
                 start类型      end类型       说明
                ==========    ==========    ========================================
                 str            str           start和end分别为指定的日期
                 None           str           start为end往前30天
                 str            None          end为start往后30天
                 None           None          start为当前日期，end往后30天
                ==========    ==========    ========================================
        :param option_type: 期权类型,默认全部，全部/看涨/看跌，futuquant.common.constant.OptionType
        :param option_cond_type: 默认全部，全部/价内/价外，futuquant.common.constant.OptionCondType
        :return: (ret, data)

                ret == RET_OK 返回pd dataframe数据，数据列格式如下

                ret != RET_OK 返回错误字符串

                ==================   ===========   ==============================================================
                参数                      类型                        说明
                ==================   ===========   ==============================================================
                code                 str           股票代码
                name                 str           名字
                lot_size             int           每手数量
                stock_type           str           股票类型，参见SecurityType
                option_type          str           期权类型，Qot_Common.OptionType
                stock_owner          str           标的股
                strike_time          str           行权日（美股默认是美东时间，港股A股默认是北京时间）
                strike_price         float         行权价
                suspension           bool          是否停牌(True表示停牌)
                stock_id             int           股票id
                ==================   ===========   ==============================================================

        """

        if code is None or is_str(code) is False:
            error_str = ERROR_STR_PREFIX + "the type of code param is wrong"
            return RET_ERROR, error_str

        ret_code, msg, start, end = normalize_start_end_date(start, end, delta_days=29, default_time_end='00:00:00', prefer_end_now=False)
        if ret_code != RET_OK:
            return ret_code, msg

        query_processor = self._get_sync_query_processor(
            OptionChain.pack_req, OptionChain.unpack_rsp)
        kargs = {
            "code": code,
            "conn_id": self.get_sync_conn_id(),
            "start_date": start,
            "end_date": end,
            "option_cond_type": option_cond_type,
            "option_type": option_type
        }

        ret_code, msg, option_chain_list = query_processor(**kargs)
        if ret_code == RET_ERROR:
            return ret_code, msg

        col_list = [
            'code', 'name', 'lot_size', 'stock_type',
            'option_type', 'stock_owner', 'strike_time', 'strike_price', 'suspension',
            'stock_id'
        ]

        option_chain = pd.DataFrame(option_chain_list, columns=col_list)

        option_chain.sort_values(by=["strike_time", "strike_price"], axis=0, ascending=True, inplace=True)
        option_chain.index = range(len(option_chain))

        return RET_OK, option_chain
def get_option_chain ( self , code , start = None , end = None , option_type = OptionType . ALL , option_cond_type = OptionCondType . ALL ) : if code is None or is_str ( code ) is False : error_str = ERROR_STR_PREFIX + "the type of code param is wrong" return RET_ERROR , error_str ret_code , msg , start , end = normalize_start_end_date ( start , end , delta_days = 29 , default_time_end = '00:00:00' , prefer_end_now = False ) if ret_code != RET_OK : return ret_code , msg query_processor = self . _get_sync_query_processor ( OptionChain . pack_req , OptionChain . unpack_rsp ) kargs = { "code" : code , "conn_id" : self . get_sync_conn_id ( ) , "start_date" : start , "end_date" : end , "option_cond_type" : option_cond_type , "option_type" : option_type } ret_code , msg , option_chain_list = query_processor ( ** kargs ) if ret_code == RET_ERROR : return ret_code , msg col_list = [ 'code' , 'name' , 'lot_size' , 'stock_type' , 'option_type' , 'stock_owner' , 'strike_time' , 'strike_price' , 'suspension' , 'stock_id' ] option_chain = pd . DataFrame ( option_chain_list , columns = col_list ) option_chain . sort_values ( by = [ "strike_time" , "strike_price" ] , axis = 0 , ascending = True , inplace = True ) option_chain . index = range ( len ( option_chain ) ) return RET_OK , option_chain
通过标的股查询期权

        :param code: 股票代码,例如：'HK.02318'
        :param start: 开始日期，该日期指到期日，例如'2017-08-01'
        :param end: 结束日期（包括这一天），该日期指到期日，例如'2017-08-30'。 注意，时间范围最多30天
                start和end的组合如下：
                ==========    ==========    ========================================
                 start类型      end类型       说明
                ==========    ==========    ========================================
                 str            str           start和end分别为指定的日期
                 None           str           start为end往前30天
                 str            None          end为start往后30天
                 None           None          start为当前日期，end往后30天
                ==========    ==========    ========================================
        :param option_type: 期权类型,默认全部，全部/看涨/看跌，futuquant.common.constant.OptionType
        :param option_cond_type: 默认全部，全部/价内/价外，futuquant.common.constant.OptionCondType
        :return: (ret, data)

                ret == RET_OK 返回pd dataframe数据，数据列格式如下

                ret != RET_OK 返回错误字符串

                ==================   ===========   ==============================================================
                参数                      类型                        说明
                ==================   ===========   ==============================================================
                code                 str           股票代码
                name                 str           名字
                lot_size             int           每手数量
                stock_type           str           股票类型，参见SecurityType
                option_type          str           期权类型，Qot_Common.OptionType
                stock_owner          str           标的股
                strike_time          str           行权日（美股默认是美东时间，港股A股默认是北京时间）
                strike_price         float         行权价
                suspension           bool          是否停牌(True表示停牌)
                stock_id             int           股票id
                ==================   ===========   ==============================================================