Python 创建具有特定价格百分比的新功能

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,“关闭”为

我正在处理一个外汇分类问题,需要帮助创建以下详细功能,我已经在下面分享了我的代码,还附上了一个手头问题的视觉参考图片

功能:opensimilarclose (1如果打开=关闭加或减2点,否则为0)

功能:opencloselow (1如果打开和关闭>蜡烛尺寸的90%,否则为0)

功能:openclosehigh (1如果开启和关闭均小于蜡烛尺寸的10%,否则为0)

我的代码:


您的代码中几乎没有小错误:

  • 仅当“打开-关闭”小于0.02时才进行检查,而忘记检查绝对值(如果“打开”为5,“关闭”为8,且仍然小于0.02)
  • “openclosehigh”和“opencloselow”在代码中与您所说的不同。只考虑收盘价
  • 我个人更喜欢直接与熊猫合作,而不是
    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”]…
    )。

    您的代码中几乎没有小错误:

  • 仅当“打开-关闭”小于0.02时才进行检查,而忘记检查绝对值(如果“打开”为5,“关闭”为8,且仍然小于0.02)
  • “openclosehigh”和“opencloselow”在您的代码中与您所说的假设不同。只考虑收盘价
  • 我个人更喜欢直接与熊猫合作,而不是
    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()