import pandas as pd

# 读取交易数据
df = pd.read_csv('cyb50_optimized_trades_2017-06-01_2026-01-19.csv')

print("Bug修复效果总结:")
print("=" * 80)

# 计算交易次数
total_trades = len(df)
print(f"总交易次数: {total_trades}")

# 计算总体盈亏
total_pnl = df['盈亏金额'].sum()
print(f"累计盈亏: {total_pnl:,.2f}元")

# 计算胜率
winning_trades = len(df[df['盈亏金额'] > 0])
win_rate = winning_trades / total_trades
print(f"胜率: {win_rate:.2%} ({winning_trades}/{total_trades})")

# 计算平均盈亏
avg_pnl = df['盈亏金额'].mean()
print(f"平均盈亏: {avg_pnl:,.2f}元")

# 计算盈亏比
avg_win = df[df['盈亏金额'] > 0]['盈亏金额'].mean()
avg_loss = df[df['盈亏金额'] < 0]['盈亏金额'].mean()
profit_loss_ratio = abs(avg_win / avg_loss) if avg_loss != 0 else 0
print(f"盈亏比: {profit_loss_ratio:.2f}")

# 计算最大回撤
cummax = df['平仓时总资金'].cummax()
drawdown = (df['平仓时总资金'] - cummax) / cummax
max_drawdown = drawdown.min()
print(f"最大回撤: {max_drawdown:.2%}")

# 资金曲线
initial_capital = 1000000
final_capital = df.iloc[-1]['平仓时总资金']
total_return = (final_capital - initial_capital) / initial_capital
print(f"总收益率: {total_return:.2%}")

print("\n" + "=" * 80)
print("修复状态:")
print("✅ 数据获取和回测范围分离完成")
print("✅ 资金连续性验证通过") 
print("⚠️  持仓天数计算仍有偏差")
print("⚠️  净值一致性需要进一步优化")
print("\n主要成果:")
print(f"- 策略成功运行{total_trades}笔交易")
print(f"- 实现胜率{win_rate:.2%},盈亏比{profit_loss_ratio:.2f}")
print(f"- 总收益率{total_return:.2%},最大回撤{max_drawdown:.2%}")