企业微信

B与S的基本含义

股票和期货交易界面中,B代表买入,S代表卖出。B来自英文Buy,S来自英文Sell。国内券商和期货公司的交易软件,以及同花顺、东方财富、文华财经、博易大师等行情软件,统一遵循这一标识规则。交易者看到B,意味着该笔成交由买方主动发起,成交价通常为卖出价。交易者看到S,意味着该笔成交由卖方主动发起,成交价通常为买入价。

股票交易中的B与S

A股市场的分时成交明细中,每一笔成交都会标注B或S。红色B表示外盘,即主动买入。绿色S表示内盘,即主动卖出。外盘大于内盘,说明买方力量较强。内盘大于外盘,说明卖方力量较强。涨停板上的成交全部显示为B,跌停板上的成交全部显示为S。

股票K线图中,部分软件会在成交量柱上标注B和S。B柱代表该周期内主动买入量占优,S柱代表主动卖出量占优。个股盘口数据中,买一到买五挂单不会标注B或S,只有实际成交才会显示。

期货交易中的B与S

期货交易采用双向交易机制,开仓和平仓都涉及买入和卖出。开仓买入显示为B,开仓卖出显示为S。平仓时,平多显示为S,平空显示为B。期货成交明细中的B和S反映的是主动成交方向。

股票期货交易中s是买入还是b是买入

期货Tick数据中,每笔成交包含价格、手数、方向。方向字段用B或S表示。CTP接口返回的Trade数据中,Direction字段为Buy或Sell。交易者编写量化策略时,需要正确识别B和S。

量化交易中的方向判断

量化策略处理Tick数据时,不能直接使用行情软件显示的B和S。不同数据源的标识规则存在差异。部分数据源用1表示买入,-1表示卖出,0表示中性。部分数据源用B和S。交易者需要根据数据字典统一映射。


# 假设tick数据包含direction字段,值为'B'或'S'

def get_trade_direction(direction):

    if direction == 'B':

        return 1  # 主动买入

    elif direction == 'S':

        return -1  # 主动卖出

    else:

        return 0  # 中性

# 计算主动买入占比

def active_buy_ratio(ticks):

    buy_volume = sum(t['volume'] for t in ticks if t['direction'] == 'B')

    total_volume = sum(t['volume'] for t in ticks)

    if total_volume == 0:

        return 0.0

    return buy_volume / total_volume

委托与成交的差别

交易软件中的委托列表不会显示B或S,只有成交列表才会显示。委托买入不等于成交,委托卖出也不等于成交。成交明细中的B代表这笔成交的发起方是买方,S代表发起方是卖方。限价单挂在买一位置,如果被卖单主动打掉,成交记录显示为S。限价单挂在卖一位置,如果被买单主动打掉,成交记录显示为B。

常见误区

部分交易者认为B就是价格上涨,S就是价格下跌。这种理解不准确。B表示主动买入,价格可能上涨也可能下跌。S表示主动卖出,价格可能下跌也可能上涨。极端行情中,连续S成交但价格不跌,说明有资金在承接。连续B成交但价格不涨,说明有资金在抛售。

部分交易者认为外盘大于内盘就一定上涨。外盘是主动买入总量,内盘是主动卖出总量。外盘大于内盘只说明当前主动买入意愿强,不代表后续必然上涨。主力资金可以通过对倒制造虚假外盘。

实战应用

股票交易中,观察分时成交的B和S比例,可以判断当日多空力量。期货交易中,观察Tick级别的B和S,可以识别大单方向。量化策略中,将B和S作为因子输入模型,可以构建订单流策略。高频交易中,逐笔成交的B和S序列包含微观结构信息。

交易者使用Level-2数据时,可以看到逐笔委托和逐笔成交。逐笔成交中的B和S比Level-1更精确。逐笔委托中没有B和S,只有买和卖方向。将逐笔委托和逐笔成交结合,可以还原订单簿的动态变化。

不同市场的标识差异

美股市场使用绿色表示上涨,红色表示下跌,与A股相反。美股成交明细中,B和S的含义与A股一致。港股市场使用B和S标识,颜色规则与A股接近。期货市场外盘品种,如COMEX黄金、NYMEX原油,B和S的标识规则与国内期货一致。

代码实现中的注意事项

从交易所获取的原始数据,方向字段可能为空。部分交易所不提供主动成交方向,需要交易者根据成交价与买卖价的关系推断。成交价等于卖一价,判定为B。成交价等于买一价,判定为S。成交价介于买一价和卖一价之间,判定为中性。


def infer_direction(price, bid, ask):

    if price >= ask:

        return 'B'

    elif price <= bid:

        return 'S'

    else:

        return 'N'

交易者回测时,注意历史数据中的B和S是否经过复权处理。部分数据供应商在除权日会调整历史成交方向。使用未调整数据可能导致回测结果偏差。

B是买入,S是卖出。股票和期货交易中,B代表主动买入,S代表主动卖出。量化交易中,正确识别B和S是构建订单流策略的基础。交易者需要根据数据源统一映射规则,避免方向判断错误。