data_df.loc[:, "X_SMA"] = ta.sma(close=data_df.Close, length=10)
data_df.loc[:, "X_WMA"] = ta.wma(close=data_df.Close, length=10)
data_df.loc[:, "X_EMA"] = ta.ema(close=data_df.Close, length=10)
data_df.loc[:, "T_SMA"] = data_df.X_SMA < data_df.Close
data_df.loc[:, "T_WMA"] = data_df.X_WMA < data_df.Close
data_df.loc[:, "T_EMA"] = data_df.X_EMA < data_df.Close
kdj = ta.kdj(high=data_df.High, low=data_df.Low, close=data_df.Close, length=14)
data_df.loc[:, "X_WILLR"] = ta.willr(
high=data_df.High, low=data_df.Low, close=data_df.Close, length=14
)
data_df.loc[:, "X_STCK"] = kdj[kdj.columns[0]]
data_df.loc[:, "X_STCD"] = kdj[kdj.columns[1]]
data_df.loc[:, "T_WILLR"] = data_df.X_WILLR > data_df.X_WILLR.shift(1)
data_df.loc[:, "T_STCK"] = data_df.X_STCK > data_df.X_STCK.shift(1)
data_df.loc[:, "T_STCD"] = data_df.X_STCD > data_df.X_STCD.shift(1)
data_df.loc[:, "X_RSI"] = ta.rsi(close=data_df.Close, length=6)
def rsi_trend(x):
if x[0] > 70:
return False
elif x[0] < 30:
return True
else:
return x[0] > x[1]
data_df.loc[:, "T_RSI"] = pd.concat(
[data_df.X_RSI, data_df.X_RSI.shift(1)], axis=1
).apply(rsi_trend, axis=1)
data_df.loc[:, "X_CCI"] = ta.cci(
high=data_df.High, low=data_df.Low, close=data_df.Close, length=14
)
def cci_trend(x):
if x[0] > 200:
return False
elif x[0] < -200:
return True
else:
return x[0] > x[1]
data_df.loc[:, "T_CCI"] = pd.concat(
[data_df.X_CCI, data_df.X_CCI.shift(1)], axis=1
).apply(cci_trend, axis=1)
动量 > 0 ,看多
动量 <= 0,看空
data_df.loc[:, "X_MOM"] = ta.mom(close=data_df.Close, length=10)
data_df.loc[:, "T_MOM"] = data_df.X_MOM > 0
使用原始指标准确率:
使用趋势指标准确率:
看起来是有增长,趋势化资料明显减轻了Overfitting状况,明天考虑修改些指标的参数看是否会有所提升。
<<: Day16 Redis应用实战-SortedSet操作
我们学会了单张表的查询与筛选,当资料需要跨表拉取时该怎麽办呢?这时候我们就需要用到JOIN来把表与表...
资料型态 我认为知道JS值的型态非常重要 因为要先能够判断他是甚麽变数类型的资料 才能进一步地做逻辑...
-政策框架 利益相关者在制定全面而实用的政策方面发挥着重要作用。因此,必须记住,政策并非仅由管理人...
哈哈, 其实拖了很久了! 今天来把最後剩下功能给补齐,修复跟移除, 只是我在看InstallView...
雇用问题 假设你要雇用新的办公助理,而你找了一个雇用代理人去帮你推荐应聘的人,雇用代理人每天会给你推...