ptrade量化买入成本怎么算?别让手续费吃掉你的利润

企业微信

买入成本不只是成交价

很多人刚开始用ptrade跑量化,看到回测曲线漂亮就实盘冲进去。跑了一段时间发现,明明信号没变,实盘收益比回测低了一大截。问题出在成本计算上。

买入成本不是简单的一笔成交价。它至少包含四块:实际成交价格、券商佣金、过户费、滑点。这四项加起来才是你真正的持仓成本。忽略任何一项,回测和实盘之间就会裂开一道口子。

佣金和过户费怎么算进成本

券商佣金是双向收取的。买入时扣一次,卖出时再扣一次。ptrade里默认的佣金参数通常设万分之二点五,但实际费率因人而异。大资金客户能谈到万分之一甚至更低。小资金账户可能被收万三。这个数字你必须找客户经理确认清楚,写死在策略里。

ptrade量化买入成本怎么算?别让手续费吃掉你的利润

佣金还有个最低五元的门槛。买一千块钱的股票,按万二点五算只要两毛五,券商照样收五块。这个规则对小资金高频策略是致命的。每次交易成本被强行抬高到五元,一年两百五十个交易日,每天买卖一次,光佣金就干掉两千五。

过户费是沪市特有的。深市股票不收。费率是成交金额的万分之零点一。买十万块沪市股票,过户费一块钱。金额不大,但积少成多。ptrade回测时如果只跑深市股票,这个费用就漏掉了。切换到沪市标的,成本模型必须补上。

滑点才是量化最大的隐形税

滑点是你下单价格和实际成交价格之间的差值。挂单价格十块,成交出来十块零一分,这一分钱就是滑点。

滑点产生的原因很多。盘口薄,你一张大单打进去,把卖一卖二卖三全吃掉了,成交均价自然高于盘口价。行情跳动快,你信号触发到订单到达交易所,价格已经跑掉几个价位。这些在ptrade回测里默认是零。实盘里却是天天发生的事。

高频策略对滑点极其敏感。一天交易几十次,每次滑点万分之一,一年下来就是百分之二点五的收益被吃掉。很多高频策略回测年化百分之十五,实盘跑出来只有百分之八,滑点就是罪魁祸首。

ptrade里可以用set_slippage函数设置滑点模型。固定滑点设为零点零零二元,意思是每股滑两厘钱。比例滑点设为零点零零一,意思是成交金额的千分之一。具体设多少,看你交易的标的流动性。沪深三百成分股滑点小,设万分之零点五到万分之一。小盘股流动性差,设千分之一都不过分。

代码里怎么把成本写清楚

ptrade的set_commission函数用来设置佣金。四个参数分别是类型、费率、最低收费、印花税。


def initialize(context):

    set_commission(commission_type='stock',

                   commission_rate=0.00025,

                   min_commission=5,

                   tax_rate=0.001)

commission_rate=0.00025就是万二点五。min_commission=5是最低五元。tax_rate=0.001是印花税千分之一。印花税只有卖出时收,买入不收。这个参数ptrade会自动处理,买入订单不会加印花税。

过户费ptrade没有单独的参数。它被合并到佣金里一起计算。你设的commission_rate应该把过户费加进去。沪市股票实际佣金率等于券商佣金加万分之零点一。万二点五的佣金,实际要设成万二点六。

滑点用set_slippage单独设置。


set_slippage(slippage_type='Fixed', slippage_value=0.002)

Fixed是固定滑点,单位是元每股。slippage_value=0.002就是每股两厘钱。买十块钱的股票,滑点占万分之二。买五十块的股票,滑点占万分之零点四。高价股受固定滑点影响小。

比例滑点更适合高价股和低频策略。


set_slippage(slippage_type='VolumeShare', slippage_value=0.0005)

VolumeShare按成交金额比例收滑点。slippage_value=0.0005就是万分之五。买十万块股票,滑点五十块。这个模型更贴近真实市场冲击成本。

买入成本的完整计算公式

实盘买入一只股票,真实成本等于成交金额加佣金加过户费加滑点。

成交金额等于成交价乘以股数。佣金等于成交金额乘以佣金率,不足五元按五元收。过户费只沪市有,等于成交金额乘以万分之零点一。滑点等于成交金额乘以滑点率,或者固定值乘以股数。

总成本除以股数,得到每股实际买入成本。这个数字才是你策略里应该比较的基准。持仓盈亏看的是这个成本价,不是盘口成交价。

举个例子。买一万股沪市股票,成交价十块。成交金额十万。佣金按万二点五算二十五块,过户费一块,滑点按万分之五算五十块。总成本十万零七十六块。每股实际成本十块零七厘六。等股价涨到十块零一,你才刚回本。

很多量化新手回测时只看价格信号,实盘才发现盈利被成本吃掉一大块。把ptrade的成本参数调准,是策略从纸上谈兵走向真金白银的第一步。

回测里调参比实盘试错便宜得多

ptrade回测可以反复跑。把佣金从万二点五调到万三,看看策略收益变化多少。把滑点从万分之一调到千分之一,看看最大回撤扩大多少。这些测试不花一分钱。

实盘试错成本极高。一笔交易成本错了,真金白银就少了。高频策略一天几十笔,一个月下来成本偏差可能吃掉大半利润。

先确认自己的真实费率。登录券商交易软件,查历史交割单。佣金、过户费、印花税每一笔都写得清清楚楚。把数字抄下来,填进ptrade的参数里。滑点用保守估计,宁可高估不可低估。

回测跑出来的年化收益,扣除成本后还能剩百分之十以上,这个策略才值得上实盘。成本参数调不准,回测曲线再漂亮都是幻觉。

转载请注明出处:https://www.lianghuajiaoyi.top/wenzhang/ptrade-lianghua-jiaoyi-815.html