交易成本算法

内建交易成本算法

零交易成本算法

hikyuu.trade_manage.TC_Zero()
Returns:TradeCostBase 子类实例

沪深A股交易成本算法

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

计算规则如下:

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

Parameters:
  • commission (float) – 佣金比例
  • lowestCommission (float) – 最低佣金值
  • stamptax (float) – 印花税
  • transferfee (float) – 过户费
Returns:

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股交易成本算法

Parameters:
  • commission (float) – 佣金比例
  • lowestCommission (float) – 最低佣金值
  • stamptax (float) – 印花税
  • transferfee (float) – 过户费
  • lowestTransferfee (float) – 最低过户费
Returns:

TradeCostBase 子类实例

自定义交易成本算法

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

交易算法成本基类

class hikyuu.trade_manage.TradeCostBase(name)

交易成本算法基类

name 名称
getParam(name)

获取指定的参数

Parameters:name (str) – 参数名称
Returns:参数值
Raises:out_of_range – 无此参数
setParam(name, value)

设置参数

Parameters:
  • name (str) – 参数名称
  • value (int | bool | float | string) – 参数值
Raises:

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

clone()

克隆操作

getBuyCost(datetime, stock, price, num)

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

Parameters:
  • datetime (Datetime) – 买入时刻
  • stock (Stock) – 买入对象
  • price (float) – 买入价格
  • num (size_t) – 买入数量
Returns:

交易成本记录

Return type:

CostRecord

getSellCost()

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

Parameters:
  • datetime (Datetime) – 卖出时刻
  • stock (Stock) – 卖出对象
  • price (float) – 卖出价格
  • num (size_t) – 卖出数量
Returns:

交易成本记录

Return type:

CostRecord

_clone()

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