分享

下单函数及其参数介绍

 skybook360 2022-10-05 发布于江苏

buy函数

调用方法:

context.buy(data, size, price, plimit, exectype, valid, tradeid)

释义:

context.buy(data, size, price, plimit, exectype, valid, tradeid): 该函数用于执行买入或做多操作,不能单独使用,只能在择时函数和风控函数里面调用。

参数:

参数

含义

详细内容

data

买入的标的

可选参数,当不设置时,默认为第一个标的

size

买入的标的数量

可选参数,当不设置时,则默认为条件配置中设置的size

price

买入的价格

可选参数,当不设置时,则对于股票,默认用第二天的开盘价下单,对于期货,则默认用当天的收盘价下单;当设置为自定义的价格时,则相当于限价单或止损单

plimit

止损的价格

可选参数,默认为None,只有在下止损单时才需要设置,其他情况不需要设置该参数

exectype

订单类型

可选参数,默认为市价单,可以有以下的选择类型:

  • Order.Market:市价单
  • Order.Limit: 限价单
  • Order.Stop: 止损单
  • Order.StopLimit: 限价止损单

valid

订单有效期

可选参数,用于设置订单的有效期,可以有以下的选择类型:

  • None:默认值,即订单下单后一般都会执行,除非因为现金不够被拒单
  • datetime.datetime:订单在指定的时间之前有效,超过该时间则订单会被取消
  • datetime.date:订单在指定的日期之前有效,超过该日期则订单会被取消

tradeid

订单id

默认为0,当订单状态需要更改时,可以通过该字段通知策略进行状态更改

注意事项:

1.对于A股市场,由于要求订单必须是100股的整数倍,所以如果想尽量接近真实交易情况,用户可以自行将size设置为100的整数倍,对于其他市场,则可能没有这方面的要求

示例:

def indicators(context):
context.sma = SMA(context.data.close, period=20)

def choose_stock(context):
context.symbol_list = ["600000.XSHG"]

def timing(context):
# 当收盘价上穿移动平均线时,买入100股
if context.data.close[0] > context.sma[0] and context.data.close[-1] < context.sma[-1]:
context.buy(size=100)

sell函数

调用方法:

context.sell(data, size, price, plimit, exectype, valid, tradeid)

释义:

context.sell(data, size, price, plimit, exectype, valid, tradeid): 该函数用于执卖出或做空操作,不能单独使用,只能在择时函数和风控函数里面调用。

参数:

参数

含义

详细内容

data

卖出的标的

可选参数,当不设置时,默认为第一个标的

size

卖出的标的数量

可选参数,当不设置时,则默认为条件配置中设置的size

price

卖出的价格

可选参数,当不设置时,则对于股票,默认用第二天的开盘价下单,对于期货,则默认用当天的收盘价下单;当设置为自定义的价格时,则相当于限价单或止损单

plimit

止损的价格

可选参数,默认为None,只有在下止损单时才需要设置,其他情况不需要设置该参数

exectype

订单类型

可选参数,默认为市价单,可以有以下的选择类型:

  • Order.Market:市价单
  • Order.Limit: 限价单
  • Order.Stop: 止损单
  • Order.StopLimit: 限价止损单

valid

订单有效期

可选参数,用于设置订单的有效期,可以有以下的选择类型:

  • None:默认值,即订单下单后一般都会执行,除非因为现金不够被拒单
  • datetime.datetime:订单在指定的时间之前有效,超过该时间则订单会被取消
  • datetime.date:订单在指定的日期之前有效,超过该日期则订单会被取消

tradeid

订单id

默认为0,当订单状态需要更改时,可以通过该字段通知策略进行状态更改

注意事项:

1.对于A股市场,由于要求订单必须是100股的整数倍,所以如果想尽量接近真实交易情况,用户可以自行将size设置为100的整数倍,对于其他市场,则可能没有这方面的要求

示例:

def indicators(context):
context.sma = SMA(context.data.close, period=20)

def choose_stock(context):
context.symbol_list = ["600000.XSHG"]

def timing(context):
# 当收盘价上穿移动平均线时,买入100股
if context.data.close[0] > context.sma[0] and context.data.close[-1] < context.sma[-1]:
context.buy(size=100)
# 当收盘价下穿移动平均线时,卖出100股
elif context.data.close[0] < context.sma[0] and context.data.close[-1] > context.sma[-1]:
if context.position:
context.sell(size=100)

close函数

调用方法:

context.close(data, size)

释义:

context.close(data, size): 该函数用于平仓操作,不能单独使用,只能在择时函数和风控函数里面调用。

参数:

参数

含义

详细内容

data

平仓的标的

可选参数,当不设置时,默认为第一个标的

size

平仓的标的数量

可选参数,当不设置时,则默认为条件配置中设置的size

注意事项:

1.不管是做多还是做空,close都会以相反的方向进行平仓,在单个标的的情况下,直接用context.close()即可,如果有多个标的,则需要指定对应的标的,这时系统会默认将该标的的所有持仓都平仓,其他参数一般都不需要设置

示例:

def indicators(context):
context.sma = SMA(context.data.close, period=20)

def choose_stock(context):
context.symbol_list = ["600000.XSHG"]

def timing(context):
# 当收盘价上穿移动平均线时,买入100股
if context.data.close[0] > context.sma[0] and context.data.close[-1] < context.sma[-1]:
context.buy(size=100)
# 当收盘价下穿移动平均线时,全部平仓
elif context.data.close[0] < context.sma[0] and context.data.close[-1] > context.sma[-1]:
if context.position:
context.close()

order_target_size函数

调用方法:

context.order_target_size(data=None, target=0)

释义:

context.order_target_size(data=None, target=0): 该函数用于调仓操作,将仓位调整到目标持仓数量的仓位大小,不能单独使用,只能在择时函数和风控函数里面调用。

参数:

参数

含义

详细内容

data

调仓的标的

可选参数,当不设置时,默认为第一个标的

target

目标持仓数量

必选参数,即期望持仓的数量

注意事项:

1.当目标持仓数量大于当前已持仓数量时,则继续买入,直到达到目标持仓数量
2.当目标持仓数量小于当前已持仓的数量时,则卖出部分持仓,直到达到目标持仓数量

示例:

def indicators(context):
context.sma = SMA(context.data.close, period=20)

def choose_stock(context):
context.symbol_list = ["600000.XSHG"]

def timing(context):
# 当收盘价上穿移动平均线时,保持200持仓
if context.data.close[0] > context.sma[0] and context.data.close[-1] < context.sma[-1]:
context.order_target_size(target=200)

order_target_value函数

调用方法:

context.order_target_value(data=None, target=0.0, price=None)

释义:

context.order_target_value(data=None, target=0.0, price=None): 该函数用于调仓操作,将仓位调整到目标金额,不能单独使用,只能在择时函数和风控函数里面调用。

参数:

参数

含义

详细内容

data

调仓的标的

可选参数,当不设置时,默认为第一个标的

target

目标持仓金额

必选参数,即期望持仓的金额

price

交易价格

可选参数,当不设置时,则默认按第二天的开盘价进行调仓

注意事项:

1.当目标持仓金额大于当前已持仓金额时,则继续买入,直到达到目标持仓金额
2.当目标持仓金额小于当前已持仓金额时,则卖出部分持仓,直到达到目标持仓金额

示例:

def indicators(context):
context.sma = SMA(context.data.close, period=20)

def choose_stock(context):
context.symbol_list = ["600000.XSHG"]

def timing(context):
# 当收盘价上穿移动平均线时,保持2000持仓金额
if context.data.close[0] > context.sma[0] and context.data.close[-1] < context.sma[-1]:
context.order_target_value(target=2000)

order_target_percent函数

调用方法:

context.order_target_percent(data=None, target=0.0)

释义:

context.order_target_percent(data=None, target=0.0): 该函数用于调仓操作,将仓位调整到当前总资产的目标比例金额,不能单独使用,只能在择时函数和风控函数里面调用。

参数:

参数

含义

详细内容

data

调仓的标的

可选参数,当不设置时,默认为第一个标的

target

资产占比

必选参数,即该标的持仓金额占总资产的占比,传入小数即可

注意事项:

1.当设置target为0.05时,假设总资产是10000元,则最终会通过调仓,使得标的的持仓金额为500元

示例:

def indicators(context):
context.sma = SMA(context.data.close, period=20)

def choose_stock(context):
context.symbol_list = ["600000.XSHG"]

def timing(context):
# 当收盘价上穿移动平均线时,保持5%的资产占比
if context.data.close[0] > context.sma[0] and context.data.close[-1] < context.sma[-1]:
context.order_target_percent(target=0.05)

提示:

本公司发布内容主要是教学代码写法,不构成投资建议,投资者据此操作,风险自担。市场有风险,投资需谨慎!

  • 段落样式
    • 正文
    • 标题
    • 副标题
    • 标题1
    • 标题2
    • 标题3
    • 标题4
    • 有序列表
    • 无序列表
    • 任务列表
    • 引用
    • 代码块
  • 复制段落链接
个字
  • 复制图片
  • 剪切图片
  • 下载图片
无搜索结果
目录
  • buy函数
  • 调用方法:
  • 释义:
  • 参数:
  • 注意事项:
  • 示例:
  • sell函数
  • 调用方法:
  • 释义:
  • 参数:
  • 注意事项:
  • 示例:
  • close函数
  • 调用方法:
  • 释义:
  • 参数:
  • 注意事项:
  • 示例:
  • order_target_size函数
  • 调用方法:
  • 释义:
  • 参数:
  • 注意事项:
  • 示例:
  • order_target_value函数
  • 调用方法:
  • 释义:
  • 参数:
  • 注意事项:
  • 示例:
  • order_target_percent函数
  • 调用方法:
  • 释义:
  • 参数:
  • 注意事项:
  • 示例:

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多