交易成本算法

内建交易成本算法

零交易成本算法

hikyuu.trade_manage.TC_Zero()
返回:

TradeCostBase 子类实例

沪深A股交易成本算法

  • 2015年8月1日之前,上证过户费为交易数量的千分之一,不足1元,按1元计。

  • 2015年8月1日之后,上证过户费为成交金额的千分之0.02

计算规则如下:: python

1)上证交易所

买入:佣金+过户费 卖出:佣金+过户费+印花税

2)深证交易所:

买入:佣金 卖出:佣金+印花税

其中,佣金最低5元

hikyuu.trade_manage.TC_FixedA2015([commission=0.0018, lowestCommission=5.0, stamptax=0.001, transferfee=0.00002])

2015年8月1日及之后的A股交易成本算法,上证过户费改为成交金额的千分之0.02

参数:
  • commission (float) – 佣金比例

  • lowestCommission (float) – 最低佣金值

  • stamptax (float) – 印花税

  • transferfee (float) – 过户费

返回:

TradeCostBase 子类实例

hikyuu.trade_manage.TC_FixedA([commission=0.0018, lowestCommission=5.0, stamptax=0.001, transferfee=0.001, lowestTransferfee=1.0])

2015年8月1日之前的A股交易成本算法

参数:
  • commission (float) – 佣金比例

  • lowestCommission (float) – 最低佣金值

  • stamptax (float) – 印花税

  • transferfee (float) – 过户费

  • lowestTransferfee (float) – 最低过户费

返回:

TradeCostBase 子类实例

自定义交易成本算法

自定义交易成本算法接口:

  • TradeCostBase.getBuyCost() - 【必须】获取买入成本

  • TradeCostBase.getSellCost() - 【必须】获取卖出成本

  • TradeCostBase._clone() - 【必须】子类克隆接口

交易算法成本基类

class hikyuu.trade_manage.TradeCostBase(name)

交易成本算法基类

name 名称
get_param(self, name)

获取指定的参数

参数:

name (str) – 参数名称

返回:

参数值

抛出:

out_of_range – 无此参数

set_param(self, name, value)

设置参数

参数:
  • name (str) – 参数名称

  • value (int | bool | float | string) – 参数值

抛出:

logic_error – Unsupported type! 不支持的参数类型

clone(self)

克隆操作

get_buy_cost(self, datetime, stock, price, num)

【重载接口】获取买入成本

参数:
  • datetime (Datetime) – 买入时刻

  • stock (Stock) – 买入对象

  • price (float) – 买入价格

  • num (int) – 买入数量

返回:

交易成本记录

返回类型:

CostRecord

get_sell_cost(self, datetime, stock, price, num)

【重载接口】获取卖出成本

参数:
  • datetime (Datetime) – 卖出时刻

  • stock (Stock) – 卖出对象

  • price (float) – 卖出价格

  • num (int) – 卖出数量

返回:

交易成本记录

返回类型:

CostRecord

_clone(self)

【重载接口】子类克隆接口