企业微信

只有沪深股东代码 每次至少买多少股才能成交

很多人开了证券账户,拿到沪深股东代码,兴冲冲准备下单,结果发现买100股以下根本成交不了。这不是系统卡了,而是A股交易规则在起作用。

沪深主板的硬性门槛

沪深交易所对股票买入数量有统一规定,买入必须是100股的整数倍。100股在交易术语里叫“一手”。你输入90股,委托直接被拒绝,连交易所都到不了。

只有沪深股东代码 每次至少买多少股才能成交

这个规则覆盖沪市主板和深市主板。深市还包括中小板合并后的品种,规则一致。创业板同样遵循100股起步、整数倍递增的原则。

有人问,那我账户里钱只够买50股怎么办。答案很简单,买不了。A股不允许拆碎买入。你只能等资金够100股再动手。

科创板是唯一的例外

科创板买入规则和主板不同。最低买入数量是200股,超过200股的部分可以按1股为单位递增。你可以买201股、202股,不需要凑整到300股。

这个设计是为了适应科创板的高股价特性。很多科创板股票单价几十上百元,200股起步已经是不小的资金量。允许1股递增,给资金量有限的投资者留了操作空间。

科创板同样有卖出规则。如果你持有科创板股票,卖出时不足200股的部分必须一次性全部卖出,不能拆成150股卖一次、50股再卖一次。

卖出可以零股 但不能拆分

买入有100股最低限制,卖出没有。你持有150股,可以一次性全卖,也可以先卖100股、再卖50股。零股卖出是允许的,前提是这些零股来自你持仓中的碎股。

沪深规则明确,卖出时不足100股的部分应当一次性申报卖出。你手里有170股,想卖70股留100股,这个操作不允许。70股属于零股,必须一次性处理。

这个规则对普通散户影响不大,对持有大量碎股账户的投资者需要留意。

期货和股票完全不同

股票按手交易,期货按合约交易。每个期货品种的合约乘数不同,交易单位也不一样。

螺纹钢期货一手10吨,买入最低1手,不存在买0.5手的说法。原油期货一手1000桶,黄金期货一手1000克。期货的“手”和股票的“手”含义不同,股票一手固定100股,期货一手对应的是合约规定的标的数量。

期货交易还有保证金制度。你不需要支付合约全额,只需要缴纳一定比例的保证金。螺纹钢一手保证金几千元,原油一手保证金几万元。保证金比例由交易所设定,期货公司通常会在交易所基础上加收几个点。

期货的交易单位决定了资金门槛。想做原油,账户里至少要有几万元才能开一手。想做螺纹钢,几千元就能参与。这和股票买100股需要的资金量逻辑一致,但计算方式完全不同。

程序化交易中的数量控制

写量化策略时,下单数量必须符合交易所规则。主板股票下单数量要取整到100的倍数。科创板要处理200股起步和1股递增的逻辑。

下面是一个简单的Python示例,用于计算可下单数量。


def calc_order_qty(available_cash, price, board='main'):

    if board == 'main':

        lot_size = 100

        raw_qty = int(available_cash / price / lot_size) * lot_size

        return raw_qty

    elif board == 'star':

        min_qty = 200

        raw_qty = int(available_cash / price)

        if raw_qty < min_qty:

            return 0

        return raw_qty

    return 0

cash = 50000

price = 12.5

print(calc_order_qty(cash, price, 'main'))  # 输出4000

print(calc_order_qty(cash, price, 'star'))  # 输出4000

这个函数根据板块计算可买数量。主板结果必须是100的倍数。科创板只要不低于200股,可以是非整百数。

期货程序化交易的下单数量单位是手数,必须是整数。你不可能下0.3手螺纹钢。策略里计算手数时要考虑保证金占用、合约乘数和账户可用资金。


def calc_futures_lots(available_margin, price, multiplier, margin_rate):

    margin_per_lot = price * multiplier * margin_rate

    lots = int(available_margin / margin_per_lot)

    return max(lots, 0)

margin = 100000

price = 3800

multiplier = 10

rate = 0.10

print(calc_futures_lots(margin, price, multiplier, rate))  # 输出26

这个计算显示,10万保证金在螺纹钢3800元、乘数10、保证金率10%的条件下,最多开26手。实际上还要留出风险缓冲,不能满仓开。

北交所的规则要单独记

北交所股票买入最低100股,超过100股的部分可以按1股递增。这个规则和科创板类似,但起步数量不同。北交所是100股起步,科创板是200股起步。

三个市场的买入规则总结一下。沪深主板和创业板,100股起步,100股整数倍递增。科创板,200股起步,1股递增。北交所,100股起步,1股递增。

卖出规则统一,不足100股的部分必须一次性卖出。科创板不足200股的部分必须一次性卖出。

零股产生的原因

零股通常来自三种情况。上市公司送股、配股产生的碎股。股息再投资产生的零碎份额。 older交易系统中历史遗留的不足100股的持仓。

持有零股不影响交易,但卖出时受限制。你不能单独卖50股留50股,必须把零股一次性清掉。

新开户的投资者很少遇到零股问题,因为买入时就被限制在100股整数倍。只有参与送配或继承老账户时才会碰到。

资金不足100股怎么办

账户资金买不起100股,有几个选择。买低价股,股价几块钱的股票,100股只要几百元。买ETF,部分ETF单价低,100股门槛不高。参与可转债,可转债交易单位是10张起步,门槛比股票低。

可转债申购不需要市值,中签后缴款。上市后交易按张计价,10张起买。这是资金量小的人参与市场的途径之一。

期货市场也有迷你合约。部分品种有迷你合约,合约乘数小,保证金低。但迷你合约流动性通常不如标准合约,买卖价差大,交易成本高。

搞清楚交易单位是进入市场的第一步。沪深股东代码只是通行证,真正下单时数量规则决定了你能不能成交。记住100股和200股这两个数字,主板科创板就不会下错单。