商务统计学基础 | 第1章:不确定性的数学表达:连续型数据
通过对引言的学习,我希望你已经掌握了一个道理,那就是统计学不研究统计,统计学研究的是不确定性。那么问题来了:统计学是如何研究不确定性的呢?答:通过数学工具。统计学所涉及到的数学工具说多不多,如果想要入门统计学,那么最核心的数学工具无非就是:微积分、线性代数、以及概率论。说少也不少,如果希望做更加深入的统计学研究,那么几乎所有的数学工具可能都有用武之地。在所有的数学工具中,显然概率论占据着极其重要的地位。原因很简单,因为:概率论为统计学研究不确定性提供了一套系统而科学的、用于描述不确定性的数学工具。因此,想要入门统计学?必须得先入门概率论,学习概率论的智慧,学习概率论是如何优美地描述了大千世界千姿百态的不确定性。了解这些精细美妙的数学描述的背后,有着怎样的常识经验作为支撑,又带给了我们哪些意外的发现?
图1:上证综指日度收益率(1991—2021)
第1.1节:
从直方图到概率密度函数:以上证综指为例
为了帮助你理解,概率论是如何描述不确定性的,咱们考虑一个特别简单直观的案例。为此,我采集了我国上海证券交易所上海证券综合指数(简称:上证综指)从1991年1月2日到2021年7月22日,共计7468个日度收益率数据。什么是日度收益率?如果把上证综指看做一支股票,昨天收盘价格为100元,今天为110元,那么今天的日度收益率为:(110-100)/100=10%。所以,昨天如果我入手了上证综指,今天卖出,我就赚钱了。相反,如果昨天收盘价格为100元,今天为90元,那么今天的日度收益率为:(90-100)/100=-10%。所以,如果昨天我入手了上证综指,今天卖出,我就赔钱了。当然,还有一种可能性,如果有一天咱们国家股市允许卖空,那么昨天卖空上证综指,今天平仓,我也能赚钱。你看,如果我能准确预测股价的上下起伏,岂不是很赚钱。那你猜一猜,作为一个统计学教授,我能准确预测股价变动不?能不能?答:显然不能。如果能准确预测股价变化,可以相当负责任地说,我就不在这里码字写书了,而要去股市实现我的超额收益率。今天,还在这里辛苦码字,普及推广统计学基础知识,说明我对预测股价变化是一窍不通的。股价的变化之于我,那就是一个彻头彻尾的不确定性。我相信对于你,也是一样的。你不信?请你看图1,其中我把上证综指从1991年1月2日到2021年7月22日的日度收益率随机抽取一部分写在一起。请问:你能从中看到啥?对我而言,我看到的是满屏的不确定性,我是真的啥也看不出来!而我相信,这也是你的感受。
前面引言中提到,统计学的一个核心目标是洞察不确定性中的确定性。请注意:统计学的目标不是消灭不确定性,因为存在不确定性的一个(不是所有)重要根源是:竞争的存在。只要竞争存在就有不确定性。尤其在商业实践中,只要存在对有限利益的无限博弈,不确定性一定存在,不可能因为任何学科(例如:统计学)的努力而消失掉。但是,统计学帮助你洞察,这纷繁混乱的不确定性(例如:图1)中,有哪些成分其实是确定的,是一般人洞察不了的,是可以为我所用的。你说神不神奇?为此,你需要系统学习一套完整的统计学方法论,而今天我们先从最简单的直方图开始。我们尝试重走一遍,前辈学者们曾经思考过的一系列问题,然后跟随他们的脚步,去理解更加复杂高深的统计学工具是如何被开发出来的。
图2:上证综指分年度正收益占比图
为此,我们再次肉眼仔细研究一下图1中那密密麻麻的收益率数据。虽然我们一头雾水,虽然满屏的不确定性,但是看得多了,总还是能看出一点点端倪。例如,这个收益率正负不定,大概比率相同。这符合你关于股票市场的预期吗?答:符合。如果绝大多数情况下收益率为正,那么我们就可以闭着眼睛买大盘指数,稳赚不赔。这可能吗?答:可能性不大。因为这个操作会很快抬高大盘指数价格,进而拉低日度收益率。同样,如果一个资本市场是允许卖空的,那么这也是稳赚不赔的机会。而卖空这个行为的大量产生,会拉高大盘价格,降低大盘日度收益率。相反,如果绝大多数情况下收益率为负,那么任何人买股票都会赔得血本无归。因此,对于一个充分有效的资本市场而言,长期出现负收益率的可能性也不是很大。请注意,这里我尝试用非常小心谨慎的语言来表达我的观点:无论是收益率大比率为正,还是大比率为负,这个可能性都不是太大,但是不敢说就一点都不存在。不排除,在某一个特定的情况下,例如我们碰上了大牛市(或者大熊市),那么这个时期的大盘日度收益率可能大比例为正(或者负)。但是,无论是哪一种情况,我们似乎都对这个收益率的正负非常关心。显然,我们必须关心日度收益率的正负情况,因为它直接决定了投资的收益结果。那人们产生了一个非常简单而且自然的数据分析需求:我能统计一下收益率中的正负比例吗?经过一个简单的统计,我们发现正收益率占比为52.5%。这说明,从1991年1月2日到2021年7月22日,在这过去的30年里,大盘指数的日度收益率是总体为正的。这是一个好消息,这说明对于能够长期持有的投资者而言,大概率回报是正的。但是,很遗憾(但是也很自然)的是,正收益占比不高,刚刚超出50%(正负相同)这个标杆2.5个百分点。这也说明,对于没有足够的耐心耐力,盲目追逐市场潮流的小散户而言,想要获得超额收益率的可能性是很小的,遭受财务损失的可能性是非常大的。
通过上面的讨论,你能从大盘指数的不确定性洞察到什么确定性吗?对:就是52.5%这个数字似乎非常确定。你会发现,在任何一个时期,甚至任何一个地区,只要有成熟的资本市场,这个正收益的占比,似乎都非常靠近50%。依赖于该地区的经济发展程度,以及资本市场的成熟度,可能会略高于50%,或者略低于50%。还是以咱们国家的上证综指为例,过去30年整体的正收益占比为52.5%,那么请问:每年的情况如何呢?为此,我们再做一个简单的计算,并以柱状图形态呈现给你;请见图2。图2中水平的黑线对应的是52.5%的水平。从图2中我们可以看到什么?第一、可以看到年到年的正收益率占比是有所不同的;第二、但是差别不是特别大,绝大多数情况下在40%到60%之间。当然,40%和60%对应的投资收益结果可是大不相同,但相较于正收益率占比的所有理论可能取值(0%—100%),这个区间是非常小的。这说明什么?这说明上证综指日度收益率,看似非常不确定,但是其中也有确定性的规律,而该规律的一个表现就是正收益率的长期占比相对稳定。
图3:上证综指分月份正收益占比图
同样类似的分布,我们可以尝试分月份做一下,看看一年12个月,每个月的正收益率占比的变化有规律吗?结果如图3,看起来稳定性更好了。也就是说,上证综指在过去的30年里,不同月份之间的收益率正负比例是非常稳定的。怀着无限的好奇心,我们再看一下不同日期是否有所不同。每个月大概有30天,有的月份(例如:2月)不到30天,有的月份(例如:12月)会有31天。你说月初(例如:某月1日)和月末(某月31日),上证综指日度收益率的正负占比,有什么变化规律吗?从图4中可以看到和年份月份相比较完全相似的规律。如果要说区别,那么就是稳定性比月份的要差一些,跟年份的相似。月份为什么能表现出更好的稳定性?这是一个有趣的问题,可能有不同的解释。但是,其中最重要的一个原因恐怕是样本量。咱们总共有7468个样本,平均分配到每个月份,那么每个月份被分配到的样本量大概为7468/12=622个样本。而分配到某月某日的样本量大概为:7468/31=240,远远小于每个月份的622。因此,这极大地影响了每个月正收益占比的稳定性。这给我们一个重要的启发:样本量的大小,似乎会极大地影响统计学分析的稳定性。而样本量是如何影响统计分析的稳定性的呢?数学上是如何刻画这个美妙规律的呢?这是统计学要研究的核心问题之一,这部分内容我们将在后面慢慢讨论。
图4:上证综指分某月第几日正收益占比图
简单总结一下咱们前面的探索发现。通过对上证综指日度收益率的正负划分,原来如此桀骜不驯,各种不确定的日度收益率,一下子变乖了,变得确定了很多。你能感受到这个变化吗?对,这就是统计学把握不确定性的最基础方法论。这个分析告诉我们,对于上证综指日度收益率的不确定性,我们能把握到什么程度。我们能通过高大上的模型绝对准确地预测收益率吗?当然不能,否则不确定性就被消灭了,不确定性都没有了,哪里还会有活跃的资本市场。所以,我们不可能彻底消灭不确定性。但是,这不妨碍我们从不确定性中洞察部分存在的确定性。对于上证综指这个案例而言,确定性就是长期日度正收益率占比大概维持在52.5%的这个水平上。请不要小看这个数字,如果你将来有志于从事股票投资工作(例如:量化投资、或者基本面投资),这个小小的52.5%是你对股票投资预期收益与风险量化判断的基本依据。当然,这样一个依据显然是不足够的,不足以支撑更加精细化的投资决策,因此你需要在这52.5%的基础上,做出更加细致的分析。
什么样的分析是更加精细的呢?例如,给定两只不同的股票,他们日度收益率为正的可能性都是52.5%。但是,A股票收益率大于5%的可能性是30%,而B只有20%。假设这两只股票其他方面表现都一样,请问哪只股票更值得投资?显然是A。虽然A和B赚钱的可能性大概都是一样的(大概都是52.%)。但是,一旦产生正收益,A股票有更大的可能性超过5%,而B就要差一些。所以,我们产生了一个很自然的需求:为什么不把股票收益率的分组分得更加细致一些?例如,每5个百分点分一组,然后看看上证综指在各个收益率区间的占比情况?为此,我们需要做一点点数据的清理工作。我国从1996年12月16日开始,执行了10%的涨跌幅限制。也就是说,单只股票每日最高涨幅为10%,而最大跌幅为-10%。因此,作为一个反映市场大盘的综合指数,上证综指的日度涨跌幅也被限制在了10%以内。但是,1996年12月16日之前,却没有这个限制。这就造成了我们的数据集合中,包含这一部分日度收益率超过正负10%的数据,这些数据发生在1996年12月16日之前。这会带来一个副作用。那就是以1996年12月16日为界,前后发生的收益率的分布情况不是非常可比。因此,为了增加数据的可比性,接下来的分析都是基于1997年1月1日后的数据。随后,我们根据日度收益率分成4组(-10%至-5%,-5%至0%,0%至5%,以及5%至10%)。对每一组计算频率,并转换为相对占比(总和为100%),做柱状图如下:
图5:上证综指日度收益率分组占比情况
从图5中我们获得了哪些新的见解?首先,我们再次核实确认了一个事实,那就是收益率的正负占比似乎非常可比,因为左侧的两个柱子的高度跟右侧的两根非常对应可比。但是,仔细看一下,右侧的0%~5%对应的柱子高度,略微高于-5%~0%的柱子。这在一定程度上说明,上证综指收益率虽然正负占比非常可比,但是正收益率占比要稍微高一些。然后,我们获得了一些新的见解。例如,从图5可见,上证综指的日度收益率基本上局限在正负5%之间。超过5%(或者负的5%)的情况不是不可能,但是可能性非常小。你看,这是什么?这是另一个从不确定性中洞察得到的确定性规律,是简单的正收益率占比52.5%所不能表达的新知识。聪明的你是不是立刻想到了一个进一步的分析想法?那就是:能否分组分得更细密一些?例如,每1个百分点1组,让我们进一步分析一下正负5%之间的收益率是如何分布的?也给我们一个机会去进一步的看看,如果收益率确实落在正负5%以外,它们的分布规律又如何?为此,我们做了图6。
图6把1997年1月1日后的所有上证综指日度收益率数据分成了19组,其中标号为0的组对应的是0%~1%的收益率,标号为9的组对应的是8%~9%的收益率,标号为-9的组对应的是-8%~-9%的收益率。在我们的数据中没有出现上证综指收益率低于-9%的情况。从图6中我们又看到了什么?又获得了什么样的新知识?首先,这是不是一个非常优美的图形?这个图以更加精细的可视化展现,再次验证了上证综指的分布规律。它关于0%基本对称。这再次印证一个事实:上证综指的涨跌占比基本相当,不确定性很强。同时,仔细对比一下(例如)标号为0的柱子(对应0%~1%的收益率)以及标号为-1的柱子(对应-1%~0%的收益率),显然标号为0的柱子更高一些。同样的规律也出现在标号为1和-2的柱子对比中,以及标号为2和-3的对比中。这说明什么?这说明:上证综指虽然涨跌占比相当,但是总体而言,涨幅占比要更高一点点。同时,图6还给我们清晰地描绘了上证综指出现极端收益率(例如:标号为正负9的两组)的可能性,虽然很小,但是似乎不能忽略。所有这些柱子放在一起,对上证综指的日度收益率的分布情况,做了一个基本的描述,一个简单的可视化展示。这虽然不尽完美,因为仅仅这样一堆柱子,并不能支撑更加精细的量化投资决策。但是,它确实给我们提供了一个非常好的起点。它快速而直观地描述了上证综指的收益情况(例如:正收益率占比),以及风险情况(例如:极端收益率占比)。而这所有的柱子放在一起就构成了一个重要的统计学可视化工具:直方图(Histogram)。
图6:上证综指日度收益率分组占比情况
上面这个直方图是我自己写代码实现的。为此,我首先对数据完成了分组(每1个百分点为一组),计算频率,转化为相对占比(%),然后用柱状图实现。这样做的好处是:随心所欲。我可以自己决定分组规则,自己决定颜色选取等等。但是,缺点也很明显:太麻烦,不适合很多的普通用户。但是,请不要担心,如果你能上手学习一门统计学相关的编程语言(例如:R、Python、Stata等),那么一个简单的命令就可以实现。而下面图7展示的就是R语言所实现的直方图。
图7:基于R语言hist命令实现的直方图
对比一下图6和图7,其实基本相似。相较而言,图7在可视化方面处理得更加精细,而且编程更加容易。但是,凡事都有两面性。为了使得编程更加容易,R语言自动决定了分组规则。在绝大多数情况下这些分组规则都是非常合理的。但是,也不排除有的时候作为用户的你会有其他的非标准需求。例如,给定咱们样本量这么大,能否做更加细致的分组呢?如果把所有的数据分10组会怎样?100组会怎样?1000组又会怎样?为了满足你的好奇心,我把这三种情况画在了一张图上;请见图8。
图8:分组数目对直方图结果的影响
从图8中你又看到了什么?首先考虑图8最左侧的10分组直方图。它确实展示了上证综指的日度收益率分布情况。但是,看起来非常不连续。所谓不连续是说相邻两个柱子的高度有可能差异巨大。这可以理解,因为分组太粗糙了,造成不同组所代表的收益率确实非常不一样,因此对应的频率自然非常不同。但是,随着分组数目的增加(例如图8中间的100分组直方图),这种不连续性在降低,而连续性在增加。因为分组非常细密,造成相邻两组所对应的收益率非常可比(例如:0.1%~0.2%对比0.2%~0.3%),因此对应的频率也一定相似,从而对应的柱子高度也一定相似,结果是最后整个直方图看起来非常“连续”(Continuous)。当然,这个实验可以继续推进。当分组数进一步增加到1000的时候(图8右侧的1000分组直方图),很遗憾这个改进的趋势似乎消失了。我们能找到大量的相邻分组,它们对应的频数差别巨大,因此在直方图中对应的柱子高度也差异巨大。这是为什么呢?
图9:从直方图到概率密度曲线
请注意,我们只用了1997年1月1日后的数据,样本量为5951。但是,我们却构造了1000个分组,有的分组的样本量会大大高于6,也有的甚至为0,但是平均而言每个分组的样本量不到6个。因此,相邻两组之间,只要有1个样本量的差异,就可能意味着巨大的相对频数差异,因此在直方图上可能就表现为巨大的高度差异。由此可见,图8右侧1000分组直方图所表现出来的不连续性应该是样本量不够造成的。仔细看看该图,其实不难发现,如果能够把那些少数的,粗糙不连续的“异常”柱子去掉,其整体趋势是非常“连续”的。因此,可以大胆猜测一下,如果上帝能够给我们足够的样本量(例如:600万样本,600亿样本),我们有足够的理由相信,图8的1000分组直方图会非常“连续”,我们甚至可以尝试1万分组,会更加连续。如果这个思想实验能够持续进行下去,直方图中的“柱子”将从我们的视野中消失。取而代之的是图9左侧图中展示的这根非常连续的红色曲线。
这根曲线是什么?答:概率密度曲线(或者函数)。从理论上讲,这根曲线对应的是有无穷多样本,无穷多分组的情况下,我们能看到的直方图的形状。为了更好地帮助你理解概率密度曲线和直方图之间的关系,在图9的右图中,我将概率密度曲线和100分组的直方图画在了一起。你看他们的形状是否非常相似?概率密度曲线就是样本量充分,分组足够细密的情况下,直方图应该有的模样。如果直方图每个柱子的高度对应该组样本在整个样本中的相对占比,那么所有柱子的高度求和就应该100%=1.0。对应到图9左侧图中这根曲线,那就是要求这根曲线下方关于面积的积分不多不少正好为1。概率密度曲线是一个非常优美的数学工具。如果我们能够假设不同的日度收益率独立同分布(这个假设显然不成立,但是是一个有用的起点),那么概率密度函数优美、简洁、而且充分地刻画了上证综指日度收益率的不确定性。如果我们想知道上证综指日度收益率在0%到5%之间的可能性有多大,只需要计算一下概率密度曲线下方,横坐标介于0%到5%之间的面积有多大就可以了。如果我想计算一下,我遭受-5%亏损的可能性有多大,只需要计算一下曲线下方,横坐标小于-5%部分的面积有多大就可以了。你看这是不是非常简单,非常优美。
现代化的金融投资决策需要科学、系统、丰富的,基于数据分析的决策工具。这些工具包括但不局限于:均值方差理论、资本资产定价模型、因子模型、GARCH模型、Value-at-Risk等,无一例外都是在理解资产收益率中的不确定性。而只要涉及到不确定性,就会涉及到一个根本性问题,那就是:用什么数学工具来描述不确定性?答:概率分布。而概率密度函数,是用于描述连续型数据不确定性的最基本工具。显然,连续型数据不仅仅出现在金融投资中。医学中的身高、体重、血压、血脂都是连续型数据。营销实践中的价格、购买金额、折扣力度等也都常常以连续型数据的形式存在。如果你用心环顾四周,不难发现连续型数据比比皆是,而且描述了大量的不确定性现象。而概率密度函数就是我们理解连续型数据背后不确定性的基本工具。你说它重不重要?
简单总结一下,通过上证综指这个案例,我们理解了看似不确定性的数据,可能也有确定性的规律,而这些规律就是我们统计分析的目标所在。为此,我们发展了一个非常有用的可视化统计学工具:直方图。直方图的绘制依赖于实际样本量。样本量越大,直方图就可以支撑更多的分组,并因此展示更加细致的信息。但是,对于实际工作而言,样本量永远是有限的,因此不会超级细致。但是,这个探索的过程启发我们:如果样本量真的可以无限大,直方图可以无限精细的情况下,会发生什么?这就引出了在理论上极其重要的一个工具:概率密度函数。概率密度函数是我们理解连续型数据不确定性的一个极其重要的工具。从理论上讲,只要知道了概率密度函数,我们就知道了关于数据的一切规律(不是知道数据本身)。因此,前辈学者投入了巨大的心血和精力,发展了大量的适合不同类型连续型数据的概率密度函数。它们特点各不相同,适用场景各不相同,性质也各不相同。这是咱们接下来学习的重要内容。
京东购书
当当购书
往期回顾