[ptrade交易实战] 第十三篇 股票交易函数 (2)

前言

今天要讲的是关于股票交易的函数,主要分为了三个章节来讲,感兴趣的小伙伴可以在专栏下面查看完整版的!

具体的开通渠道可以看文章末尾!

一、order_target_value —— 指定持仓市值买卖

主要是用来按照持仓市值来买卖股票的

注意事项:

1、该函数不支持逆回购交易。

2、该函数在委托股票时取整100股,委托可转债时取整10张。

3、交易场景如果limit_price字段不入参,系统会默认用行情快照数据最新价报单,假如行情快照获取失败会导致委托失败,系统会在日志中增加提醒。

4、因可能造成重复下单,因此建议在交易中谨慎使用该接口。具体原因如下:

1.柜台返回持仓数据体现当日变化(由柜台配置决定):交易场景中持仓信息同步有时滞,一般在6秒左右,假如在这6秒之内连续下单两笔或更多order_target_value委托,由于持仓市值不会瞬时更新,会造成重复下单。

2.柜台返回持仓数据体现当日变化(由柜台配置决定):第一笔委托未完全成交,如果不对第一笔做撤单再次order_target_value相同的委托目标金额,引擎不会计算包括在途的总委托数量,也会造成重复下单。

3.柜台返回持仓数据不体现当日变化(由柜台配置决定):这种情况下持仓金额只会一天同步一次,必然会造成重复下单。

针对以上几种情况,假如要在交易场景使用该接口,首先要确定券商柜台的配置,是否实时更新持仓情况,其次需要增加订单和持仓同步的管理,来配合order_target_value使用。

示例

def initialize(context):
    g.security = ['600570.SS', '000001.SZ']
    set_universe(g.security)

def handle_data(context, data):
    #买卖股票到指定价值
    order_target_value('600570.SS', 10000)

    #卖出当前所有恒生电子的股票
    if data['600570.SS']['close'] > 39:
        order_target_value('600570.SS', 0)

二、order_market —— 按市价进行委托

用于使用多种市价进行委托

注意事项:

1、支持逆回购交易。委托方向为卖出(amount必须为负数),逆回购最小申购金额为1000元(10张),因此本接口amount入参应大于等于10(10张),否则会导致委托失败。

2、不支持可转债交易。

3、该函数中market_type是必传字段,如不传入参数会出现报错。

参数

security:股票代码(str);

amount:交易数量,正数表示买入,负数表示卖出(int);

market_type:市价委托类型,上证非科创板股票支持参数1、4,上证科创板股票支持参数0、1、2、4,深证股票支持参数0、2、3、4、5,必传参数(int)

limit_price:保护限价(仅限科创板代码)(float);

0:对手方最优价格;

1:最优五档即时成交剩余转限价;

2:本方最优价格;

3:即时成交剩余撤销;

4:最优五档即时成交剩余撤销;

5:全额成交或撤单;

示例

def initialize(context):
    g.security = '600570.SS'
    set_universe(g.security)

def handle_data(context, data):
    security = g.security
    order_market(security, 100, 1)

三、ipo_stocks_order —— 新股一键申购

ipo_stocks_order(market_type=None, black_stocks=None)

主要是用来一键申购当日全部新股

注意事项:

申购黑名单的股票代码必须为申购代码,代码可以是6位数(不带尾缀),也可以带尾缀入参,比如:black_stocks='787001'或black_stocks='787001.SS'。

示例

import time
def initialize(context):
    g.security = "600570.SS"
    set_universe(g.security)
    g.flag = False

def before_trading_start(context, data):
    g.flag = False

def handle_data(context, data):
    if not g.flag:
        # 上证普通代码
        log.info("申购上证普通代码:")
        ipo_stocks_order(market_type=0)
        time.sleep(5)
        # 上证科创板代码
        log.info("申购上证科创板代码:")
        ipo_stocks_order(market_type=1)
        time.sleep(5)
        # 深证普通代码
        log.info("申购深证普通代码:")
        ipo_stocks_order(market_type=2)
        time.sleep(5)
        # 深证创业板代码
        log.info("申购深证创业板代码:")
        ipo_stocks_order(market_type=3)
        time.sleep(5)
        # 可转债代码
        log.info("申购可转债代码:")
        ipo_stocks_order(market_type=4)
        time.sleep(5)
        g.flag = True

 结语

ptrade的渠道可以通过《ptrade开通详则》来获取,感谢看到这里,如果有更多疑问欢迎在评论区支出!

  • 19
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值