zjmafg的知识库

如何实现一个做T的策略-新版

由zjmafg创建,最终由zjmafg 被浏览 25 用户

问题

如何实现一个做T的策略,降低已有仓位的成本。

解答

做T就是在日内对个股进行买入和卖出的变相T+0交易。但A股是T+1制度,如何能做到T+0呢,那就得预留好资金,不能全仓持股,才能做到滚动操作。通常有 如下两种方式:

  • 半仓滚动做T:每次半仓低位买入相同仓位,然后高点T出,或高点T出后再低位买回相同仓位(最常用和最简单操作方式)。
  • 日内网格策略:最经典也是市场上最主流的做T策略。网格策略就是根据设定的基准价,设定合适的网格高度,以基准价为中心,往上往下无限延伸,织出天罗地网,尽可能捕捉到绝大部分的震荡利润。

视频

https://www.bilibili.com/video/BV1RN4y1w7gE?t=9.9

策略源码

下面策略以日内网格策略为例来实现

1、策略数据获取部分

该部分主要获取指定做T股票的代码和回测时间段。可以使用输入特征(DAI SQL)模块和数据抽取(DAI)组合来实现,在输入特征(DAI SQL)模块的输入模式设置为SQL,SQL特征输入SQL语句(以平安银行000001.SZ为例):

SELECT  instrument,date, close
FROM    cn_stock_bar1m
WHERE instrument IN('000001.SZ')
ORDER BY date

在数据抽取模块(DAI)属性里设置开始时间和结束时间,因要实现做T,此处我们采用从分钟表取数,时间颗粒度设置要细些,分别设置为2021-10-01 09:00:00到2022-10-01 15:15:00。

2、策略回测逻辑部分

实现做T交易的逻辑。使用BigTrader(高性能回测) (v20)模块,主要关注初始化函数、盘前处理函数、K线处理函数。

因为采用分钟行情数据进行追踪股价变动,在盘前处理函数需要使用context.subscribe_bar(context.ins,'1m') 订阅分钟行情。

网格基准价设为昨天收盘价,网格幅度设置为以基准价为中心,往上往下延伸20%范围,1%为一格。

https://bigquant.com/codesharev2/9da16e7f-06bc-40e6-a93a-a823dc13d917

\

{link}