如何实现一个做T的策略-新版
由zjmafg创建,最终由zjmafg 被浏览 40 用户
问题
如何实现一个做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
\