今天就要找一些成熟的量化策略来进行测试。
因为趋势为王,所以打算找个趋势指标进行测试。
这里要感谢下目前最火的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