当前位置:首页>python>五一假期量化实战:Python算法如何预判持仓机会

五一假期量化实战:Python算法如何预判持仓机会

  • 2026-06-29 16:38:21
五一假期量化实战:Python算法如何预判持仓机会

五一假期量化实战:Python算法如何预判持仓机会

每年五一假期临近,朋友圈就开始被两拨人刷屏:一拨是晒机票酒店攻略的旅行者,另一拨是盯着行情软件眉头紧锁的交易者。说来有趣,假期对前者是解脱,对后者却往往是焦虑的来源——持仓过节怕黑天鹅,空仓过节又怕踏空行情。这种焦虑不是散户的专利,我见过不少有着十几年经验的老交易员,面对长假同样举棋不定。说到底,长假期间市场休市、消息面真空、资金面变紧,任何模型在这种情况下都会面临历史数据之外的不确定性。

但我始终相信,焦虑的反面是方法论。与其靠感觉押注假期涨跌,不如用Python把交易逻辑系统化、参数化,把"感觉持仓过节"变成"有数据支撑的持仓决策"。这篇文章不是教你假期躺赢,而是分享一套我自己用了几年的框架:如何用Python构建一个完整的长假量化策略,从历史数据检验到实盘风控一气呵成。代码我会给出来,思路我也会讲清楚,适不适合你的策略风格,你可以自行判断。

先说清楚一件事:这篇文章不是预测哪只股票会涨,也不会给你什么"五一必买清单"。任何告诉你"假期持仓必赚"的人,要么是在收你的智商税,要么是在自欺欺人。我能做的是帮你建立一套决策框架,让你在假期前有一个相对科学的持仓依据——至于最后怎么决策,决策权永远在你手里。

第一章:Python量化系统架构——数据获取到实盘执行的完整链路

在聊假期策略之前,先把量化系统的骨架说清楚。很多人对量化的理解还停留在"写个公式选股"的阶段,但实际上一个完整的量化系统至少包含三个核心模块:数据层、策略层、执行层。这三者之间的关系,就好比人的消化系统——数据是吃进去的原料,策略是消化过程,执行层是最终长出来的肌肉。任何一个环节薄弱,整个系统就跑不起来。

数据层是整个系统的基础,也是大多数人最容易忽视的部分。很多人做策略回测用的是天天基金或者同花顺导出的历史数据,这种数据有几个问题:一是复权方式不统一,前复权和后复权混着用会导致价格失真;二是缺少高频数据,分钟线、Tick数据往往缺失;三是数据质量参差不齐,停牌日、涨跌停日的成交量记录经常出错。我自己的做法是尽量使用专业数据源(这里不推荐具体品牌,避免广告嫌疑),至少保证数据的时间序列是连续的、分红送股记录是完整的。

策略层是整个系统的"大脑",负责根据数据信号生成交易指令。这个层面的核心是逻辑自洽——你的策略为什么能在市场上盈利,这个逻辑必须是可解释的,而不是黑箱调参调出来的。近年来机器学习在量化领域应用广泛,但我个人的经验是,对于长假效应这种有着明确时间规律的策略场景,传统统计方法往往比复杂模型更稳定。原因很简单:机器学习模型在样本外容易过拟合,而长假这种场景样本量本来就不大,过拟合风险更高。

执行层负责把策略生成的信号转化为真实的下单动作。这部分是很多人容易忽略的,因为回测系统里"下单"只是一个数字变化,但实盘中涉及到滑点、延迟、流动性、网关对接等一系列问题。举一个具体的例子:假期前最后一个交易日,往往有一些板块会因为假期效应出现集中买入,如果你的策略在尾盘发出信号,实际下单时可能会遇到流动性不足导致的成交滑点。我的建议是,在回测阶段就引入滑点成本估算,实盘前先用模拟盘跑一两周,确认执行层面没有问题再上实盘。

下面给出一个简化版的Python架构框架,展示这三个模块如何串联:

import pandas as pd
import numpy as np
from datetime import datetime, timedelta

class QuantitativeSystem:
    """简化版量化系统架构"""
    
    def __init__(self, config):
        self.config = config
        self.data_handler = DataLayer(config)
        self.strategy = StrategyLayer(config)
        self.executor = ExecutionLayer(config)
    
    def run(self, date):
        # 数据层:获取当日数据
        data = self.data_handler.fetch(date)
        # 策略层:生成信号
        signals = self.strategy.generate(data)
        # 执行层:下单
        self.executor.execute(signals)

class DataLayer:
    """数据获取模块,支持本地CSV或API拉取"""
    pass

class StrategyLayer:
    """策略逻辑模块,长假策略在这里实现"""
    pass

class ExecutionLayer:
    """实盘执行模块,对接券商API"""
    pass

这个框架足够简单,简单到很多人会觉得"就这?"但我想说的是,大道至简。我见过太多复杂的量化系统,设计的时候各种花哨模块堆叠,真正跑起来漏洞百出。反而是这种简单的分层架构,每个模块职责清晰,出了问题容易定位。假期策略的设计也可以在这个框架下展开:数据层负责拉取历史假期的前后行情,策略层负责检测长假效应并生成持仓信号,执行层负责在假期前最后一个交易日完成调仓动作。

第二章:长假效应检测器——用统计数据说话,不靠感觉押注

长假效应是A股市场一个被广泛讨论但又充满争议的现象。所谓长假效应,简单说就是假期前后市场走势往往存在某种规律性。一种常见的说法是"节前红包"——假期前市场往往因为政策预期或资金面宽松而走强;另一种说法是"节前逃顶"——假期不确定性大,谨慎资金会提前撤离导致指数回调。两种说法听起来都有道理,但背后的逻辑其实是矛盾的,究竟哪个才是真相?

我的做法是用数据来回答这个问题,而不是听消息或者凭感觉。具体来说,我收集了过去十几年A股主要指数在春节、五一、国庆等主要长假前后的历史数据,计算涨跌幅均值和胜率。所谓胜率,就是假期前后上涨的次数除以总样本数,这个指标比均值更能反映规律的稳定性——毕竟均值容易被极端值拉偏。

在实际操作中,我发现单纯看指数涨跌远远不够。更重要的是观察市场内部的结构——不同市值、不同行业、不同估值的股票,在长假前后表现差异巨大。举个例子,小市值股票因为流动性较差,往往在假期前被抛售换取现金,节前跌幅更大;而大盘蓝筹因为机构持仓稳定,节前波动相对小很多。这种结构差异给策略设计提供了丰富的素材。

下面给出一个长假效应检测器的Python实现框架。这个模块的核心思路是:遍历历史所有假期节点,计算每个节点前后N个交易日的收益率分布,然后做统计检验判断这种效应是否显著。注意,这里的"显著"不是凭感觉判断,而是有明确的统计学标准——通常用t检验或者置换检验来验证。

import pandas as pd
import numpy as np
from scipy import stats

class HolidayEffectDetector:
    def __init__(self, market_data):
        self.data = market_data
        self.holidays = self._define_holidays()
    
    def _define_holidays(self):
        # 定义历史假期节点,需要结合具体数据
        return [
            {'name': '五一', 'month': 5, 'day_range': (28, 5)},
            {'name': '国庆', 'month': 9, 'day_range': (25, 10)},
            {'name': '春节', 'month': 1, 'day_range': (15, 20)},
        ]
    
    def calculate_returns(self, symbol, window=5):
        """
        计算假期前后window个交易日的收益率
        window=5表示假期前5个交易日和后5个交易日
        """
        results = []
        for holiday in self.holidays:
            holiday_dates = self._locate_holiday(holiday)
                for hdate in holiday_dates:
                     # 计算假期前window日收益
                     pre_return = self._calc_window_return(symbol, hdate, -window, -1)
                     # 计算假期后window日收益
                     post_return = self._calc_window_return(symbol, hdate, 1, window)
                     results.append({
                         'holiday': holiday['name'],
                         'date': hdate,
                         'pre_return': pre_return,
                         'post_return': post_return
                })
        return pd.DataFrame(results)
    
    def statistical_test(self, returns):
        """用t检验判断假期效应是否显著"""
        t_stat, p_value = stats.ttest_1samp(returns, 0)
        return {'t_stat': t_stat, 'p_value': p_value,
                'significant': p_value < 0.05}

    def _calc_window_return(self, symbol, date, start_offset, end_offset):
        # 实际实现需要根据数据源调整
        pass

    def _locate_holiday(self, holiday):
        # 根据假期定义定位历史日期
        pass

运行这个检测器之后,你会得到一个统计报告,包含每个假期的平均收益率、标准差、胜率、以及t检验的p值。但我要特别提醒一句:统计数据只能告诉你历史上发生了什么,不能保证未来一定重演。A股市场受到政策影响很大,监管思路的变化、宏观经济环境的变迁都会导致历史规律失效。所以,拿到的统计结果要当作参考,而不是铁律。

还有一个经验值得分享:长假效应的显著程度跟市场环境高度相关。在牛市氛围里,长假往往成为资金加速入场的节点,节后上涨的概率更高;在熊市或者震荡市里,长假前资金撤离的动机更强,节后开盘的表现也更不稳定。我的做法是把市场环境作为策略的一个条件变量——当市场处于明显的上升趋势中,倾向于持仓过节;当市场处于下降趋势或者方向不明时,选择轻仓或者空仓过节。

第三章:事件驱动策略——用Python捕捉假期前的行业轮动信号

如果说长假效应检测是"靠天吃饭"——赌的是市场整体的Beta,那么事件驱动策略就是"靠本事吃饭"——赌的是特定行业或板块在假期前后的Alpha机会。事件驱动的核心逻辑是:在重大节假日前,某些行业会因为假期消费预期、季节性因素或者政策窗口而获得资金青睐,股价在节前就已经开始上涨,节后则可能因为预期兑现而出现调整。这种规律不是玄学,而是有实在的基本面支撑。

举几个我观察到的规律。旅游板块在五一前两周左右往往有相对超额收益,因为市场会提前交易假期出行数据;航空板块类似,假期出行需求旺盛,叠加油价波动,股价会有季节性行情;消费板块里的白酒、零食,在节前一周左右往往有资金介入,因为送礼需求和宴请场景集中爆发。这些规律不是每年都一样,但胜率总体来说是可以接受的。

用Python实现事件驱动策略,核心是要构建一个"事件-行业"的映射库。这个映射库不是简单地把某个节日对应到某个行业就完事了,而是要包含具体的触发条件、预期强度、持续时间等参数。我的做法是给每个事件打分,分数由三个维度构成:时间维度(距离假期多久开始启动)、空间维度(历史上这个板块的平均超额收益)、催化剂维度(当年有没有特殊的政策或数据支撑)。总分越高,策略信号越强。

具体到代码实现,我给出一个简化版的事件驱动框架:

class EventDrivenStrategy:
    def __init__(self, market_data, industry_data):
        self.market = market_data
        self.industry = industry_data
        self.event_library = self._build_event_library()
    
    def _build_event_library(self):
        # 事件库:定义每个假期对应的行业机会
        return {
            '五一': {
                'start_offset': -10,   ## 提前10个交易日开始关注
                'sectors': [
                    {'name': '旅游', 'weight': 0.3, 'threshold': 0.02},
                    {'name': '航空', 'weight': 0.25, 'threshold': 0.015},
                    {'name': '白酒', 'weight': 0.25, 'threshold': 0.018},
                    {'name': '零售', 'weight': 0.2, 'threshold': 0.012}
                ]
            },
            '国庆': {...},
            '春节': {...}
        }
    
    def scan_signals(self, current_date):
        signals = []
        for holiday, config in self.event_library.items():
            # 计算当前日期距离假期的天数
            days_to_holiday = self._days_until_holiday(current_date, holiday)
            
            if config['start_offset'] <= days_to_holiday <= 0:
                # 在事件窗口期内,扫描行业信号
                for sector in config['sectors']:
                    if self._check_sector_signal(sector, current_date):
                        signals.append({
                         'holiday': holiday,
                         'sector': sector['name'],
                         'weight': sector['weight'],
                         'confidence': self._calc_confidence(sector, current_date)
                    })
        return self._rank_signals(signals)

    def _check_sector_signal(self, sector, date):
        # 检查行业是否满足入场条件
        # 条件包括:相对强弱、成交量放大、技术形态等
        pass

在实际使用中,这个策略有个关键参数需要调校,就是"提前多少天开始关注"这个问题。太早介入会浪费资金的时间成本,太晚介入又可能错过行情启动点。我的经验是把行业轮动的启动时间分成三类:第一类是提前10个交易日左右启动的季节性板块,比如旅游、航空;第二类是提前5个交易日启动的数据催化板块,比如航空的出行数据、零售的消费数据;第三类是假期前2个交易日才出现动量的短线板块,这类波动更随机,对交易速度要求更高。

行业轮动信号的有效性还跟市场整体环境有关。在存量资金博弈的市场里,热门板块的上涨往往意味着其他板块的失血,轮动效率高但持续性差;在增量资金入场的环境里,板块轮动更有可能形成合力,行情持续性更好。因此,事件驱动策略不能独立于市场环境之外运行,必须结合大盘整体判断来决定仓位和标的选择。

第四章:实盘风控模块——假期仓位管理与止损逻辑

做量化的人容易陷入一个思维陷阱:把策略设计得越来越复杂,却忽视风险管理。但真正在市场里存活下来的人都知道,风控才是整个系统里最重要的部分,甚至比策略本身还重要。假期持仓面临的风险尤其特殊——休市期间国内外可能发生重大事件,节后开盘往往出现跳空高开或低开,如果仓位管理不当,可能一夜之间遭遇巨大损失。

我自己的假期风控框架分为三个层次:仓位管理、止损设计、应急预案。仓位管理的核心是"不以风险暴露为目的"——假期持仓的目的是捕捉季节性机会,但这个目的不能凌驾于本金安全之上。具体做法是:在假期前一周开始逐步降低总体仓位,保守账户可以降到三成以下,激进账户也不要超过七成。降低仓位的方式有两种:一是减少单只股票的持仓量,二是平掉波动性较大的仓位保留稳健型仓位。

止损设计是假期风控的核心环节。我的做法是设置两层止损:第一层是硬止损,亏损达到预设幅度无条件平仓,这层止损不包含任何主观判断,执行优先于一切;第二层是软止损,结合假期前市场环境和持仓板块的表现动态调整,比如节前最后两个交易日如果持仓板块出现大幅下跌,即便没到硬止损线也会考虑提前撤退。

这里给出一个止损模块的Python框架:

class HolidayRiskManager:
    def __init__(self, max_loss_pct=0.05, soft_stop_pct=0.03):
        self.hard_stop = max_loss_pct   # 硬止损线,默认亏损5%平仓
        self.soft_stop = soft_stop_pct   # 软止损线,默认亏损3%预警
    
    def check_positions(self, positions, market_data):
        actions = []
        for pos in positions:
            current_pnl = self._calc_pnl(pos, market_data)
            pnl_pct = current_pnl / pos['cost_basis']
            
            # 硬止损判断
            if pnl_pct <= -self.hard_stop:
                actions.append({
                    'action': 'HARD_STOP',
                    'symbol': pos['symbol'],
                    'reason': f'亏损{pnl_pct:.1%},触发硬止损'
                })
            # 软止损判断
            elif pnl_pct <= -self.soft_stop:
                # 软止损还要结合市场环境判断是否真要平仓
                if self._should_soft_stop(pos, market_data):
                    actions.append({
                        'action': 'SOFT_STOP',
                        'symbol': pos['symbol'],
                        'reason': f'亏损{pnl_pct:.1%},市场环境恶化,触发软止损'
                })
        return actions

    def pre_holiday_adjustment(self, positions, days_to_holiday):
        """节前调仓:根据距离假期天数决定降仓比例"""
        if days_to_holiday <= 1:
            target_ratio = 0.3   # 最后一天降到三成
        elif days_to_holiday <= 3:
            target_ratio = 0.5   # 前3天降到五成
        elif days_to_holiday <= 5:
            target_ratio = 0.7   # 前5天降到七成
        else:
            target_ratio = 1.0   # 5天以外正常持仓
        return self._adjust_to_target(positions, target_ratio)

应急预案是很多人忽视但非常重要的部分。假期期间如果出现重大黑天鹅事件,比如地缘政治冲突升级、全球疫情突发、监管政策突变,节后开盘可能会出现连续跌停的极端行情。应急预案的核心是预设触发条件——当某个宏观指标或市场现象出现时,无论盈亏立即平仓。比如,如果假期期间美股纳斯达克指数累计下跌超过10%,我的止损线会提前触发,而不是等到节后开盘再看情况。

关于止损,还有一点想特别强调:止损不是为了让你少亏,而是为了让你在市场里活得足够久。真正理解这句话的人,会明白止损不是亏损的表现,而是纪律的体现。很多人在实盘中做不到止损,核心原因不是不知道止损的重要性,而是无法接受"平仓后行情反弹"带来的心理落差。但如果你认真做过回测就会知道,止损线的存在显著降低了单次最大亏损的幅度,长期来看这笔账是划算的。

第五章:代码实战——演示一个完整的长假量化策略框架

前面几章把长假量化策略的各个模块都拆开讲了,这一章我们把这些模块串起来,展示一个完整可运行的策略框架。这个框架的目标是:在五一假期前,综合市场环境、行业轮动信号和风控约束,生成一份持仓建议,告诉你该买什么、买多少、什么时候买、什么时候卖。

策略的整体思路分为四步:第一步,判断市场环境决定整体仓位;第二步,扫描行业轮动信号确定方向;第三步,结合长假效应调整持仓结构;第四步,叠加风控约束输出最终方案。这个逻辑链看起来不复杂,但每一步都有很多细节需要处理,下面逐一说明。

class HolidayQuantStrategy:
    def __init__(self, config):
        self.config = config
        self.market_env = MarketEnvironmentDetector(config)
        self.event_driven = EventDrivenStrategy(config)
        self.holiday_effect = HolidayEffectDetector(config)
        self.risk_mgr = HolidayRiskManager(config)
    
    def generate_portfolio(self, current_date):
        # Step 1: 判断市场环境,确定基准仓位
        env_signal = self.market_env.judge(current_date)
        base_position = self._position_by_env(env_signal)
    
        # Step 2: 扫描行业事件信号
        sector_signals = self.event_driven.scan_signals(current_date)
    
        # Step 3: 结合长假效应调整
        holiday_adj = self.holiday_effect.get_adjustment(current_date)
    
        # Step 4: 生成持仓方案
        portfolio = self._build_portfolio(
            base_position, sector_signals, holiday_adj
        )
    
        # Step 5: 风控检查
        final_portfolio = self.risk_mgr.apply(portfolio, current_date)
        return final_portfolio
    
    def _position_by_env(self, env_signal):
        if env_signal == 'bull':
            return 0.7   # 牛市环境,持七成仓
        elif env_signal == 'neutral':
            return 0.5   # 中性环境,持五成仓
        else:
            return 0.3   # 熊市或不明,持三成仓

    def _build_portfolio(self, base_pos, signals, holiday_adj):
        # 按信号权重分配仓位
        total_weight = sum(s['weight'] for s in signals)
        adjusted_pos = base_pos * holiday_adj
        
        portfolio = []
        for sig in signals:
            weight = sig['weight'] / total_weight * adjusted_pos
            portfolio.append({
                'symbol': sig['sector'],
                'weight': weight,
                'entry_time': sig.get('entry_time'),
                'stop_loss': sig.get('stop_loss', 0.05)
            })
        return portfolio

这个策略框架在实际运行中还需要大量的调试工作。比如,市场环境判断的标准是什么?我通常用均线系统来判断:上证指数如果站稳在60日均线上方,认为市场处于偏多状态;如果跌破60日均线,则倾向于降低仓位。又比如,行业信号的权重怎么分配?我的经验是历史胜率越高的信号权重越大,但也不能完全依赖历史数据,还要结合当年的宏观背景做调整。

回测是检验策略有效性最直接的方法。我在回测五一假期策略时,会把时间窗口拉长到过去十年,模拟每年五一假期前的持仓情况,然后统计胜率、平均收益、最大回撤等指标。如果一个策略在过去十年的回测中表现稳健,说明它的逻辑至少在历史上是成立的;但如果回测曲线波动剧烈,那就要谨慎对待。回测最大的陷阱是过度拟合——为了让曲线好看而把参数调得过于精准,这样在实盘中往往会翻车。我的忠告是:回测好用的策略,实盘未必好用;但回测都不好用的话,实盘大概率更不好用。

另外想提一点,这个框架输出的持仓方案不是一成不变的,需要根据每天的行情动态调整。量化策略不是设好就不用管了的自动化机器,而是需要持续跟踪、动态调整的交易系统。假期前的交易日每天都要复盘:行业轮动是否如预期展开?市场环境有没有变化?止损线是否需要调整?这些问题的答案决定了第二天是否需要调仓。

最后,关于实盘操作还有几点提醒。第一,模拟盘测试至少要做两周,确认策略逻辑和执行层面都没有问题再上实盘。第二,初始仓位不要打满,留20%的子弹应对突发情况。第三,假期前最后两个交易日尽量不要开新仓,因为这两个交易日往往流动性变差、波动加大,新开仓的风险收益比不划算。第四,节后第一个交易日要高度警惕——很多假期积累的不确定会在这一天集中释放,开盘前半小时不要轻易操作,等走势明朗再决定去留。

总结:清单与心态,假期量化的双重保障

聊了这么多,最后做一个清单式的总结,方便你在假期前逐项检查。清单分为策略端和心态端两部分。

策略端的检查清单:第一,数据是否完整——历史行情是否连续、复权是否正确、交易日历是否准确,这是所有分析的基础;第二,假期效应统计是否更新——每年都要用最新的数据重新跑一遍,长假效应的规律不是固定不变的;第三,行业信号是否确认——你关注的板块有没有出现预期的轮动信号,信号强度够不够;第四,仓位是否合理——整体仓位有没有超出你能承受的风险范围;第五,止损线是否设定——软止损和硬止损是否已经设置好,触发条件是否明确;第六,执行层面是否就绪——交易通道是否畅通、模拟盘测试是否完成。

心态端的检查清单:第一,是否做好了"策略可能失效"的心理准备——没有任何策略是100%准确的,要接受亏损是交易的一部分;第二,是否避免了"赌一把"的心态——假期持仓可以,但不是因为想趁机捞一把,而是因为策略信号支持这么做;第三,是否设置了最坏的退出方案——如果节后开盘出现不利走势,你知道该怎么做吗;第四,是否做到了"让模型说话"——不要在实盘中临时修改策略参数,那样只会让你的决策变得不系统、不理性。

量化交易的本质,是把交易决策从情绪驱动的"我觉得"变成数据驱动的"系统告诉我"。假期的不确定性确实比平时更大,但不确定性不意味着就只能靠猜。把分析框架建立起来,把风控措施落实到位,把心态调整平稳,假期持仓就不是一件需要焦虑的事,而是一件可以用系统方法论来处理的事。

文章写到这里,核心内容已经覆盖得差不多了。但我还想多说一句:这篇文章给你的不是一把万能钥匙,而是一套方法论的框架。具体到你自己的策略该怎么设计、参数该怎么调、资金该怎么分配,这些都需要你在实战中不断摸索和优化。我能帮的是给你指一条路,但路还得你自己走。

祝各位五一假期前都能做出不后悔的持仓决策。不管最后持不持仓、持多少,核心都是一句话:让数据说话,让系统运行,让心态稳住。假期愉快。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-04 05:17:31 HTTP/2.0 GET : https://f.mffb.com.cn/a/490996.html
  2. 运行时间 : 0.118695s [ 吞吐率:8.42req/s ] 内存消耗:5,011.77kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=30db47e2c39f8f1c952942461fcfce61
  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.000599s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000917s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.004884s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000309s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000510s ]
  6. SELECT * FROM `set` [ RunTime:0.000198s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000561s ]
  8. SELECT * FROM `article` WHERE `id` = 490996 LIMIT 1 [ RunTime:0.000450s ]
  9. UPDATE `article` SET `lasttime` = 1783113451 WHERE `id` = 490996 [ RunTime:0.022654s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.002956s ]
  11. SELECT * FROM `article` WHERE `id` < 490996 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000517s ]
  12. SELECT * FROM `article` WHERE `id` > 490996 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000430s ]
  13. SELECT * FROM `article` WHERE `id` < 490996 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000748s ]
  14. SELECT * FROM `article` WHERE `id` < 490996 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.005719s ]
  15. SELECT * FROM `article` WHERE `id` < 490996 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001926s ]
0.120297s