用 Python 把 214 笔交易拆开看:计划内 vs 临时起意,胜率差 37 个百分点

发布时间:2026/10/30 2:47:38
用 Python 把 214 笔交易拆开看:计划内 vs 临时起意,胜率差 37 个百分点 为什么要做这件事一直有个模糊的感觉临时起意的交易胜率明显低于按计划执行的交易。但感觉这东西在交易里最不值钱于是我把 214 笔成交记录导出来用 Python 跑了一遍。结论比想象中更极端分组笔数平均持仓(交易日)胜率平均每笔计划内卖出966.258%2.1%临时起意471.421%-3.4%胜率差37 个百分点单笔盈亏差5.5 个百分点。数据准备导出成交记录最少需要这些字段importpandasaspd cols[code,buy_date,sell_date,buy_price,sell_price,shares,planned]# planned: 卖出是否符合事前计划dfpd.read_csv(trades.csv,parse_dates[buy_date,sell_date])## 核心指标计算python df[ret](df.sell_price-df.buy_price)/df.buy_price df[hold](df.sell_date-df.buy_date).dt.days df[win]df.ret0defsummary(g):returnpd.Series({笔数:len(g),平均持仓:round(g.hold.mean(),1),胜率:f{g.win.mean()*100:.0f}%,平均每笔:f{g.ret.mean()*100:.1f}%,盈亏比:round(g.loc[g.win,ret].mean()/abs(g.loc[~g.win,ret].mean()),2)})print(df.groupby(planned).apply(summary,include_groupsFalse))include_groupsFalse是 pandas 2.2 的要求不加会告警。一个反直觉的发现我把临时起意的交易再按持仓时长切一刀impdf[~df.planned]imp.groupby(pd.cut(imp.hold,[0,1,3,7,100]))[win].agg([mean,count])持仓不足 1 天的那部分胜率只有14%而其中当天买入当天卖出的接近一半是被分时图吓出来的。换句话说不是你的判断变差了是决策场景变差了。把它变成可执行的东西复盘完我改了三处流程都是工程问题不是心态问题决策前置买入前必须写清触发条件、止损位、目标位、最大仓位。写不出来的不买——这是最有效的一条砍掉了 60% 的冲动单。执行自动化止损和目标位全挂条件单/预警把盘中决定这个环节整个删掉。复盘结构化盘后 20 分钟只回答一个问题——今天的动作符合规则吗“不回答为什么没赚到”。后者会诱导你去找借口前者才会改进流程。# 每天复盘只输出这一行就够了print(f规则内交易占比:{df.planned.mean()*100:.0f}% f规则内胜率:{df[df.planned].win.mean()*100:.0f}% f违规胜率:{df[~df.planned].win.mean()*100:.0f}%)## 一点想法这套分析的真正价值不在于算出58%和21%而在于把我最近状态不好这种无法证伪的说法换成了一个可以每周跟踪的数字**规则内交易占比**。 从68%提升到85%我用了大概六周。期间学到的技术分析一点没变收益结构变了。---数据为个人交易记录代码仅作方法论演示不构成任何投资建议。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询