章节4,5,6,7,8对于程序员来说没有太多听的必要,是很细致的python和api用法,基本在掌握范围内,可以关注下第8章ccxt库,ccxt是一个开源的数字货币交易框架.它封装了全世界绝大多数的交易所的交易API。
择时策略:对着趋势图选择买卖的时机。
课时45: 产生交易信号
数据准备:将原始1分钟数据通过采样减少为15分钟间隔数据,同时,去掉交易平台成立初期不置信数据。
策略选择:布林线策略
策略介绍:布林线(Boll)指标是股市技术分析的常用工具之一,通过计算股价的“标准差”,再求股的“信赖区间”。该指标在图形上画出三条线,其中上下两条线可以分别看成是股价的压力线和支撑线,而在两条线之间还有一条股价平均线,布林线指标的参数最好设为20。一般来说,股价会运行在压力线和支撑线所形成的通道中。
布林线中轨:n天收盘价的移动平均线
布林线上轨:n天收盘价的移动平均线 + 系数*n天收盘价的标准差
布林线下轨:n天收盘价的平均移动线 - 系数*n天收盘价的标准差
布林线上轨下轨包含最近n天标准差,因此其间距可以反应当前股市波动情况。
操作时机:
1.当收盘价大于上轨,开多仓,当收盘价小于中轨,平仓
2.当收盘价小于下轨,做空,当收盘价大于中轨,平仓
代码实现:
1. 计算布林线:
布林线中轨:df['median'] = df['close'](收盘价).rolling(n, min_periods=1).mean()
标准差:df['std'] = df['close'].rolling(n, min_periods=1).std(ddof=0) ddof为标准差的自由度
布林线上轨:df['upper'] = df['median'] + m * df['std']
布林线下轨:df['lower'] = df['median'] - m * df['std']
2. 找到信号
a。找到做多信号,买入,之后等待平仓信号
#买入
condition1 = df['close'] > df['upper'] #当前k线收盘价大于上轨
condition2 = df['close'].shift(1) <= df['upper'].shift(1) #之前k线收盘价小于等于上轨
df.loc[condition1 & condition2, 'signal_long'] = 1 #将满足condition1 & condition2条件行的signal_long设置为1,signal long为新增列,代表坐多信号
#平仓
condition1 = df['close'] < df['median'] #当前收盘价小于中轨
condition2 = df['close'].shift(1) >= df['median'].shift(1) #前一天收盘价大于等于中轨
df.loc[condition1 & condition2, 'signal_long'] = 0 #将满足条件的行 signal_long设置为0
b。找到做空信号,卖出,之后等待平仓信号
#卖出
condition1 = df['close'] < df['lower'] #当前k线收盘价小于下轨
condition2 = df['close'].shift(1) >= df['lower'].shift(1) #之前k线收盘价大等于下轨
df.loc[condition1 & condition2, 'signal_short'] = -11 #将满足condition1 & condition2条件行的signal_short设置为-1,signal short为新增列,代表做空信号
#平仓
condition1 = df['close'] > df['median'] #当前收盘价大于中轨
condition2 = df['close'].shift(1) <= df['median'].shift(1) #前一天收盘价小于等于中轨
c。分析开多仓和清仓两种情况的组合,合并做多做空信号
网友评论