当前位置:首页>python>用 Python 做投资组合优化?这个库让你一次玩转 60 种策略

用 Python 做投资组合优化?这个库让你一次玩转 60 种策略

  • 2026-02-27 14:34:48
用 Python 做投资组合优化?这个库让你一次玩转 60 种策略

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

引言

在量化投资领域,如何科学地分配资产权重、控制下行风险,是每个 Python 量化爱好者绑不开的课题。市面上虽然有不少组合优化工具,但大多只聚焦于经典的均值-方差模型,对尾部风险、多目标优化的支持十分有限。

今天要介绍的 azapy,是一个开源的 Python 风险导向型投资组合优化库。它内置了 10 种风险度量 × 6 种优化策略 = 60 种组合方式,从数据获取、资产筛选、风险建模到回测输出,提供了完整的端到端工作流。无论你是刚接触量化的 Python 学习者,还是想深入研究尾部风险的进阶用户,azapy 都值得一试。


一、azapy 是什么?

azapy 是一个专注于 风险导向型投资组合优化(Risk-based Portfolio Optimization) 的 Python 库。其核心思想很简单:投资不仅要关注预期收益,更要量化和管控"事情变糟时会亏多少"。

安装非常简单,一行命令即可:

# 在 Notebook 或终端中安装 azapy
!pip install azapy

二、核心架构:7 步漏斗流程

azapy 的工作流程可以概括为 7 个步骤:

  1. 1. 原始输入数据:市场价格或收益率
  2. 2. 数据预处理:清洗缺失值、对齐日期、重采样
  3. 3. 分析器选择:如 MVAnalyzer(基于价格)或 MVAnalyzerRtn(基于收益率)
  4. 4. 风险度量族选择:从 10 种风险度量中挑选
  5. 5. 组合构建类型:朴素(等权)、贪心、高级(凸优化)
  6. 6. 可选流水线:滚动窗口、制度切换、多目标组合
  7. 7. 输出结果:资产权重、风险收益指标、可视化、压力测试

三、10 种风险度量一览

azapy 支持以下 10 种分散度度量,覆盖了从经典到前沿的风险建模需求:

缩写
全称
一句话说明
mCVaR
混合条件风险价值
融合多个置信水平的 CVaR,关注尾部损失
mSMCR
混合二阶矩一致性风险
衡量不同压力情景下的波动率
mMAD
多级平均绝对偏差
聚焦最差的 m 个收益的下行风险
mLSD
多级下半偏差
仅关注低于预期收益的部分
mBTAD
混合阈值绝对偏差
衡量收益偏离阈值的程度(上下均计)
mBTSD
混合阈值半偏差
仅衡量低于阈值的偏差,纯下行风险
mEVaR
混合熵风险价值
基于熵的尾部风险度量
GINI
基尼指数
衡量收益分布的集中度
SD
标准差
经典的整体波动率度量
VAR
方差
均值-方差模型的基础

四、6 种优化策略

每种风险度量都可以搭配以下 6 种策略使用:

策略参数
含义
rtype='Risk'
在给定预期收益下最小化风险
rtype='MinRisk'
最小风险组合
rtype='InvNrisk'
在给定风险水平下最大化收益
rtype='RiskAverse'
按固定风险厌恶系数最大化收益
rtype='Sharpe'
最大化广义夏普比率
rtype='Sharpe2'
最小化广义夏普比率的倒数

五、实战案例

案例 1:获取市场数据

import numpy as np
import
 pandas as pd
import
 azapy as az

# 打印 azapy 版本

print
(f"azapy version {az.version()}", flush=True)

# 设置参数

mktdir = 'MkTdata'          # 数据存储目录
sdate = '2012-01-01'        # 起始日期
edate = '2021-07-27'        # 结束日期
symb = ['GLD', 'TLT', 'XLV', 'IHI', 'VGT']  # 资产列表

# 获取历史市场数据

mktdata = az.readMkT(symb, sdate=sdate, edate=edate, file_dir=mktdir)

运行后,azapy 会自动从 Yahoo Finance 下载数据并保存为 CSV 文件,返回一个包含 open、high、low、close、volume 等字段的 DataFrame,可以直接传给后续的分析器使用。


案例 2:使用 CVaR 分析器评估随机组合

import numpy as np
import
 azapy as az

# 定义 mCVaR 的参数

alpha = np.array([0.95, 0.90, 0.85])  # 三个置信水平
coef = np.full(len(alpha), 1/len(alpha))  # 等权混合

# 构建 CVaR 分析器

cr1 = az.CVaRAnalyzer(
    alpha, coef, mktdata,
    hlength=3.25,     # 收益聚合的时间跨度(年)
    method='ecos'     # 凸优化求解器
)

# 生成一个随机组合权重

ww = np.random.dirichlet([0.5] * len(symb))

# 计算该组合的混合 CVaR 风险

risk = cr1.getRisk(ww)

# 输出结果

print
(f"组合权重:{ww.round(4)}")
print
(f"预期收益率:{cr1.RR:.4f}")
print
(f"混合 CVaR 风险:{risk:.4f}")
print
(f"各层级风险分量:{cr1.primary_risk_comp.round(6)}")

结果解读

  • • alpha = 0.95 表示关注最差 5% 的收益;多个 alpha 值意味着同时考虑轻度、中度和重度下行情景。
  • • coef 设为等权,表示三个尾部场景同等重要。
  • • 最终的 risk 值是三个 CVaR 分量的加权平均,代表在不同极端情况下的综合预期损失。

案例 3:使用 mEVaR 构建夏普最优组合

import azapy as az

# 获取 6 只资产的市场数据

symb = ['GLD', 'TLT', 'XLV', 'IHI', 'VGT', 'OIH']
mktdata = az.readMkT(symb, sdate='2012-01-01', edate='today',
                     file_dir='../../MkTdata')

# 定义 mEVaR 参数

alpha = [0.75, 0.65]            # 两个置信水平
coef = [1.] * len(alpha)        # 等权混合
hlength = 1.25                  # 历史回望窗口(年)

# 创建 Port_EVaR 组合对象

p4 = az.Port_EVaR(mktdata, pname='mEVaR')

# 以最大化夏普比率为目标构建组合

port4 = p4.set_model(
    alpha=alpha,
    coef=coef,
    rtype='Sharpe',    # 最大化广义夏普比率
    mu0=0.,            # 无风险利率设为 0
    hlength=hlength
)

# 查看组合表现

_ = p4.port_view(title="mEVaR-Sharpe", ylabel="价格($)")

# 获取绩效指标

performance = p4.port_perf()
print
(f"绩效概览:\n{performance.round(4)}")

该组合在回测中实现了约 15.8% 的年化收益,RoMaD(收益与最大回撤比)达到 0.65,最大回撤约 24%,远优于 OIH、TLT 等单一资产的表现。


案例 4:动量选股 + CVaR 优化的全流水线

azapy 最强大的功能之一是 ModelPipeline,可以把筛选和优化串联起来:

import numpy as np
import
 azapy as az

# 40 只 ETF 和大盘股的资产池

symb = ['GLD', 'TLT', 'IHI', 'VGT', 'OIH',
        'XAR'
, 'XBI', 'XHE', 'XHS', 'XLB',
        'XLE'
, 'XLF', 'XLI', 'XLK', 'XLU',
        'XLV'
, 'XLY', 'XRT', 'SPY', 'ONEQ',
        'QQQ'
, 'DIA', 'ILF', 'XSW', 'PGF',
        'IDV'
, 'JNK', 'HYG', 'SDIV', 'VIG',
        'SLV'
, 'AAPL', 'MSFT', 'AMZN', 'GOOG',
        'IYT'
, 'IWM', 'BRK-B', 'ITA', 'VUG']

mktdata = az.readMkT(symb, sdate='2012-01-01', edate='today',
                     file_dir='../../MkTdata', verbose=False)

# 第 1 步:相关性聚类——去除高度相关的冗余资产

ccs = az.CorrClusterSelector(corr_threshold=0.98, freq='Q')

# 第 2 步:双动量筛选——只保留动量最强的 5 只

nw = 5
ths = np.floor(len(symb) * 0.7)  # 70% 资产有正动量才满仓
dms = az.DualMomentumSelector(nw=nw, threshold=ths)

# 第 3 步:CVaR 优化器——最大化 CVaR 夏普比率

cvar = az.CVaRAnalyzer(
    alpha=[0.95, 0.9],
    freq='Q',            # 季度频率
    hlength=1.,           # 1 年回望
    rtype='Sharpe',
    mu0=0.01
)

# 串联为流水线

model = az.ModelPipeline([ccs, dms, cvar])

# 创建回测引擎并运行

pp = az.Port_Generator(mktdata, freq='Q', fixoffset=-1, histoffset=1.)
port = pp.set_model(model)

# 查看绩效

print
(f"年化收益率:{pp.port_perf(fancy=True).iloc[0]['RR']}")
print
(f"最大回撤:{pp.port_perf(fancy=True).iloc[0]['DD']}")

该策略在 2013–2026 年的回测中实现了约 10.85% 的年化收益,最大回撤为 -24.39%,RoMaD 达到 0.4446。策略会根据市场状态动态调整持仓,在动量不足时自动降低仓位转入现金。


六、azapy 与其他工具的对比

原文作者对 5 个主流 Python 组合优化库进行了多维度对比(1–5 分制):

维度
azapy
PyPortfolioOpt
cvxpy
Riskfolio-Lib
py-vAllocation
风险度量丰富度
5
3
3
4
2
优化方法
4
3
5
4
2
易用性
3
5
1
4
3
可扩展性
5
3
4
2
1
高级模型支持
5
3
4
4
1
生产就绪度
4
3
1
4
2

简单总结:

  • • azapy 在风险度量和端到端工作流上最全面,适合深度研究。
  • • PyPortfolioOpt 上手最快,适合经典均值-方差场景。
  • • cvxpy 最灵活,但需要自己写数学公式。
  • • Riskfolio-Lib 在可视化和学术场景上表现优秀。

七、当前局限与未来方向

azapy 目前尚不支持:

  • • 交易成本、滑点和流动性约束
  • • 与 Interactive Brokers 等实盘系统的直接对接
  • • 非凸风险公式和多周期路径依赖优化

作者计划在未来版本中逐步加入这些能力。


总结

azapy 是一个为 风险管控 而生的 Python 投资组合优化库。对于 Python 学习者而言,它的价值在于:

  1. 1. 学习风险建模:10 种风险度量涵盖了从入门到高阶的各类方法,是理解 CVaR、EVaR、下半偏差等概念的绝佳实践工具。
  2. 2. 端到端体验:从数据获取、资产筛选、优化建模到回测输出,一个库搞定全流程,不用东拼西凑。
  3. 3. 对比学习:结合 PyPortfolioOpt 或 Riskfolio-Lib 一起使用,可以直观感受不同风险定义下组合行为的差异。
  4. 4. 实战导向:内置的动量筛选、相关性聚类、滚动回测等功能,反映了真实资产管理中的实际需求。

如果你已经掌握了基础的均值-方差优化,想进一步探索尾部风险和下行保护策略,azapy 是一个值得深入研究的工具。


参考文章

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

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

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-02-28 12:43:14 HTTP/2.0 GET : https://f.mffb.com.cn/a/476511.html
  2. 运行时间 : 0.116589s [ 吞吐率:8.58req/s ] 内存消耗:4,412.20kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=d5d543a345180b5a4ee5741650bc7e9c
  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.000645s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000820s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000327s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000298s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000507s ]
  6. SELECT * FROM `set` [ RunTime:0.000189s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000661s ]
  8. SELECT * FROM `article` WHERE `id` = 476511 LIMIT 1 [ RunTime:0.000705s ]
  9. UPDATE `article` SET `lasttime` = 1772253794 WHERE `id` = 476511 [ RunTime:0.006224s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000223s ]
  11. SELECT * FROM `article` WHERE `id` < 476511 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000626s ]
  12. SELECT * FROM `article` WHERE `id` > 476511 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000409s ]
  13. SELECT * FROM `article` WHERE `id` < 476511 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.008709s ]
  14. SELECT * FROM `article` WHERE `id` < 476511 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.019553s ]
  15. SELECT * FROM `article` WHERE `id` < 476511 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.009566s ]
0.119500s