当前位置:首页>python>用 Python 拆解交易中的统计陷阱:10 张图背后的量化逻辑

用 Python 拆解交易中的统计陷阱:10 张图背后的量化逻辑

  • 2026-03-26 10:41:18
用 Python 拆解交易中的统计陷阱:10 张图背后的量化逻辑

2026年重磅升级已全面落地!欢迎加入专注财经数据与量化投研的【数据科学实战】知识星球!您将获取持续更新的《财经数据宝典》与《量化投研宝典》,双典协同提供系统化指引;星球内含300篇以上独有高质量文章,深度覆盖策略开发、因子分析、风险管理等核心领域,内容基本每日更新;同步推出的「量化因子专题教程」系列(含完整可运行代码与实战案例),系统详解因子构建、回测与优化全流程,并实现日更迭代。我们持续扩充独家内容资源,全方位赋能您的投研效率与专业成长。无论您是量化新手还是资深研究者,这里都是助您少走弯路、事半功倍的理想伙伴,携手共探数据驱动的投资未来!

引言

最近读到一篇来自 Sentient Trading Society 的文章,作者从 70 多张图表中精选出 10 张最具教学价值的交易图表,涵盖了策略工程、执行心理、市场微观结构和概率统计等核心主题。

这篇文章的精华不在于"怎么赚钱",而在于用结构化思维拆解交易中的认知陷阱。对于学习 Python 的同学来说,这些概念背后的统计模拟、数据可视化、概率建模,恰恰是绝佳的练手素材。

本文将带你梳理原文的核心观点,并用 Python 代码复现其中最有价值的几个图表和模型。


一、策略工程的三步流程:从假设到规则

原文提出了一个"演绎推理模型",强调策略设计应遵循三个步骤:

  1. 1. 泛化(Generalisation):先提出假设——什么应该有效,以及为什么有效。
  2. 2. 客观研究验证(Objective Research Check):用稳健的、可复制的研究证据来验证假设。
  3. 3. 设计入场规则(Design Entries):将验证过的想法翻译成机制驱动的入场规则,而非依赖数据拟合。

核心思想是:先有逻辑和证据,再有规则,而不是从过拟合的回测中反推信念。这对 Python 量化开发者的启示是——在写回测代码之前,先想清楚你的交易假设是什么。


二、"一致性焦虑漏斗":追求一致性反而制造不稳定

原文用一个漏斗图描述了一个常见的心理陷阱:

  • • 信念层:「我必须保持一致」
  • • 行为层:过度过滤信号、频繁切换策略
  • • 执行层:犹豫不决、错过交易
  • • 结果层:焦虑 + 优势侵蚀

关键洞察:在小样本上追求"一致的收益分布",往往会制造出你正试图避免的不稳定性。真正该追求的是一致的执行,而非一致的结果。


三、干预螺旋:微调如何摧毁你的样本

原文的"干预螺旋"(Interference Spiral)揭示了一个恶性循环:

未经验证的信任 → 不确定性 → 微调执行 → 样本失真 → 结果变差 → 信任崩塌 → 回到起点

一旦你在缺乏充分证据的情况下开始随意修改策略参数,你的回测样本就不再代表你的策略了。样本一旦被破坏,你就失去了评估策略的唯一客观依据。


四、拍卖框架与价格结构

原文介绍了两个市场微观结构的概念:

  • • 拍卖框架(Auction Framework):区分"未完成的拍卖"和"已完成的拍卖(再平衡)",在拍卖结构内部寻找高效入场点。
  • • Swing Point 标注:通过编号蜡烛图标记基准区(Base)、初始突破(Imbalance)和局部极值(Extreme),使价格结构的分析变得客观、可测试。

五、Prop Firm 的一致性规则:用 Python 模拟 40% 和 20% 规则

这是原文中最具量化价值的部分。许多自营交易公司(Prop Firm)设有"一致性规则":

  • • 40% 规则:最佳单日盈利不能超过总利润的 40%。也就是说,如果你最好的一天赚了 10000 美元,你的总利润必须达到 25000 美元以上才能提款。
  • • 20% 规则:更严格——最佳单日盈利不能超过总利润的 20%,即总利润必须达到 50000 美元以上。

关键洞察:这类规则天然不利于高风险回报比(RRR)、低胜率的策略。RRR 越高,单日大赚的概率越大,就越容易被规则卡住。

下面用 Python 来可视化这个约束:

import matplotlib.pyplot as pltimport numpy as np# 设置中文字体(如有需要可替换为系统中的中文字体)plt.rcParams['font.sans-serif'] = ['SimHei', 'Arial Unicode MS']plt.rcParams['axes.unicode_minus'] = False# 总利润范围total_profit = np.linspace(0, 25000, 500)# 40% 规则的边界线:最佳单日 = 总利润 * 0.4boundary_40 = total_profit * 0.4fig, ax = plt.subplots(figsize=(10, 6))# 绘制 40% 规则边界ax.plot(total_profit, boundary_40, 'k-', linewidth=2, label='40% 规则边界')# 填充被封锁的区域(最佳单日超过 40%)ax.fill_between(total_profit, boundary_40, 9000,                alpha=0.2, color='gray', label='提款被封锁区域')# 标注一个被封锁的案例ax.plot(10100, 4200, 'ko', markersize=8)ax.annotate('被封锁\n总利润 $10,100\n最佳单日 $4,200\n占比 41.6%',            xy=(10100, 4200), xytext=(5000, 6000),            arrowprops=dict(arrowstyle='->', color='red'),            fontsize=9, color='red')# 标注一个合规的案例ax.plot(10100, 4000, 's', color='green', markersize=8)ax.annotate('合规\n总利润 $10,100\n最佳单日 $4,000\n占比 39.6%',            xy=(10100, 4000), xytext=(2000, 2000),            arrowprops=dict(arrowstyle='->', color='green'),            fontsize=9, color='green')ax.set_xlabel('总利润(美元)')ax.set_ylabel('最佳单日利润(美元)')ax.set_title('Prop Firm 40% 一致性规则的约束效果')ax.legend()ax.set_xlim(0, 25000)ax.set_ylim(0, 9000)plt.tight_layout()plt.show()

这段代码会生成一张散点 + 区域图,直观展示 40% 规则如何在你已经达到目标利润时,仍然封锁你的提款请求。


六、零售交易者的结局分布:用 Python 模拟

原文基于英国 FCA 的 DP25/3 数据模拟了零售交易者的收益分布,结论是:

  • • 亏损者:约 80%
  • • 盈亏平衡:约 10%
  • • 盈利但不稳定:约 5%
  • • 持续盈利:约 5%

下面用 Python 复现这个分布图:

import numpy as npimport matplotlib.pyplot as pltfrom scipy.stats import norm# 生成标准化年度收益的 z 分数x = np.linspace(-4, 4, 1000)y = norm.pdf(x)fig, ax = plt.subplots(figsize=(12, 6))# 亏损区域(z < 0.8,对应约 80%)mask_losing = x < 0.84ax.fill_between(x[mask_losing], y[mask_losing],                alpha=0.4, color='steelblue', label='亏损(约 80%)')# 盈亏平衡区域mask_breakeven = (x >= 0.84) & (x < 1.28)ax.fill_between(x[mask_breakeven], y[mask_breakeven],                alpha=0.4, color='orange', label='盈亏平衡(约 10%)')# 盈利但不稳定mask_profit_inconsistent = (x >= 1.28) & (x < 1.65)ax.fill_between(x[mask_profit_inconsistent], y[mask_profit_inconsistent],                alpha=0.4, color='green', label='盈利但不稳定(约 5%)')# 持续盈利mask_consistent = x >= 1.65ax.fill_between(x[mask_consistent], y[mask_consistent],                alpha=0.5, color='crimson', label='持续盈利(约 5%)')ax.plot(x, y, 'k-', linewidth=1.5)ax.set_xlabel('标准化年度收益(z 分数)')ax.set_ylabel('密度')ax.set_title('零售交易者收益分布模拟(基于 FCA DP25/3 数据)')ax.legend(loc='upper left')plt.tight_layout()plt.show()

关键洞察:盈利的右尾极其稀薄。要进入那 5% 的持续盈利区域,流程质量必须极其优秀,策略中不能有明显的薄弱环节。


七、胜率与连败:用蒙特卡洛模拟揭示残酷的现实

原文展示了一张非常震撼的图:在 200 笔交易的样本中,不同胜率对应的最长连败次数(中位数 vs 第 90 百分位数)。

例如,一个 40% 胜率的策略,中位数最长连败约为 9 笔,而在 10% 的极端情况下,连败可能长达 12 笔。而这完全是统计特征,与策略本身是否有效无关。

下面用蒙特卡洛方法来模拟:

import numpy as npimport matplotlib.pyplot as pltdef simulate_max_losing_streak(win_rate, n_trades=200, n_simulations=10000):    """    蒙特卡洛模拟:给定胜率,计算 n_trades 笔交易中最长连败的分布。    参数:        win_rate: 胜率(0 到 1 之间)        n_trades: 每次模拟的交易笔数        n_simulations: 模拟次数    返回:        中位数最长连败、第 90 百分位最长连败    """    max_streaks = []    for _ in range(n_simulations):        # 生成交易结果:1 = 盈利,0 = 亏损        trades = np.random.binomial(1, win_rate, n_trades)        # 计算最长连败        max_streak = 0        current_streak = 0        for trade in trades:            if trade == 0:  # 亏损                current_streak += 1                max_streak = max(max_streak, current_streak)            else:                current_streak = 0        max_streaks.append(max_streak)    return np.median(max_streaks), np.percentile(max_streaks, 90)# 测试不同胜率win_rates = [0.25, 0.30, 0.35, 0.40, 0.45, 0.50, 0.55, 0.60, 0.65]medians = []p90s = []for wr in win_rates:    med, p90 = simulate_max_losing_streak(wr)    medians.append(med)    p90s.append(p90)    print(f"胜率 {wr*100:.0f}%:中位数连败 = {med:.1f},P90 连败 = {p90:.1f}")# 绘图fig, ax = plt.subplots(figsize=(10, 6))ax.plot([wr * 100 for wr in win_rates], medians,        'o-', color='steelblue', linewidth=2, label='中位数')ax.plot([wr * 100 for wr in win_rates], p90s,        'o-', color='darkorange', linewidth=2, label='第 90 百分位')ax.set_xlabel('胜率(%)')ax.set_ylabel('最长连败笔数')ax.set_title('200 笔交易中最长连败 vs 胜率(蒙特卡洛模拟)')ax.legend()ax.grid(True, alpha=0.3)plt.tight_layout()plt.show()

运行结果示例:

胜率 25%:中位数连败 = 14.0,P90 连败 = 21.0胜率 30%:中位数连败 = 11.0,P90 连败 = 17.0胜率 35%:中位数连败 = 10.0,P90 连败 = 14.0胜率 40%:中位数连败 = 9.0,P90 连败 = 12.0胜率 45%:中位数连败 = 8.0,P90 连败 = 12.0胜率 50%:中位数连败 = 7.0,P90 连败 = 10.0胜率 55%:中位数连败 = 6.0,P90 连败 = 8.0胜率 60%:中位数连败 = 5.0,P90 连败 = 7.0胜率 65%:中位数连败 = 4.0,P90 连败 = 6.0

关键洞察:连败是胜率的统计特征,不是策略失效的信号。你需要围绕这个分布来规划心理承受力和风险管理。


八、OTC 市场的价格聚合:理解你看到的报价

原文用一个简化的 FX 聚合图解释了外汇经纪商的报价机制:多家流动性提供商(LP)分别报出买价和卖价,经纪商从中选择最优买价和最优卖价组合成你看到的报价。

这解释了为什么不同经纪商对同一货币对的报价和点差各不相同——因为它们接入的 LP 池不同。

用 Python 模拟一个简单的聚合过程:

import randomdef simulate_fx_aggregation(n_lps=5):    """    模拟外汇价格聚合过程。    参数:        n_lps: 流动性提供商数量    """    # 基准价格    base_bid = 1.17290    base_ask = 1.17300    # 每个 LP 在基准价格附近随机报价    bids = [round(base_bid + random.uniform(-0.00005, 0.00005), 5)            for _ in range(n_lps)]    asks = [round(base_ask + random.uniform(-0.00005, 0.00005), 5)            for _ in range(n_lps)]    print("=== 流动性提供商报价 ===")    for i in range(n_lps):        print(f"  LP{i+1}:买价 {bids[i]:.5f}  |  卖价 {asks[i]:.5f}")    # 经纪商选择最优价格    best_bid = max(bids)  # 买价取最高    best_ask = min(asks)  # 卖价取最低    spread = (best_ask - best_bid) * 10000  # 换算成点(pips)    print(f"\n=== 经纪商最终报价 ===")    print(f"  最优买价:{best_bid:.5f}(来自 LP{bids.index(best_bid)+1})")    print(f"  最优卖价:{best_ask:.5f}(来自 LP{asks.index(best_ask)+1})")    print(f"  点差:{spread:.1f} pips")simulate_fx_aggregation()

总结

这篇来自 Sentient Trading Society 的文章传递了几个对量化交易者(尤其是 Python 开发者)至关重要的理念:

关于策略开发:先有假设和证据,再有规则。不要从过拟合的回测中反推信念,这是大多数零售交易者犯的根本性错误。

关于执行心理:追求"一致的结果"会导致过度干预,进而破坏样本质量,最终摧毁你对策略的信任。正确的做法是追求一致的执行,并接受结果的自然波动。

关于概率认知:连败是胜率的统计必然产物,不是策略失效的证据。80% 的零售交易者亏损,进入持续盈利的 5% 需要极致的流程质量。

关于市场结构:你在经纪商平台上看到的价格是多家流动性提供商报价的聚合结果,理解这一点有助于你正确认识滑点和点差。

关于 Prop Firm 规则:一致性规则本质上是一个数学约束,它天然不利于高 RRR、低胜率的策略风格。在选择交易公司之前,务必用代码模拟你的策略是否能在规则内生存。

对于 Python 学习者来说,量化交易是一个将统计学、概率论、数据可视化和编程能力融为一体的绝佳练兵场。希望本文的代码示例能帮你打开一扇新的大门。


参考文章

加入专注于财经数据与量化投研的知识星球【数据科学实战】,获取本文完整研究解析、代码实现细节。

财经数据与量化投研知识社区

2026年全面升级已落地!【数据科学实战】知识星球核心权益如下:

  1. 1. 双典系统赋能:获赠《财经数据宝典》与《量化投研宝典》完整文档,凝练多年实战经验,构建系统化知识框架;
  2. 2. 量化因子日更教程(2026重磅新增):每日更新「量化因子专题教程」,配套完整可运行代码与实战案例,深度拆解因子构建、回测与优化全流程;
  3. 3. 量化文章专题教程库:300+篇星球独有高质量教程式文章,系统覆盖策略开发、因子研究、风险管理等核心领域,内容基本每日更新,并配套精选学习资料与实战参考;
  4. 4. PyBroker实战课程:赠送《PyBroker-入门及实战》视频课程,手把手教学,快速掌握量化策略开发技能;
  5. 5. 财经数据支持:定期更新国内外财经数据,为策略研发提供精准、可靠的数据基础;
  6. 6. 顶尖学者与行业专家分享:年度邀请学术界博士与业界资深专家开展前沿论文精讲与实战案例分享,不少于4场,直击研究前沿与产业实践;专家直连答疑:与核心开发者及领域专家实时互动,高效解决投研实战难题;
  7. 7. 专业社群与专属福利:加入高质量交流社群,获取课程折扣及更多独家资源。

星球已沉淀丰富内容生态——涵盖量化文章专题教程库、因子日更系列、高频数据集、PyBroker实战课程、专家深度分享与实时答疑服务。无论您是初探量化的学习者,还是深耕领域的从业者,这里都是助您少走弯路、高效成长的理想平台。诚邀加入,共探数据驱动的投资未来!

好文推荐

1. 用 Python 打造股票预测系统:Transformer 模型教程(一)

2. 用 Python 打造股票预测系统:Transformer 模型教程(二)

3. 用 Python 打造股票预测系统:Transformer 模型教程(三)

4. 用 Python 打造股票预测系统:Transformer 模型教程(完结)

5. 揭秘隐马尔可夫模型:因子投资的制胜武器

6. YOLO 也能预测股市涨跌?计算机视觉在股票市场预测中的应用

7. 金融 AI 助手:FinGPT 让你轻松掌握市场分析

8. 量化交易秘籍:为什么专业交易员都在用对数收益率?

9. Python 量化投资利器:Ridge、Lasso 和 Elastic Net 回归详解

10. 掌握金融波动率模型:完整 Python 实现指南

好书推荐

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-03-27 09:59:11 HTTP/2.0 GET : https://f.mffb.com.cn/a/481767.html
  2. 运行时间 : 0.331625s [ 吞吐率:3.02req/s ] 内存消耗:4,560.78kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=db624f0036fbc74a509b3023c55848f3
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000981s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001401s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000868s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000896s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001653s ]
  6. SELECT * FROM `set` [ RunTime:0.000731s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001665s ]
  8. SELECT * FROM `article` WHERE `id` = 481767 LIMIT 1 [ RunTime:0.036549s ]
  9. UPDATE `article` SET `lasttime` = 1774576751 WHERE `id` = 481767 [ RunTime:0.005413s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000911s ]
  11. SELECT * FROM `article` WHERE `id` < 481767 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.003588s ]
  12. SELECT * FROM `article` WHERE `id` > 481767 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.008197s ]
  13. SELECT * FROM `article` WHERE `id` < 481767 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.012274s ]
  14. SELECT * FROM `article` WHERE `id` < 481767 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.026626s ]
  15. SELECT * FROM `article` WHERE `id` < 481767 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.060570s ]
0.335369s