提问人:tlasdjf adfADF 提问时间:11/12/2023 最后编辑:quamranatlasdjf adfADF 更新时间:11/12/2023 访问量:29
python函数,用于将股票市场收盘价标记为买入[已关闭]
python function for labelling stock market close prices as Buy [closed]
问:
我在股票市场交易中,我想在 ML 模型的“标签”列中标记点。我的模型将预测一个点是否为买入。现在,我想要一个将数据标记为购买或不购买的函数。技术很简单,如果我们在时间指数 X 中,并且在接下来的 96 时间指数中收盘价上涨了 5% 或更多,那么我们应该在该指数 X 买入,因此将其标记为买入,然后我们转移到我们发现高价的指数,然后我们再次做我们所做的直到我们结束, 如果我们没有找到一个满足该条件的元素,我们只移动“一个”元素,然后我们再次查看 96 元素(请注意,我们只移动了 1 个元素,因为我们不满足条件),但如果我们找到一个满足的元素,那么我们移动整个 96 点的窗口并重复。
我尝试了这段代码,但它只打印 96,然后不断增加 1 直到行尾,这是错误的。
def BuyFunction(df, close_col, size=96, percent=0.05):
total_rows = len(df)
labels = np.zeros(total_rows)
labels[:] = np.nan
print("Calculating labels")
row_counter = 0
while row_counter < total_rows:
flag = 0
for i in range(size):
if row_counter + i + 1 < total_rows:
if ((df[close_col][row_counter + i + 1] - df[close_col][row_counter]) / df[close_col][row_counter]) >= percent:
labels[row_counter] = 1
row_counter += size
flag = 1
break
if flag == 0:
row_counter += 1
else:
row_counter += size
print(row_counter)
return labels
DF['Label'] = BuyFunction(DF, 'close')
DF['Label'][DF['Label'] == 1.0] = 'Buy'
答: 暂无答案
评论