Python 创建具有特定价格百分比的新功能
我正在处理一个外汇分类问题,需要帮助创建以下详细功能,我已经在下面分享了我的代码,还附上了一个手头问题的视觉参考图片 功能:opensimilarclose (1如果打开=关闭加或减2点,否则为0) 功能:opencloselow (1如果打开和关闭>蜡烛尺寸的90%,否则为0) 功能:openclosehigh (1如果开启和关闭均小于蜡烛尺寸的10%,否则为0) 我的代码:Python 创建具有特定价格百分比的新功能,python,pandas,classification,feature-engineering,forex,Python,Pandas,Classification,Feature Engineering,Forex,我正在处理一个外汇分类问题,需要帮助创建以下详细功能,我已经在下面分享了我的代码,还附上了一个手头问题的视觉参考图片 功能:opensimilarclose (1如果打开=关闭加或减2点,否则为0) 功能:opencloselow (1如果打开和关闭>蜡烛尺寸的90%,否则为0) 功能:openclosehigh (1如果开启和关闭均小于蜡烛尺寸的10%,否则为0) 我的代码: 您的代码中几乎没有小错误: 仅当“打开-关闭”小于0.02时才进行检查,而忘记检查绝对值(如果“打开”为5,“关闭”为
您的代码中几乎没有小错误:
where
,因为这是不必要的-你有一个简单的条件
检查以下示例:
将熊猫作为pd导入
数据帧({“打开”:[4,3.6,7,6],“关闭”:[4.1,3.5,6.7,6.8],“高”:[4.12,3.6,7.02,6.8],“低”:[4,3.498,6.7,5.7])
df[“opensimilarclose”]=(abs(df[“Open”]-df[“Close”])0.9)和(df[“relative_Close”]>0.9)。aType(int)
df[“相对关闭”]=((df[“相对打开”]<0.1)和(df[“相对关闭”]<0.1))。aType(int)
第三行通过直接询问打开和关闭之间的绝对差值是否小于0.02来计算打开和关闭。这是一个条件,因此结果为真/假。要更改为1/0,我添加了.astype(int)
。我认为,在所有列上直接应用条件的这种格式比使用where
更方便
对于第二列和第三列,我认为先计算百分比,然后检查条件更方便。“相对打开”和“相对关闭”列包含打开/关闭的百分比,并且仅在接下来的两行中,我对这两个列都设置了条件,以填充“打开关闭下限”和“打开关闭上限”。您可以通过在所有其他列上放置
drop
或loc
来删除额外的列。您也可以将结果作为临时序列而不是额外的列(tmp_series=(df[“Close”]…
)。您的代码中几乎没有小错误:
where
,因为这是不必要的-你有一个简单的条件
检查以下示例:
将熊猫作为pd导入
数据帧({“打开”:[4,3.6,7,6],“关闭”:[4.1,3.5,6.7,6.8],“高”:[4.12,3.6,7.02,6.8],“低”:[4,3.498,6.7,5.7])
df[“opensimilarclose”]=(abs(df[“Open”]-df[“Close”])0.9)和(df[“relative_Close”]>0.9)。aType(int)
df[“相对关闭”]=((df[“相对打开”]<0.1)和(df[“相对关闭”]<0.1))。aType(int)
第三行通过直接询问打开和关闭之间的绝对差值是否小于0.02来计算打开和关闭。这是一个条件,因此结果为真/假。要更改为1/0,我添加了.astype(int)
。我认为,在所有列上直接应用条件的这种格式比使用where
更方便
对于第二列和第三列,我认为先计算百分比,然后检查条件更方便。“相对打开”和“相对关闭”列包含打开/关闭的百分比,并且仅在接下来的两行中,我对这两个列都设置了条件,以填充“打开关闭下限”和“打开关闭上限”。您可以通过在所有其他列上放置drop
或loc
来删除额外的列。您也可以将结果作为临时序列而不是额外的列(tmp_series=(df[“Close”]…
)。
您可以使用以下代码可视化蜡烛…您可以看到红色和绿色蜡烛…蜡烛的颜色由上一次关闭决定…但这里我没有使用上一次关闭
import matplotlib.pyplot as plt
import plotly.graph_objects as go
fig = go.Figure(data=[go.Candlestick(x=df.index,
open=df['Open'],
high=df['High'],
low=df['Low'],
close=df['Close'])],
layout={'height':500,'width':1000})
fig.update_layout(xaxis_rangeslider_visible=False)
fig.show()
这是行业标准。据我所知,您在上一次收盘时计算了其他功能….投资更好
您可以使用以下代码可视化蜡烛…您可以看到红色和绿色蜡烛…蜡烛的颜色由上一次关闭决定…但这里我没有使用上一次关闭
import matplotlib.pyplot as plt
import plotly.graph_objects as go
fig = go.Figure(data=[go.Candlestick(x=df.index,
open=df['Open'],
high=df['High'],
low=df['Low'],
close=df['Close'])],
layout={'height':500,'width':1000})
fig.update_layout(xaxis_rangeslider_visible=False)
fig.show()
这是行业标准。我知道你在上一次收盘时计算了其他特征……你能澄清什么是“蜡烛”和“点子”吗在所有打开/关闭/低/高值中,是否只有相关列的?10%/90%?问题是???@AlbertoCaillo需要帮助计算上述3个列columns@Roim2本例中的点数为0.02或价格-价值百分比为高-低范围您能澄清什么是“蜡烛”和“点数”吗在所有打开/关闭/低/高值中,是否只有相关列的?10%/90%?问题是???@AlbertoCaillo需要帮助计算上述3个列columns@Roim2本例中的ips为0.02或价格值百分比为高低范围谢谢@Roim,这进行了一个小的修正,我们不得不将代码交换为openclosehigh还有opencloselow。非常感谢您的见解。我更正了它,但请注意这是您在开始时要求的…谢谢@Roim,这进行了一个小的更正,我们不得不将代码交换为openclosehigh和opencloselow。非常感谢您的见解。我更正了它,但请注意这是您在开始时要求的ng。。。
import matplotlib.pyplot as plt
import plotly.graph_objects as go
fig = go.Figure(data=[go.Candlestick(x=df.index,
open=df['Open'],
high=df['High'],
low=df['Low'],
close=df['Close'])],
layout={'height':500,'width':1000})
fig.update_layout(xaxis_rangeslider_visible=False)
fig.show()