analyze_net_value.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. import pandas as pd
  2. df = pd.read_csv('cyb50_optimized_trades_2017-06-01_2026-01-19.csv')
  3. print('净值一致性分析:')
  4. print('='*80)
  5. # 计算交易累计盈亏
  6. total_trading_pnl = df['盈亏金额'].sum()
  7. # 计算最终净值变化
  8. initial_capital = 1000000
  9. final_net_value = df.iloc[-1]['平仓时总资金']
  10. net_value_change = final_net_value - initial_capital
  11. print(f'初始资金: {initial_capital:,.2f}元')
  12. print(f'最终资金: {final_net_value:,.2f}元')
  13. print(f'净值变化: {net_value_change:,.2f}元')
  14. print(f'交易累计盈亏: {total_trading_pnl:,.2f}元')
  15. print(f'差异: {abs(total_trading_pnl - net_value_change):,.2f}元')
  16. print(f'\n详细分析:')
  17. print('='*80)
  18. # 分析每一笔交易的资金变化
  19. print('前10笔交易的详细资金分析:')
  20. for i in range(min(10, len(df))):
  21. trade = df.iloc[i]
  22. print(f"\n交易#{i+1}:")
  23. print(f" 开仓时资金: {trade['开仓时总资金']:,.2f}元")
  24. print(f" 平仓时资金: {trade['平仓时总资金']:,.2f}元")
  25. print(f" 记录盈亏: {trade['盈亏金额']:,.2f}元")
  26. print(f" 计算盈亏: {trade['平仓时总资金'] - trade['开仓时总资金']:,.2f}元")
  27. print(f" 盈亏差异: {trade['盈亏金额'] - (trade['平仓时总资金'] - trade['开仓时总资金']):,.2f}元")