hikyuu2/docs/source/trade_sys/slippage.rst
2022-11-18 00:54:08 +08:00

106 lines
2.8 KiB
ReStructuredText

.. py:currentmodule:: hikyuu.trade_sys
.. highlight:: python
移滑价差算法
============
内建移滑价差算法
----------------
.. py:function:: SP_FixedPercent([p=0.001])
固定百分比移滑价差算法,买入实际价格 = 计划买入价格 * (1 + p),卖出实际价格 = 计划卖出价格 * (1 - p)
:param float p: 偏移的固定百分比
:return: 移滑价差算法实例
.. py:function:: SP_FixedValuet([p=0.001])
固定价格移滑价差算法,买入实际价格 = 计划买入价格 + 偏移价格,卖出实际价格 = 计划卖出价格 - 偏移价格
:param float p: 偏移价格
:return: 移滑价差算法实例
自定义移滑价差算法
------------------
自定义移滑价差接口:
* :py:meth:`SlippageBase.get_real_buy_price` - 【必须】计算实际买入价格
* :py:meth:`SlippageBase.get_real_sell_price` - 【必须】计算实际卖出价格
* :py:meth:`SlippageBase._calculate` - 【必须】子类计算接口
* :py:meth:`SlippageBase._clone` - 【必须】克隆接口
* :py:meth:`SlippageBase._reset` - 【可选】重载私有变量
移滑价差算法基类
----------------
.. py:class:: SlippageBase
移滑价差算法基类
.. py:attribute:: name 名称
.. py:method:: __init__(self[, name="SlippageBase"])
初始化构造函数
:param str name: 名称
.. py:method:: get_param(self, name)
获取指定的参数
:param str name: 参数名称
:return: 参数值
:raises out_of_range: 无此参数
.. py:method:: set_param(self, name, value)
设置参数
:param str name: 参数名称
:param value: 参数值
:type value: int | bool | float | string
:raises logic_error: Unsupported type! 不支持的参数类型
.. py:method:: get_real_buy_price(self, datetime, price)
【重载接口】计算实际买入价格
:param Datetime datetime: 买入时间
:param float price: 计划买入价格
:return: 实际买入价格
:rtype: float
.. py:method:: get_real_sell_price(self, datetime, price)
【重载接口】计算实际卖出价格
:param Datetime datetime: 卖出时间
:param float price: 计划卖出价格
:return: 实际卖出价格
:rtype: float
.. py:method:: reset(self)
复位操作
.. py:method:: clone(self)
克隆操作
.. py:method:: _calculate(self)
【重载接口】子类计算接口
.. py:method:: _reset(self)
【重载接口】子类复位接口,复位内部私有变量
.. py:method:: _clone(self)
【重载接口】子类克隆接口