Python量化交易实战

您所在的位置:网站首页 股票如何看均线进行买卖交易 Python量化交易实战

Python量化交易实战

2024-07-10 10:57| 来源: 网络整理| 查看: 265

B站配套视频教程观看 使用PyAlgoTrade回测双均线策略

双均线策略:长短周期均线,通过金叉,死叉的方式买入卖出股票,获取收益的策略。

回顾上节课代码的部分,上节课完成了可视化代码的部分, 主要使用PyAlgoTrade的plotter模块,对SMA的数据,Simple Returns的数据进行了可视化,我们也利用了returns这个类来获取收益,然后将实例化的returns类去赋予给mystrategy。

你会发现,所有的核心就是:我计算出来的数据,将这个数据作为mystrategy的属性,这样就可以在mystrategy里面给各个函数使用了。

现在是单均线,如果我要使用双均线应该怎么实现呢?

一、实操找到最优质双均线

创建变量 修改构造函数:

class MyStrategy(strategy.BacktestingStrategy): def __init__(self, feed, instrument, smaPeriod1, smaPeriod2): super(MyStrategy, self).__init__(feed, 10000) self.__position = None self.__instrument = instrument # # We'll use adjusted close values instead of regular close values. # self.setUseAdjustedValues(True) self.__sma1 = ma.SMA(feed[instrument].getPriceDataSeries(), smaPeriod1) self.__sma2 = ma.SMA(feed[instrument].getPriceDataSeries(), smaPeriod2)

设置2个返回值函数:

def getSMA1(self): return self.__sma1 def getSMA2(self): return self.__sma2

修改策略:

def onBars(self, bars): # Wait for enough bars to be available to calculate a SMA. if self.__sma2[-1] is None: return bar = bars[self.__instrument] # If a position was not opened, check if we should enter a long position. if self.__position is None: #短期均价>长期均价 买入 if self.__sma1[-1] > self.__sma2[-1]: # Enter a buy market order for 10 shares. The order is good till canceled. self.__position = self.enterLong(self.__instrument, 100, True) # 短期均价


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3