今天就要找一些成熟的量化策略来进行测试。
因为趋势为王,所以打算找个趋势指标进行测试。
这里要感谢下目前最火的GPT,有问必答,给了不少关于指标选择的建议哈。看了下知名的海龟策略,以20日移动平均线上穿55日均线为趋势买入信号,20日线下穿55日为卖出信号。那就简单以这个写个测试下吧。
# Create a Stratey
class TestStrategy(bt.Strategy):
params = (
('maperiod', 20), #均线参数,20日线
('maperiod2', 55), # 均线参数,55日线
('mytradersize',1000),#单次交易数量
)
#定义日志函数
def log(self, txt, dt=None):
dt = dt or self.datas[0].datetime.date(0)
print('%s, %s' % (dt.isoformat(), txt))
#初始化
def __init__(self):
# Keep a reference to the "close" line in the data[0] dataseries
self.dataclose = self.datas[0].close
# To keep track of pending orders and buy price/commission
self.order = None
self.buyprice = None
self.buycomm = None
# Add a MovingAverageSimple indicator
self.sma = bt.indicators.SimpleMovingAverage(
self.datas[0], period=self.params.maperiod)
self.sma2 = bt.indica

本文记录了使用20日与55日移动平均线的趋势策略进行量化交易测试的过程。通过tushare获取数据并利用backtrader进行回测,发现策略在把握卖点上存在不足。遇到的问题包括tushare返回数据的日期顺序问题及积分限制,以及寻求海通证券或其他券商的程序交易接口文档。
最低0.47元/天 解锁文章
615





