V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
chacores
V2EX  ›  分享创造

Flask + Pandas 写了一个 TradingView 回测数据深度分析工具

  •  
  •   chacores · 20 小时 2 分钟前 · 556 次点击

    V2EX 的朋友们。

    最近在使用 tradingview ,发现 TradingView 自带的“策略测试器”虽然方便,但导出的报告在很多关键指标上还是不够细致。

    特别是对于股票市场,我需要更关注持仓周期的风险。而且 TV 的报告主要基于“平均值( Mean )”,很容易被几笔极端的运气单误导,我看不到“中位数( Median )”表现,也无法直观评估策略的鲁棒性。

    基于 Flask + Pandas + Pyecharts 撸了一个本地化的深度分析工具,专门用来清洗和分析 TradingView 导出的 CSV 数据。

    拒绝“平均值欺骗”: 原生报告只给平均盈利,加上了中位数盈利。如果平均值远大于中位数,说明策略全靠运气单死撑,实盘风险极大。

    引入蒙特卡洛模拟 (Monte Carlo Simulation) 但是现在是有 bug 的,应该是 csv 文件的局限性导致最后肯定会一样

    MAE vs MFE 交易质量分析: 绘制了最大浮盈 (MFE) 和最大浮亏 (MAE) 的散点图。一眼就能看出是“卖飞了”还是“硬扛单”。

    季节性/周期性效应: 按年份和月份聚合,计算月度回报的加权平均和中位数。

    还有正常每次开仓的间隔,也就是两次仓位之间的中位数时间

    问问论坛里的,有没有做投资的,这样的工具有用吗。 策略我是用社区的指标,用 Gemini 改的,引入 t+1 。然后 webhook 推送给我,我自己还会判断。 买了交易所的实时数据 至少我在 11 月大跌里也盈利了。 谢谢大家

    下面是图片

    1764434680968.png

    3 条回复    2025-11-30 15:52:29 +08:00
    Sawyerhou
        1
    Sawyerhou  
       13 小时 56 分钟前 via Android
    中位数几乎不看,看胜率和盈亏比。

    如果盈亏比高,那么收益主要由少量大收益交易贡献;如果胜率高,那么收益主要由大量小收益交易累积得到;如果胜率、盈亏比都低,那这个策略是亏钱的无效策略。

    平均收益是每笔交易的期望收益,可以跟交易成本比较,有实际含义;中位数收益是纯统计数据,实际交易中无法使用,没有实际含义。

    收益由少量大收益交易贡献,不代表是运气,只是策略的特点,就像做打板的,就是三年不开张,开张吃三年。不是胜率高的策略比盈亏比高的策略好,这就是为什么平均收益更常用,只要赚钱的策略就是好策略,钱怎么赚来的并不重要。

    建议先把已有的指标研究透,含义是什么,怎么用的,然后再新增自己的指标。
    labubu
        2
    labubu  
       12 小时 58 分钟前
    这个是最好的股票组合回测网站了: https://www.portfoliovisualizer.com/backtest-portfolio#analysisResults
    dominic0312
        3
    dominic0312  
       4 小时 57 分钟前
    我的经验是,主观手动交易有一定的经验再来做自动化才行,把自动化交易作为辅助手段和次要仓位, 要不然会陷入无限回测的陷阱中; 当然如果你的工作就是无限回测当我没说。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2785 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 12:50 · PVG 20:50 · LAX 04:50 · JFK 07:50
    ♥ Do have faith in what you're doing.