有哪些让人惊艳的经济学模型？
经济学模型演绎出来的是某种社会现象背后所蕴含的作用机理，如果这个现象够普遍，我们就把它叫做特征事实，即stylized facts。 这个作用机理就是经济学家的idea，建立理论模型就是要把该idea用规范的语言描述出来。建模是科研的第二个阶段，第一个阶段是精读学术文献、提炼科学问题并形成独创idea，我在“博士应该采取什么策略读文献”这个问题下对第一个阶段的工作进行了详细的阐述。 借着这里题主的问题，我就刚好先介绍几个有趣的模型，然后讲讲如何自己写模型。 模型最迷人的地方有三个：一是化繁为简；二是普世适用；三是直击本质。 经济学这个学科可以说是把模型的这三个特性发挥得淋漓尽致。但模型绝不是数学，数学只是表达模型的规范性语言，我更喜欢把模型称为一个故事，一种算法或者一种方案。下面我尽量先规避数学来描述出模型的思想，然后再举一个用数学公式堆砌出来的实际模型。 一、为什么说模型能够化繁为简，这里我举一个用宏观经济学中的递归模型（Recursive Model）来简化解题方法的例子。 想象你站在一幢高一百层的大楼前，手握两个钢化玻璃球。然后你从电梯上到某一层楼，从这层的窗户把球给扔了出去。如果球没碎的话，那楼层高度肯定是小于X的，如果层高等于或大于X，球肯定就碎了。我们的问题就是想办法找出X的数值。那么采取怎么样的一个策略才能使我们在最倒霉（最倒霉的意思是指完全没有运气的成分，也就是说完全靠证据和推理找出来这一层）的情况下把上下楼测试的次数减少到最低，也就说至多要跑几趟就能找出这个X？ 假设最佳的策略可以让我们只扔N次，我们应当直接跑到第N层去扔第一个球，这时候会出现两种情况： 大家找出规律没有，如果出现了上述第二种情况，当我们在第2N-1层扔完以后，需要做出的判断完全和上述相同，判断的准则是嵌套的，如果球还是没有碎的话，我们就要上到第3N-3 = N + (N-1) + (N-2)层了。 综上所述，手握两球的你最多扔N的话，你能够覆盖到的总层数就等于N + (N-1) + (N-2) + (N-3) + … + 1 = 首项加末项乘以项数除以2 = (N + 1)*N/2，而这个总层数是必须要大于等于100的。因此满足这个条件的最小整数就是N = 14。换句话说，在最倒霉的情况下，最多扔14次就可以找到让球破碎的那个楼层。 把这种递归的思想用到各种学科中就是动态规划（dynamic programming）模型了。动态规划就是说把某个复杂的问题分解成一组比较好解的小问题，每个小问题只用求解一次，解出来的结果或者方法存下来，就可以用于解决下一个类似的小问题。好，相信大家已经了解了递归的思路，我们现在来试试看attack一个正儿八经的宏观经济学问题。 假设有一位寿命为 T 的消费者，他的效用方程为 U(C_{t})=ln(C_{t})，其中 C_{t} 是消费者在第 t=0,1,2，...，T 期（时间是离散的）的消费量。再假设该消费者将下一年效用折现到本年的折现率为 0<\beta<1 ，消费者所拥有的初始资本数额为 k_{0}>0 。下一期资本的数额是由上一期的资本和消费共同决定的， k_{t+1}=Ak_{t}^{\alpha}-c_{t} ，其中 A 是一个常数（全要素生产率）， 0<\alpha<1 是生产中资本使用的密集程度。那么我们就可以把该消费者的最优决策方程写出来： max\sum_{t=0}^{T}{\beta^{t}ln(C_{t})} ，约束条件为 k_{t+1}=Ak_{t}^{\alpha}-C_{t}\geq0, \forall t=0,1,2,...,T。 这么写出来的话，这个最优问题是很难解的，因为我们要算的东西太多了，要一次算出每一期的消费量。递归思想和动态规划就可以帮助我们来简化，只要我们定义出一系列的价值方程：V_{t}(k), \forall t-0,1,2,...,T,T+1。每个价值方程的含义就是消费者在 t 时期拥有数量为 k 的资本时的所有价值（包括当期和未来每个时期的价值）。需要注意的是  V_{T+1}(k)=0 ，这是因为死后资本就没有价值了。 那么任意一个时期的价值方程等于什么哪？ V_{t}(k_{t})=max[ln(C_{t})+\beta V_{t+1}(k_{t+1})]，约束条件为 k_{t+1}=Ak_{t}^{\alpha}-C_{t}\geq0。 这个最优求解问题就要比之前的简单多了，我们只要解出 C_{t} 和 k_{t+1} 两个变量即可。具体解法就是倒推，即通过贝尔曼等式先解出 V_{T}(k) ，然后一期一期往前推导，直到最后求解出 V_{0}(k) 。 由于第 T-j 期的价值方程 V_{T-j}(k) 就等于 \alpha\sum_{i=0}^{j}{\alpha^{i}\beta^{i}ln(k)}+constant ，所以该期的最优消费数量 C_{T-j}(k) 就等于 \frac{1}{\sum_{i=0}^{j}{\alpha^{i}\beta^{i}}}Ak^{\alpha} 。这样就等于是把每一期的消费数量也算出来了。 C_{T}(k)=Ak^{\alpha} C_{T-1}(k)=\frac{Ak^{\alpha}}{1+\alpha\beta} C_{T-2}(k)=\frac{Ak^{\alpha}}{1+\alpha\beta + \alpha^{2}\beta^{2}} ...... C_{0}(k)=\frac{Ak^{\alpha}}{1+\alpha\beta + \alpha^{2}\beta^{2}+...+\alpha^{T-1}\beta^{T-1}+\alpha^{T}\beta^{T}} 可以看出来，随着年纪的增大，消费量占当期总财富 Ak^{\alpha} 的比重越来越高，只到在死去的那一期将该期生产出来的财富全部消费掉。 乍一看很棘手的问题，用递归的思想就迎刃而解了。 二、为什么说模型能够普世适用，我举一个将国际贸易学中的比较优势模型（Comparative Advantage Model）应用于金融产品设计的例子。 考虑美国和中国这两个国家，每个国家都只能生产牛仔裤和玉米两种商品。但是每个国家生产每种商品的生产率都是大大不同滴。 从一单位投入（即每位工人每天的工作量）所得到的产出数量这一收益角度来看： 从一单位产出（即一条牛仔裤或一捆玉米）所需要的投入这一成本角度来看，换句话来阐述上表就是： 因此，美国不管是在生产牛仔裤还是玉米上都要比中国的效率更高，我们说美国具有绝对的优势；但是美国只在生产玉米上具有相对优势，在生产牛仔裤这件事情上，有优势的是中国。为什么这么说，因为美国生产玉米的机会成本是比较低的，而中国生产牛仔裤的机会成本是比较低的。 你看，一位工人在同一时间是不能同时从事两份工作的，如果一位美国工人John从牛仔裤生产线转去田里种玉米了，那么John每多生产1捆玉米用掉的1/30天个工时本来是可以生产1/3 = (1/30)/(1/10)条牛仔裤的，因此，美国人生产一捆玉米的机会成本就是1/3条牛仔裤。相比之下，如果一位中国工人张三也工转农了，那么张三每多生产一捆玉米用掉的1/2天个工时本来是可以生产3 = (1/2)/(1/6)条牛仔裤的，因此，中国人生产一捆玉米的机会成本要比美国高了整整9倍，那生产玉米对中国人来说就真是不划算。 同理，美国人生产1条牛仔裤的机会成本就是3捆玉米，中国人生产1条牛仔裤的机会成本才是1/3条牛仔裤。明显，生产牛仔裤对中国来说就是相对成本很低的一件事儿。 正是因为这两个国家比较优势的不同，使得即使美国在每个产品上都比中国生产率高，两个国家也能通过贸易得益，中国人可以专注生产对自己来说机会成本较低的牛仔裤，成本低了价格就低嘛，在国际市场上就吃香，就可以出口给美国；而美国人则可以专注生产对自己来说机会成本较低的玉米，然后出口给中国人。这样的话，皆大欢喜，两个国家都能够穿更多条牛仔裤，并吃掉更多捆玉米（虽然玉米实际上主要是用来喂猪的，和生产乙醇的）。 如果我们把这个国际贸易中的理论抽象出来，这个理念是可以用到很多地方的，只要两方在不同的领域有比较优势，那么总存在一种安排形式使得两方都可以收益。不信我们试试看。我就挑一个swap这种掉期金融产品的例子吧。 什么是掉期金融产品？就是两方互换标的物件，最常见的标的物件就是利率水平了，比如，甲买了一份固定利率债券，乙买了一份浮动利率债券。刚刚买完，甲乙都后悔了，因为甲觉得这利率要涨啊，我将来收固定利率亏了。但乙觉得这利率怕是要跌了，不如当初来一份固定利率的，还能保障权益。那么甲乙就可以签个掉期合约，甲把收到的固定利率收益直接给乙，作为交换，乙把收到的浮动利率收益直接给甲，两方都觉得自己占便宜了。 好，理解了掉期产品的概念，我们来看看怎么用经济学里的比较优势模型来解决下面这个实际的问题。有点儿小复杂，又牵扯到利率，又牵扯到货币，大家集中精神了。 说有这么两家公司，一家是美国公司，它想借一笔数额等于一个亿的人民币在中国建厂，另一家是中国公司，它想借个一千万美元来支付刚刚从美国进口来的货物。简单起见，我们假设汇率就是一美元换十元人民币，而且维持好长一段时间不变，变了也没事儿，两家公司都可以通过买远期汇率合约的方式，来把汇率变动的风险给hedge掉。 两家公司四处一打听这个借款的利率，差别还不小。美国公司在美国银行借美元的利率是10%，在中国银行借人民币的利率是7.25%。中国公司从美国银行借美元的利率是11%，在中国银行借人民币的利率是7.5%。 美国公司是个大公司，你看它都要在国外建厂，做对外直接投资了，啧啧啧，信誉比较好，评级比较高。所以，不管是从美国的银行还是中国的银行借款的利率都比较低，借美元的时候比中国这家公司要便宜100个basis point（简写作bp，1个basis point就是0.01%），借人民币的时候比中国这家公司要便宜25个bp。美国公司在借钱这件事儿上是不是就有绝对优势。 但如果是比较优势哪？美国公司就在美元借贷市场上有比较优势，因为它借美元的时候比中国公司借美元的利率低了100个bp，但借人民币的时候却相比之下只低了25个bp。所以，相对来看，中国公司就在人民币借贷市场上有比较优势。 有一家投行看到这里有利可图啊，于是把两家约到一起商量事儿，说大家看看我这么安排好不好： 美国这家公司，你去以10%的利率借一千万美元，中国这家公司，你去以7.5%的利率借一个亿人民币，然后你们把借来的钱一换，等到借款到期的时候你们再各自把本金换回来。 那中间时期的利息付款怎么处理？美国这家公司，你就按照7%的利率来付人民币的利息吧（你建了厂，生产了产品，卖给中国人刚好有人民币收益），中国这家公司，你就按照10.6%的利率来付美元利息吧（你拿到了进口货物，来料加工一下，再卖回给美国人刚好有美元收益）。 美国公司一听，好，我自己去借人民币，利率是7.25%，比7%高，答应投行这个事情我就赚了，中国公司一听也说好，我要是自己去借美元，利率要11%那，比10.6%高，划算。 本金上换过来换回去不亏不盈，但是中间时期的利息付款上，我们来算算看谁都赚了多少，如下图所示： 每一个中间时期，先看从左往右的粗体箭头，中国公司拿出1百零6万美元给作为中间商的投行，投行从里面拿出1百万美元给美国公司，让美国公司去还借给他美元的投资人；再看从右往左的细箭头，美国公司把中国分厂收益中的7百万人民币拿给投行，投行在自己贴上50万人民币，凑成750万人民币给中国公司，好让中国公司去支付利息到借给他人民币的投资人。 中国公司每年都在一千万美元的本金上少支付了一个0.4% = 11% - 10.6%的息差，相当于赚了4万美元。美国公司每年都在一亿人民币的本金上少支付了0.25% = 7.25% - 7%的息差，相当于赚了25万人民币。投行每年从中国公司的利息付款上赚了6万美元，而在美国公司的利息付款这笔交易上亏了50万人民币，合计赚了1万人民币。 如果你觉得在投行给出的这份合约中，7%的人民币利息和10.6%的美元利息是随意指定的数字，那你就错了。其实这些利息率就是市场供需关系决定的价格。高低是由参与该合约各方的bargaining power所决定的，如果有很多中国公司想干这个事儿，那么得手的中国公司肯定要接受一个更高的美元合约利率，拿到的好处就少一些。总之，这笔根据比较优势衍生出来的馅饼会在三方之间分一分，谁的bargaining power大，谁就能多分一点儿。 大家可以看到，一个由某个经济学专业领域提炼出来的小众模型，其实可以应用到很多的地方。 三、为什么说模型直击本质，我举一个劳动经济学中以坝址看待工作岗位（Jobs as Dam Sites）之模型的例子 这个模型将一个工作职位类比做一座水坝的地理位置。 尽管一座水坝确实可以有效地发挥蓄水或者发电功能，但如果它不能充分利用其所在坝址的全部价值的话，那么该水坝可能就是浪费了宝贵的坝址资源。这样来看，即使这座水坝的建造成本为零，而且也在产生一定的价值，但是从浪费了坝址资源这一意义上来看，其代价又是非常高昂的。 同样的逻辑来看工作岗位和员工之间的关系可以说是看透了雇佣的实质。咱们可以把工作职位视作类似于水坝的位置，而把身负不同技能的工人看作是在该坝址上可能会被修建起来的水坝。 对于技术水平比较低的工人来说，即使他们要求的工资为零，他们也可能是找不到有价值工作的，这并不是因为他们在工作岗位上的劳动产出为负值，而是说他们没有能力去充分发挥这些工作岗位本身的价值。也就是我们常说的宁缺毋滥。 这就导致下面这个结论，即技能较低的工人是无法通过自降工资的方法，从技能较高的工人手中抢走工作岗位的，技术岗位的工资弹性是很低的。就算是在弹性工资的体制下，技能水平低劣的劳动力也总是比技能水平较高的劳动力，先一步面临失业的问题。 假设在一个工作职位上工人使用一单位类型为 \alpha 的劳动力，和 m_{\alpha} 单位的原材料，就能够生产出 q_{\alpha} 单位的产品。令 p_{m} 表示原材料的价格，然后令 p_{f} 表示最终产品的价格。令 w_{\alpha} 代表类型为 \alpha 的劳动力的工资。那么，使用类型为 \alpha 的劳动力来担任这个工作职务的企业，将能够获得的利润是： p_{f}q_{\alpha}-p_{m}m_{\alpha}-w_{\alpha}。 同样地，如果企业使用类型为 \beta 的劳动力来担任这个工作职务的话，它的利润将是： p_{f}q_{\beta}-p_{m}m_{\beta}-w_{\beta}。 我们现在就可以看出，一位类型为  的劳动力是否可以通过低价竞争上岗的方式，从一位类型为  的劳动力手中夺取这一工作职位。 只要满足 p_{f}q_{\alpha}-p_{m}m_{\alpha}-w_{\alpha}>p_{f}q_{\beta}-p_{m}m_{\beta}-w_{\beta}， 那么，一位类型为 \alpha 的劳动力将比一位类型为 \beta 的劳动力优先得到这份工作；或者，上述不等式也可以被写作，只要满足 \frac{w_{\beta}}{p_{f}}>-q_{\alpha}+q_{\beta}+\frac{p_{m}}{p_{f}}(m_{\alpha}-w_{\beta})+\frac{w_{\alpha}}{p_{f}}， 工作职位就将属于那位类型为 \alpha 的劳动力。 让我们换一种表述方法，如果 \beta 类型劳动力的保留工资高于上面这个不等式右手边的数值的话，那么，这位类型为 \beta 的劳动力就将不会获得这份工作。如果一位 \alpha 类型劳动力的技术水平明显超过了\beta 类型劳动力的话，那么，这位高技术工人在这一工作职位上将能够利用更少的原材料生产出更多的产品。在这样的情形下，给定一个足够小的 \frac{w_{\alpha}}{p_{f}} ， \beta 类型的劳动力如果想要获得这份工作，就将不得不接受数额为负的保留工资。从这个意义上来说，即使熟练工在非零的工资水平上被雇用，弹性工资制度也将不能保证非熟练工能够获得工作的机会。 这么简单的一个模型，经济学家嘴里竟然能解释出花来，真是恍恍惚惚，服气服气。 上面我讲到了理论模型为什么是一种思路，生成这个思路的过程是因人而异的，需要极深度的思考和反复权衡与推演，我在这里讲讲想好之后应该如何将其规范地表达出来，下面的准则大家应当遵循。 最后就是不断地修改、修改、再修改。要记住再好的模型也得有良好的表达才能被大家所接受，先颜值，才能了解内心。 最后，祝大家都能写出自己的理论模型，要知道会写模型的门槛可是很高的哦！