A股三因子模型失效之谜:壳价值污染与EP因子重构

发布时间:2026/10/24 21:12:50
A股三因子模型失效之谜:壳价值污染与EP因子重构 简介面向毕业设计与中国A股资产定价研究的一份PDF文档共1个文件压缩包约1.35MB系统梳理中国版三因子模型的构建与验证思路。文档以Liu等学者2018年的研究为核心首先剖析中国股市特有的壳价值污染问题——由于IPO管制小市值公司壳资源具有极高经济价值导致市值最小的30%股票即使业绩不佳也易被高估因此研究剔除这部分股票以净化样本。随后介绍Fama-MacBeth回归在价值因子筛选中的应用分别考察盈利价格比、账面市值比、资产市值比、现金流价格比四类指标通过横截面回归确定盈利价格比解释A股收益差异的效果最佳并以其为基础构造价值因子。文中还对比中国版三因子含规模因子和价值减成长因子与经典三因子在中国市场的实证表现包括因子间的回归分析、解释力度差异等清晰展示改进模型的优势。已有1131人学习下载适合金融工程、量化投资或资产定价方向的学生作为毕业设计参考对理解新兴市场因子模型修正逻辑也有帮助。1. 在 A 股做截面收益研究先回答一个问题为什么美版三因子一上 A 股就失灵在 A 股做截面的预期收益率研究最容易碰到的现象是Fama-French 三因子模型在美股是铁打不动的基准放到 A 股就跑不动了。市场因子、规模因子、价值因子全都在回归做了GRS 检验也做了定价错误就是压不下去。一篇刊发于顶级金融学期刊的研究给出了一个反直觉的诊断问题不在因子本身而在 A 股最小的那批上市公司。由于 IPO 监管严格、上市资格稀缺小公司的股价里天然含着一层壳价值——哪怕主业亏损上市身份本身就值一大笔钱。这层价值像一张看涨期权把真实经营信息搅得稀碎。在一个被壳价值污染的样本上拟合任何定价模型结果都不会干净。这就是为什么直到剔除市值最小的 30% 的股票、重选价值因子之后A 股的截面定价结构才第一次看得清楚。做资产定价方向毕业设计或实证研究的人大概都有过这种翻车体验。2. 壳价值污染为什么最小的 30% 的股票必须被剔除2.1 壳价值的本质一张无法对冲的看涨期权壳价值的根源在于 IPO 的审核供给。A 股的上市资格是一种稀缺牌照而借壳上市曾经是拿到这张牌照最现实的路径。一家企业想上市IPO 排队的时间成本和过会的不确定性都太高直接买一家已上市公司、把资产装进去流程要短得多。买壳的钱本质上就是对这张牌照的定价。壳资源一旦被装入资产价值就兑现了而还没被装资产的公司股价里就含着一个等待行权的期权——不知道哪一天会被借壳但市场知道这件事大概率会发生。这个机制解释了壳价值的两个关键性质。第一壳价值大致是一个绝对数而不是相对数——在监管环境稳定的时期一个干净壳的估值落在几十亿量级跟壳里装了什么资产关系不大。第二它是期权性质的只跟事件是否发生相关跟公司当期经营业绩基本无关。把这两点合起来看就得到一个残酷的推论市值越小的公司壳价值在股价里占的比重越大。市值 20 亿的公司壳可能占掉一半市值 200 亿的公司壳只占 5%。这也就是为什么研究者最终选择了市值最小的 30% 作为污染区而不是按行业、按盈利能力去划界——壳价值污染的强度几乎完全由市值这一个变量决定。2.2 壳价值如何破坏资产定价模型壳价值对三因子模型最直接的破坏发生在排序环节。Fama-French 的 HML 因子靠 BM账面市值比把股票分成价值和成长两组这个排序依赖账面值和市值的比值。壳公司通常经营恶化、净资产缓慢消耗市值里却含着一大块壳期权BM 被壳价值推到高位于是被分类器贴上了价值股的标签。可它的高账面市值比并不代表真实的经营价值而是壳期权的厚度。用这样的标签去构建多空组合买到的是一篮子看似便宜、实则随时可能被借壳的公司。SMB 同样被污染。小市值组里混入大量壳公司后SMB 的收益率构成就变了真实的小市值溢价来自对规模风险的风险补偿而壳公司的溢价来自期权价值的均值回归和事件驱动波动。这两者混在同一个投资组合里会让 SMB 的收益序列带上强烈的反转和跳跃特征。更麻烦的是壳价值污染不是一个稳定项——借壳事件发生的时候期权一次性兑现股价翻倍预期落空的时候股价阴跌。结果就是模型残差里出现持续且显著的 α而这个 α 的来源既不是市场风险也不是规模或价值风险而是监管制度制造的定价噪声。2.3 剔除 30% 之后股票池发生了什么剔除市值最小的 30% 并不是简单地把样本砍掉一段而是主动放弃信息换取纯度。剩下的 70% 股票壳价值在市值中的占比已经低到不再主导定价信号。一个直接的实证效果是如果在这 70% 的股票上重新做 Fama-MacBeth 回归价值类指标的截面显著性会大幅改善。另一个效果是实用性——沪深 300 和中证 500 的成分股几乎全部落在剩余股票池里指数增强和主动选股的研究者不需要额外清洗就能直接使用这个范围做因子测试。用一个简单的代码示意这个过滤逻辑市值分位数是分水岭import numpy as np import pandas as pd def filter_shell_contamination(market_cap: pd.Series, quantile: float 0.30) - np.ndarray: 剔除市值最小的 30% 的股票降低壳价值污染。 参数 ----- market_cap : 每只股票的市值序列需要按月频截面传入 quantile : 分位数阈值论文默认 0.30 返回 ----- mask : 布尔数组True 表示保留该股票 threshold market_cap.quantile(quantile) # 截面分位数不能用全样本分位数 mask market_cap threshold return mask.values这段代码最关键的是注释里那一条分位数必须按截面计算。市值分布每个月都在变如果拿全样本的分位数一刀切早期大量股票会被错误剔除后期又混入不该进的小盘股。按截面逐月计算分位数才能保证每个月剔除的都是当期市值最小的 30%。这个细节在做毕业设计复现时特别容易踩到很多人第一版回测结果对不上原因往往就在这一行。3. 价值因子换血EP 如何通过 Fama-MacBeth 回归胜出3.1 从 BM 到 EP四个候选指标的横截面比拼确定了股票池之后下一个问题是谁来做价值因子。Fama 和 French 当年在美股比较过 EP、BM、AM 等多个指标最后因为 BM 效果最好而选了它。但 A 股的壳价值污染主要扭曲的是市值信号BM 的分母里带着壳价值天然处于劣势。研究者没有直接拍脑袋换指标而是用 Fama-MacBeth 回归把四个候选指标放在一起做了一次横截面比拼。这里需要理清 Fama-MacBeth 回归在这个场景下的用法。常见的教材版本是两步走第一步用时间序列回归估计每只股票的因子暴露第二步在每个截面上用收益率对暴露做回归得到因子收益率的时间序列。但原文的处理方式有个变体——直接把指标取值当成 factor loading用截面回归来确定 factor return。换句话说对每个月 t把全市场股票的 EP 值作为自变量、个股收益率作为因变量做一次截面回归回归系数就是当月 EP 因子的收益率然后把所有月份的因子收益率取均值用 t 统计量判断它是否显著。这是一种更接近按指标排序的检验方式好处是它不预设因子模型的结构纯粹看哪个指标对截面收益率的解释力最强。预处理方式也暗藏玄机。BM 和 AM 本身是正数但有极端值取对数压缩尺度EP 和 CP 可能出现负值直接取对数没有意义于是做了非负处理盈利为正的公司指标取原值为负的公司指标取零再用 dummy 变量区分正负。回归结果里最有信息量的是加入 EP 之后其他价值指标的显著性全部掉下去而 EP 自己的 t 值稳居第一。这意味着在 A 股EP 对价值溢价的信息含量已经把 BM、AM、CP 覆盖掉了。3.2 非负处理与 dummy 变量亏损公司的价值信号EP 的非负处理值得展开因为它不是简单的负值置零这种数据清洗而是一种变量构造。EP 为正时它是一个连续变量度量盈利收益率的强度EP 为负时亏损幅度本身不再进入模型取而代之的是一列 dummy标记这家公司是否亏损。这么做的经济学含义是在 A 股亏损状态比亏损幅度更有信息量。壳公司往往微亏或巨亏亏损多少对预测未来收益率的边际贡献很小但亏损这个标签本身与壳价值高度相关。用代码示意这个处理逻辑会非常直观def construct_ep(earnings: pd.Series, price: pd.Series) - pd.DataFrame: 构造 EP 因子及对应的 dummy 变量。 - 盈利为正EP earnings / price - 盈利为负EP 0同时 dummy 1 - dummy 用于在回归中单独估计亏损公司的截距偏移 ep earnings / price dummy (earnings 0).astype(int) ep_clean ep.clip(lower0) return pd.DataFrame({EP: ep_clean, EP_neg_dummy: dummy})这段构造直接决定了 Fama-MacBeth 回归的输入形式EP 和 EP_neg_dummy 作为两个 regressors 进入截面回归。EP 系数度量的是盈利收益率每高一个单位预期收益率高多少dummy 系数度量的是亏损公司相对盈利公司在收益率上的固定偏移。后者在 A 股通常显著为正因为它捕捉的其实是壳价值的信号——亏损公司被当成潜在借壳标的有额外的预期收益。如果只做简单置零而不加 dummy这只信号会被并进截距项全模型的价值因子都会失真。3.3 为什么是 EP壳价值选出了盈利这个锚EP 在四个候选指标里胜出背后有一个非常自洽的解释壳价值污染对 BM 的破坏远大于对 EP 的破坏。BM 的分母是市值、分子是账面净资产壳价值抬升市值的同时壳公司的净资产往往已经在缩水分子分母一个向下一个向上BM 被双倍扭曲。EP 的分子是盈利壳公司的盈利通常极低或为负不管市值怎么被壳价值灌水EP 天然把壳公司压到最低档。换句话说EP 排序本身就是一种对壳价值的天然对冲。这个取舍还反映了 A 股和美股定价机制的结构性差异。美股的价值溢价主要来自 BM 所代表的账面风险而 A 股的价值在实证上更接近盈利收益率驱动——A 股投资者对当期盈利的敏感度远高于对账面资产的敏感度。研究者最终选择 EP 构建 VMG 因子而不是继续沿用 BM 构建 HML既是对统计证据的服从也是对市场制度环境的响应。这个选择可以用一张对比表看清维度美版三因子FF-3中国版三因子CH-3股票池全部上市公司剔除市值最小 30%价值因子HML基于 BMVMG基于 EP规模因子SMB2×3 分组SMB2×3 分组市场因子MKT市值加权超额收益MKT市值加权超额收益基准为一年期存款利率4. 中国版三因子的构建与双重验证交叉回归与 GRS 检验4.1 SMB 与 VMG 的分组构造2×3 交叉排序的细节中国版三因子的 SMB 和 VMG 用的是 2×3 交叉分组市值分成 Small 和 Big 两组EP 分成 Value、Middle、Growth 三组交叉得到六个格子。SMB 是大市值三组和小市值三组收益率的均值差VMG 是 Value 组减 Growth 组、在大小市值内分别做后再取平均。2×3 而不是 2×2 或 2×3×3是一个权衡EP 分成三档能拉开 Value 和 Growth 的差距市值只分两档保证大小市值组内股票数量足够避免组合过度集中在个别股票上。VMG 的命名也值得注意——它不叫 HML因为构成指标从 BM 换成了 EP名称必须跟着变。Value Minus Growth 直白地表达了它在多空两端持有的对象做多高盈利收益率低 EP 值之外的便宜且有盈利的公司做空低盈利收益率昂贵且盈利弱的公司。在构建代码时分位数切点必须按截面计算这一点和市值过滤一样关键def build_smb_vmg(returns: pd.DataFrame, market_cap: pd.DataFrame, ep: pd.DataFrame, size_groups: list, ep_groups: list): 按市值和 EP 做 2×3 交叉分组返回 SMB 和 VMG 因子收益率序列。 切点按月频截面计算市值按 50% 分位分两组 EP 按 30%/70% 分位分三组保证每组都有稳定的股票数量。 smb_list, vmg_list [], [] for date in returns.index: # 截面切点 size_cut market_cap.loc[date].quantile(0.5) ep_cut_low, ep_cut_high ep.loc[date].quantile([0.3, 0.7]) # 六个格子 cells {} for size_label, size_mask in [(S, market_cap.loc[date] size_cut), (B, market_cap.loc[date] size_cut)]: for ep_label, ep_mask in [(V, ep.loc[date] ep_cut_low), (M, (ep.loc[date] ep_cut_low) (ep.loc[date] ep_cut_high)), (G, ep.loc[date] ep_cut_high)]: cells[f{size_label}{ep_label}] returns.loc[date, size_mask ep_mask] # SMB 小市值三组均值 - 大市值三组均值 smb_list.append( sum(cells[fS{lab}].mean() for lab in [V, M, G]) / 3 - sum(cells[fB{lab}].mean() for lab in [V, M, G]) / 3 ) # VMG 两组内 Value 减 Growth 后取平均 vmg_list.append( (cells[SV].mean() - cells[SG].mean() cells[BV].mean() - cells[BG].mean()) / 2 ) return pd.Series(smb_list, indexreturns.index), pd.Series(vmg_list, indexreturns.index)这段代码的机制要点在均值差的计算方式。SMB 不是简单地小市值减大市值而是在每个 EP 组内部先做市值差再平均这样剥离了 EP 分组对规模因子的干扰。VMG 同理在每个市值组内部做价值差再平均剥离了市值对价值因子的干扰。这就是交叉排序的意义——两个因子各自保持对另一个因子的中性。4.2 第一回合 PK交叉回归中谁解释了谁模型构建完毕剩下的问题是中国版三因子和原版 Fama-French 三因子到底谁更能解释 A 股第一回合用的是交叉回归——拿一个模型的因子去解释另一个模型的因子看截距 α 是否显著。如果中国版的 SMB 和 VMG 能吸收掉 FFSMB 和 FFHML 的绝大多数收益而反过来做不到说明中国版因子的信息集更完整。实际操作上每两个因子之间做一次时间序列回归。以用 VMG 解释 FFHML为例把 FFHML 的收益率序列作为因变量VMG 和 MKT 作为自变量回归后的截距就是 FFHML 在中国版因子面前无法被解释的部分。原文的回归结果显示FFSMB 和 FFHML 在考虑了 SMB 和 VMG 之后截距 α 的 t 值完全掉了下来而反向回归中SMB 和 VMG 的 α 依然显著。这个不对称的结果非常干净地说明了中国版因子的增量信息。这里的判断逻辑可以通过一个简化的检验代码来理解import statsmodels.api as sm def check_alpha(target: pd.Series, factors: pd.DataFrame): 目标因子对给定因子做时序回归返回截距 alpha 的 t 检验结果。 若 alpha 不显著|t| 2说明目标因子能被这些因素解释 若 alpha 显著为正说明目标因子含有这些因素无法覆盖的超额收益。 X sm.add_constant(factors) model sm.OLS(target, X).fit() alpha_tstat model.tvalues[const] return round(alpha_tstat, 2)对回归结果做解读时有一个容易被新手忽略的点α 不显著在因子检验里是好事。目标因子作为被解释变量它的 α 不显著意味着它没有独立于解释因子的收益来源可以被现有因子体系吸收。反过来当你用某个模型检验异象组合时α 显著为正是坏事——它说明模型没有解释干净。同一个统计量在两套语境下的意义完全相反这一点在做毕业设计分析时极易搞混。4.3 第二回合 PKGRS 检验的联合检验逻辑交叉回归看的是两两因子之间的关系GRS 检验则把视野拉回到整个资产集合给定一组测试资产因子模型的定价错误是否联合为零。GRS 检验的原假设是 n 个资产的 α 同时等于零检验统计量把每个资产回归后的 α 估计值和它们的协方差结构组装成一个二次型。如果模型定价正确所有 α 应该联合接近零只要有一个资产被系统性地错误定价统计量就会被放大。原文的比较结果非常有戏剧性用中国版的 SMB 和 VMG 作为解释因子去检验 FFSMB 和 FFHML 时p 值达到 0.41远远无法拒绝原假设——意味着中国版因子的信息集确实覆盖了美版因子反过来用美版因子检验中国版因子时p 值小到 10 的 -13 次方量级原假设被以极高的置信度拒绝。两组检验的方向不对称构成了一条完整的证据链美版三因子在中国市场上的定价错误是系统性的而中国版三因子把这些错误吸收掉了。GRS 检验的统计量其实可以写得很短逻辑内核非常紧凑def grs_stat(alphas, residual_cov, factor_mean, factor_cov, T): GRS 统计量检验 N 个资产定价错误是否联合为零。 alpha_hat 是各资产回归截距向量Sigma 是残差协方差矩阵。 统计量服从 F(N, T-N-K) 分布。p 值越大越好——不拒绝原假设 说明模型的定价错误可视为零。 N len(alphas) K factor_mean.shape[0] Sigma_inv np.linalg.inv(residual_cov) omega_inv np.linalg.inv(factor_cov) inner alphas.T Sigma_inv alphas scale (T - N - K) / (N * (T - K - 1)) grs scale * inner / (1 factor_mean.T omega_inv factor_mean) return grs代码里的alphas.T Sigma_inv alphas是核心二次型它把每个资产的 α 用协方差的逆加权等价于在做一种多变量版本的标准化。除以1 factor_mean.T omega_inv factor_mean是为了调整因子均值对检验功效的影响——因子均值越大模型定价误差的可检验性越强。整个统计量在对 α 的量级和不确定性做了双重校正之后才被放到 F 分布里去判断显著性。4.4 解释异象的边界哪些能被解释哪些不能检验因子的最终标准是它对异象的解释能力。研究者选取了学术界在 A 股发现的多类异象其中六个大类、十个指标能获得显著 CAPM-α。在使用中国版三因子对这些异象组合做时序回归时出现了清晰的分界size、value、profitability、volatility 这几类异象的 α 可以被三因子吸收三因子模型的解释力覆盖了基本面类和波动率类异象但 reversal反转和 turnover换手率异象的 α 依然显著三因子无能为力。这两类无法解释的异象有共同的心理和市场结构根源散户主导的交易结构下换手率高的股票往往聚集了大量非理性关注短期内价格被舆情推高而做空限制让理性投资者无法入场纠偏高换手股票的价格只能靠时间慢慢消化于是产生反转。换手率因子对 A 股的定价有独特的信息增量这是基本面因子无法替代的。这个边界直接引出了第四因子 PMO 的必要性——中国版三因子解决的是壳价值和价值指标的问题但行为层面的定价偏差需要单独的因子来承载。5. 常见问题构建与检验中国版三因子时的五个易错点5.1 剔除 30% 之后SMB 变得不显著就怀疑阈值选错了现象按原文剔除市值最小的 30% 后重做 SMB 因子发现 t 值不高于是想试 50%、70% 的剔除比例最后挑出一个数据上最漂亮的。原因SMB 的显著性取决于股票池里是否还有足够的规模溢价信息。剔除比例太高把小市值组的有效样本切掉了规模因子的变异度下降显著性自然变弱但这不是模型错了而是你在主动筛选结果。30% 这个阈值来自壳价值污染的诊断不是来自因子显著性的调参。解决先把剔除比例当成固定参数用原文的 30% 复现结果敏感性分析单独做把 20%、30%、40% 的结论并排展示而不是挑一个最好看的写进正文。复现的第一目标是逻辑一致不是漂亮的 t 值。5.2 EP 非负处理时只截断、不加 dummy回归结果和原文对不上现象EP 负值直接置零后进 Fama-MacBeth 回归EP 因子的 t 值明显偏弱价值组和成长组的收益差也变小了。原因截断之后所有亏损公司的 EP 都等于 0方差被压缩EP 排序里大量股票挤在同一个值上截面回归对 EP 载荷的估计被稀释。原文的构造里dummy 变量承载的是是否亏损这层信号它和截断后的 EP 变量共同构成完整的信息集。解决严格按原文的构造EP_clean EP.clip(lower0)同时生成EP_neg_dummy两个变量一起进截面回归。单独用截断 EP 而不加 dummy等于把壳价值信号丢掉了一半。5.3 GRS 检验把 p 值看反以为越小越好现象做完 GRS 检验看到 p 值 0.41觉得太大、不显著认为模型效果不好。原因GRS 的原假设是定价错误联合为零。p 值大意味着不能拒绝原假设也就是没有任何统计证据说模型定价错了——这恰恰是模型通过检验的标志。p 值极小才说明模型留下了大量显著的 α是失败的证据。解决写结论前先确认原假设方向。GRS 检验里p 值大是安全通过p 值是 10 的 -13 次方才是重大事故。可以在论文的检验结果表里显式标注原假设α 联合为零避免自己和读者反向解读。5.4 用全样本分位数做市值过滤导致早期股票池大幅偏差现象用一段 15 年的日频市值数据算了一个固定阈值一次性过滤掉市值最小的 30%结果早期股票的存活率明显偏低SMB 和 VMG 的序列和历史复盘的差异很大。原因市值分布随市场扩容和通货膨胀整体抬升2010 年的 30% 分位可能只有几十亿2020 年已经涨到上百亿。拿全样本一刀切早期阈值过低大量当时的中小市值股票被当作大股票保留只有尾部被剔除后期阈值过高三分之一的中型公司被误伤。解决严格按截面分位数过滤——每个月份单独计算当月市值分布的 30% 分位只剔除当月市值最小的 30%。这就是第一节代码里market_cap.quantile(quantile)必须放进截面循环的原因。5.5 因子共线性过强VMG 和 SMB 的回归系数互相打架现象回归里同时放 SMB 和 VMG 时两个因子的系数符号不稳定标准误异常放大和单独检验时判若两人。原因A 股市值因子和价值因子在部分时期高度相关。小市值组合里 EP 高的公司占比大导致 SMB 和 VMG 的多头端重叠尤其剔除壳价值之后股票池的异质性下降因子之间的结构相关性上升。解决先输出三因子的相关系数矩阵检查 SMB 与 VMG 的相关性是否超过 0.5如果相关性过高用正交化处理后的因子做稳健性检验。数据里因子相关高不是数据错了而是 A 股风格切换剧烈下的常态应如实呈现而不是强行回避。6. 四因子扩展与设计取舍PMO 补位与模型方法论启示PMO 因子的设计是全篇最值得咀嚼的部分。它做多低换手率股票、做空高换手率股票名称 Pessimistic Minus Optimistic 本身就带着行为金融的味道低换手的悲观投资者在交易基本面信息高换手的乐观投资者在追逐舆情和热度。在三因子无法解释 reversal 和 turnover 异象之后研究者没有引入更复杂的基本面因子而是选择了换手率这个行为指标。这说明在 A 股定价偏差的很大一部分来自交易结构而非基本面风险做空限制放大了这个偏差所以需要一个直接度量交易过热程度的因子来吸收它。加入 PMO 之后十个异象全部被覆盖。这背后的设计取舍非常有意思基本面因子负责解释公司层面的定价换手率因子负责解释交易层面的定价两者互补而不是竞争。相比美版五因子模型靠投资和盈利因子做增量中国版四因子的第四条腿完全是行为维度的这是对 A 股散户主导做空受限制度环境的直接响应。从方法论角度看这篇研究给我的最大启示是一个资产定价模型的好坏不只是选对了多少个因子而是是否对市场制度做了诊断。壳价值污染的识别、30% 分位数的取舍、EP 对 BM 的替代、PMO 的补位每一步都是先把制度约束放到台面上再决定模型怎么改。这比直接套用美版框架做一版本土化调参要难但结论的可靠性不可同日而语。从那以后我每次做 A 股截面研究都会先画一张市值分布图看看样本里有没有类似壳价值的结构性污染再决定因子怎么构建。这个过程虽然慢但省掉了后面无数个对着不显著结果发呆的夜晚。希望帮到你。本文还有配套的精品资源点击获取

关于本文作者

来自尧图内容编辑团队

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

尧图内容编辑团队

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

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

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

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

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

网站改版的5个关键决策

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

获取专属建站方案

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

立即免费咨询