Python实现布林带策略

布林带策略

原理

这个策略的原理很简单,就是当股价突破你的上轨线时,则卖出;当股价突破你的下轨线,则买入。中轨线为周期内均值线。但是此策略不适合单独使用,若股票最近涨停或者跌停,很快就会突破你的上下轨线。且多次涨停或跌停,会造成方差过大,上下轨线的区间过大。

实现策略

中轨线一般是周期内的均值(一般是20日),可以是收盘价的均值,也可以日最高点,日最低价来计算均值。此处我采用收盘价均值。上轨线为均值加上固定倍数的标准差,下轨线为均值减去固定倍数的标准差。固定倍数一般取2。也可以是其他值。Python实现主要从tushare获取数据,由于我的pro版本积分不够,所以普通版本和Pro版本混合使用。

import pandas as pd
import tushare as ts
import numpy as np
import matplotlib.pyplot as plt
import datetime
##日期这里我很懒直接自动获取的30日内的所有交易日数据,差不多20日吧
end_date=(datetime.datetime.today()+datetime.timedelta(days=-1)).strftime("%Y-%m-%d")
start_date=(datetime.datetime.today()+datetime.timedelta(days=-30)).strftime("%Y-%m-%d")
##布林带策略函数
def boll_brand(df,n):
    data=ts.get_today_all()
    codes=data['code']
    res=[]
    ups=[]
    downs=[]
    means=[]
    for code in codes:
        mean=df[df['code']==code]['close'].mean()
        std=df[df['code']==code]['close'].std()
        up=mean+n*std
        down=mean-n*std
        ups.append(up)
        downs.append(down)
        means.append(mean)
        if data[data['code']==code]['trade'].values[-1]>up:
            res.append(1)
        elif data[data['code']==code]['trade'].values[-1]<down:
            res.append(0)
        else:
            res.append(-1)
    data['boll_brand']=res
    data['up']=ups
    data['down']=downs
    data['mean']=means
    return data
pro=ts.pro_api('输入自己的pro版本的暗号呀')
data = pro.stock_basic()
#data.rename(columns={'symbol':'code'}, inplace = True)
##获取20日股票数据
df=pd.DataFrame()
for codes in data[u'symbol']:
    df_1=ts.get_k_data(codes,start=start_date,end=end_date)
    df=df.append(df_1)
df.head()
#获取2被方差的布林带策略的上下轨线值,判断是否买入和卖出
data=boll_brand(df,2)
#data[data['boll_brand']==0]

我的代码真的很懒很简单,此策略真的不适合那种涨停好几天的股票呀。要多种策略结合使用。

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
海龟策略是一种基于技术分析的交易策略,它通过追随市场趋势进行交易,具有较强的适应性和风险控制能力。在Python中,可以使用多种工具和库来实现完整的海龟策略。 首先,我们需要使用Python中的数据获取库,如pandas_datareader,来获取股票或期货的历史行情数据。通过这些数据,我们可以分析和判断市场的趋势。 接下来,我们可以使用技术分析库,如TA-Lib,来计算一些常用的技术指标,如移动平均线、林带等。这些指标可以帮助我们识别市场的趋势和价格的超买超卖情况。 然后,我们可以根据海龟策略的规则来制定交易规则。海龟策略的核心是根据市场的趋势进行买入和卖出操作。具体的规则包括,当价格穿越移动平均线向上时,买入;当价格穿越移动平均线向下时,卖出。此外,还可以设置止损和止盈的条件来控制风险。 最后,我们需要编写一个回测框架来模拟和评估海龟策略的表现。回测框架可以记录每次交易的详细信息,包括交易的时间、价格、交易量等。通过回测框架,我们可以评估策略的盈亏情况、胜率和风险回报比等指标,进而对策略进行优化和调整。 总结起来,Python实现完整的海龟策略主要包括数据获取、技术分析、交易规则制定和回测框架等几个步骤。通过使用Python的相关库和工具,我们可以实现一个简单但有效的海龟策略,并进行策略的回测和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值