You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python实现DataFrame中基于止盈止损的交易盈亏计算

交易盈亏计算需求

现有如下DataFrame,其中Ordem列值大于0代表多头(long),小于0代表空头(short)。需新增一列,根据预设的止盈(tp)和止损(sl)参数,计算对应交易的盈亏结果。

代码示例

list_1 = [26.66, 26.7, 26.72, 26.73, 26.74, 26.88, 26.63, 26.56, 26.51, 26.55, 26.54, 26.5, 26.52, 26.59, 26.43, 26.46, 
          26.54, 26.51, 26.54, 26.5, 26.51, 26.47, 26.48, 26.41, 26.4, 26.37]
list_2 = [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0]


df = pd.DataFrame({
    'close': list_1,
    'Ordem': list_2})

sl = 0.02
tp = 0.03


# long
if df['Ordem'] > 0: = x
    # take profit
    if df['Close']> x+tp:
        return df['Close'] - x
    # stop loss
    else df['Close']< x-sl:
        return df['Close'] - x    
or

# short
if df['Ordem'] < 0: = y
    # take profit
    if df['Close']< y-tp:
        return y - df['Close']
    # stop loss
    else df['Close']>y+sl:
        return y - df['Close']

思路说明

  • 多头交易:当close价格超过入场价+tp时获利平仓,低于入场价-sl时止损平仓
  • 空头交易:当close价格低于入场价-tp时获利平仓,高于入场价+sl时止损平仓

内容的提问来源于stack exchange,提问作者Wagner B.A

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 07:35:20