正文

网格交易策略--动荡的股市下的稳定交易策略之一

(2021-06-03 11:14:23) 下一个

?股市交易的策略和农作物生长一样:需要在合适的股票,合适的时间,选择合适的策略,然后获取最大收益。

1.什么是网格交易策略

什么网格交易策略,我们来看一张图片,如下图:

下图是加密币的FIL/BTC交易

网格交易策略,简单来讲,就是我们将价格设定一个区间,然后分成很多个网格,然后根据网格进行买卖获利。

2.什么时候适合使用网格交易策略
前面讲了,合适的股票在合适的时机使用合适的策略,就能获取最大利润。那么网格策略在什么时候可以使用呢?

网格策略最合适的使用时机在股价盘整的时候,也适合大盘动荡不停的洗盘的时候。如下图所示:

3.什么时候不适合使用网格交易策略

对于单边走势股票,不适合使用此策略,单边走势,也是该策略失效的时候。

比如股价如下走势,不停的下跌趋势,不适合使用网格策略。

如下图股价往上走势,不停的向上趋势,不适合使用网格策略。

4.如何设置股票的网格交易策略

明白了上述网格交易策略的使用时机,那就是对于网格交易的设置使用了。网格的设置主要有两种方法:

  1. 均价网格,比如AAPL今天股价是125,动荡区间是110-140之间,我们希望每格利润为2美金,那么一共就有15个网格,每2美金进行一次交易。

  2. 支撑位和压力位网格

    对于这个,首先得明白支撑位和压力位分别是多少?比如AAPL今天股价是125,动荡区间是110-140,之间分别有114,118,122,126,128,133,138作为压力位,112,116,120,122,124,130,132作为支撑位,我们可以设置为支撑位买入,压力位卖出。

可能大家会说,股票不能做到自动交易,为了在股票中实现网格交易策略,可以进行限价交易就可以了。

第一步:建仓,合适的价位建仓

第二步:建立网格

第三步:设置限价单

然后就只等盈利了。

5.如何实现网格交易的机器交易

如果你懂一点python语言,而且你能注册给你自己交易权限的账户,那么你可以自己写一个网格交易的策略,比如Robinhood就可以获得交易权限。

下面的例子是一个关于加密币交易的网格策略,可以修改后用在股票交易,并进行回测。

pip install backtraderimport backtrader as bt?import pandas as pdimport numpy as np?class GridStrategy(bt.Strategy):?    def __init__(self):        self.highest = bt.indicators.Highest(self.data.high, period=1440, subplot=False)        self.lowest = bt.indicators.Lowest(self.data.low, period=1440, subplot=False)        mid = (self.highest + self.lowest)/2        perc_levels = [x for x in np.arange(            1 + 0.005 * 5, 1 - 0.005 * 5 - 0.005/2, -0.005)]        self.price_levels = [mid * x for x in perc_levels]        self.last_price_index = None?    def next(self):        if self.last_price_index == None:            for i in range(len(self.price_levels)):                if self.data.close > self.price_levels[i]:                    self.last_price_index = i                    self.order_target_percent(                        target=i/(len(self.price_levels) - 1))                    return        else:            signal = False            while True:                upper = None                lower = None                if self.last_price_index > 0:                    upper = self.price_levels[self.last_price_index - 1]                if self.last_price_index < len(self.price_levels) - 1:                    lower = self.price_levels[self.last_price_index + 1]                # 还不是最轻仓,继续涨,就再卖一档                if upper != None and self.data.close > upper:                    self.last_price_index = self.last_price_index - 1                    signal = True                    continue                # 还不是最重仓,继续跌,再买一档                if lower != None and self.data.close < lower:                    self.last_price_index = self.last_price_index + 1                    signal = True                    continue                break            if signal:                self.long_short = None                self.order_target_percent(                    target=self.last_price_index/(len(self.price_levels) - 1))?if __name__ == '__main__':    # 创建引擎    cerebro = bt.Cerebro()?    # 加入网格策略    cerebro.addstrategy(GridStrategy)?    # 导入数据    df = pd.read_csv('./binance-segment.csv', parse_dates=['time'])    data = bt.feeds.PandasData(dataname=df,        timeframe=bt.TimeFrame.Minutes,        datetime='time',        open='open',        high='high',        low='low',        close='close',        volume='volume',        openinterest=-1)?    cerebro.adddata(data)?    # 设置起始资金    cerebro.broker.setcash(100000.0)?    # 设定对比指数    cerebro.addanalyzer(bt.analyzers.TimeReturn, timeframe=bt.TimeFrame.Years,        data=data, _name='benchmark')?    # 策略收益    cerebro.addanalyzer(bt.analyzers.TimeReturn, timeframe=bt.TimeFrame.Years, _name='portfolio')?    start_value = cerebro.broker.getvalue()    print('Starting Portfolio Value: %.2f' % start_value)?    # Run over everything    results = cerebro.run()?    strat0 = results[0]    tret_analyzer = strat0.analyzers.getbyname('portfolio')    print('Portfolio Return:', tret_analyzer.get_analysis())    tdata_analyzer = strat0.analyzers.getbyname('benchmark')    print('Benchmark Return:', tdata_analyzer.get_analysis())?    # 画图    cerebro.plot(style='candle', barup='green')?

 

希望以上策略能对你的股票交易有所启示,更多美股交易资讯,请关注我的微信公众号!

 

 

[ 打印 ]
阅读 ()评论 (0)
评论
目前还没有任何评论
登录后才可评论.