任何大年夜的决定计划其实都是由很多看极起来极不起眼的小事构成的,如不雅我们是做比特币日内的交易者,起首你须要断定今天适不合适做交易,做出这个断定的根据里有一条等于今天的波动须要足够大年夜,下面经由过程机械进修技巧演示若何决定计划今天的波动是否足够大年夜。
备注:因为abupy中内置沙盒数据没有分时的数据,所以本示例应用日线数据做为分析对象,实际策略中应当应用的是分钟数据
- y_prob[-10:]
起首切割练习集和测试集,保存最后60天走势数据做为测试集数据:
- btc_train_raw = btc[:-60]
- btc_test_raw = btc[-60:]
下面为练习集和测试集数据都加上5,10,21,60日均线特点:
- def calc_ma(tc, ma):
- ma_key = 'ma{}'.format(ma)
- tc[ma_key] = nd.ma.calc_ma_from_prices(tc.close, ma, min_periods=1)
- for ma in [5, 10, 21, 60]:
- calc_ma(btc_train_raw, ma)
- calc_ma(btc_test_raw, ma)
- btc_train_raw.tail(1)
编写特点采取组合函数btc_siblings_df:
- 它起首将所有交易日以3个为一组,切割成多个子df,即每一个子df中有3个交易日的交易数据
- 应用数据标准化将持续3天交易日中的持续数值特点进行标准化操作
- 采取第一天,第二天的大年夜多半特点分别改名字以one,two为特点前缀,如:one_open,one_close,two_ma5,two_high…..,
- 第三天的特点只应用’open’, ‘low’, ‘pre_close’, ‘date_week’,该名前缀today,如today_open,today_date_week
- 第三天的采取了’big_wave’,其将在之后做为y
- 将采取改名字后的特点连接起来组合成为一条新数据,即3天的交易数据特点->1条新的数据
代码如下所示:
- def btc_siblings_df(btc_raw):
- # 将所有交易日以3个为一组,切割成多个子df,即每一个子df中有3个交易日的交易数据
- btc_siblings = [btc_raw.ix[sib_ind * 3:(sib_ind + 1) * 3, :]
- for sib_ind in np.arange(0, int(btc_raw.shape[0] / 3))]
- btc_df = pd.DataFrame()
- for sib_btc in btc_siblings:
- # 应用数据标准化将持续3天交易日中的持续数值特点进行标准化操作
- sib_btc_scale = ABuScalerUtil.scaler_std(
- sib_btc.filter(['open', 'close', 'high', 'low', 'volume', 'pre_close',
推荐阅读
瞬息万变的经济情况、难以捉摸的零售业发卖情况、日益冷僻典大年夜型卖场–这一切都给本土零售业带来了重重艰苦。然则,我们也在黑阴郁看到了一线曙光。进入数字时代,技巧和数据的有>>>详细阅读
本文标题:关于机器学习与比特币的示例
地址:http://www.17bianji.com/lsqh/37053.html
1/2 1