2019年7月5日至9日,北京大学经济学院举办博士研究生Matlab工作坊。本次工作坊以“用Matlab求解经济问题”为主题,讨论用Matlab求解经典的经济、金融问题。本次工作坊由北京大学经济学院金融系王熙老师以及九名博士生(来自北京大学经济学院等)主讲,内容涵盖五个专题,每个专题由理论方法和实例应用组成。
7月5日,北京大学经济学院周之瀚、杨曦、张原劼分别对Matlab基础的理论和案例进行了讲解,详细介绍了Matlab在计算、绘图、优化和计量经济学方面的应用。周之瀚和杨曦详细介绍了Matlab在计算和绘图方面的应用,并由浅到深的讲解了循环、判断、函数的使用方法。张原劼分享了如何使用循环、判断、函数和Matlab自带的命令实现智能算法,详细讲述了枚举法、遗传算法等内容,并讲解了如何用基础的命令实现每一个步骤。最后,张原劼还讲解了如何更高效地使用Matlab实现Fisher组合检验,以及使用Matlab编程时如何提高程序运行的速度。
7月6日,北京大学光华管理学院魏浩宇、经济学院杨曦为大家分享了运用Matlab进行数值微积分以及解常微分方程的相关理论以及具体的实例操作。魏浩宇详细介绍了牛顿-斯科特积分法,高斯积分法,以及蒙特卡洛积分的原理,并推导了相关的重要公式。然后魏浩宇讲解了数值微分的理论,进行了精度分析,并推导了重要的欧拉方法以及龙格库塔法的公式。杨曦从实例出发,依次为大家分享了变步长辛普森法、牛顿-科斯特法、蒙特卡洛积分法的实例操作,并讲解了Matlab进行微分的方法,帮助大家正确地运用差分方法解决微分问题。最后杨曦为大家讲解了Matlab求解一元、二元方程以及常微分方程的实例。
7月7日,北京大学经济学院周之瀚、王帅为大家分享了用Matlab实现静态最优化的理论基础和具体操作。两位主讲人主要介绍了无约束下的最优化、有约束下的最优化和极大似然估计等内容。在无约束下的最优化中,主讲人介绍了如何使用精确和非精确线搜索技术来确定算法迭代的步长因子,再通过讲解最速下降法、牛顿法、拟牛顿法等算法来为同学们展示如何求得算法迭代的搜索方向。在有约束下最优化中,主讲人介绍了外罚函数法、内点法、乘子法等方法,让同学们掌握如何用这些方法将有约束下最优化问题转化为一系列无约束下最优化子问题进而求解。最后,主讲人以求解香蕉函数的极小值点以及极大似然估计为例,讲解了用Matlab实现静态最优化问题。
7月8日,北京大学经济学院崔琨和马克思主义学院王静,从宏观应用角度,为大家分享了Matlab在动态经济模型中的实际操作。崔琨为大家分享了离散时间下动态问题的理论内容。崔琨借助OLG、简单DSGE、基本RBC模型,详细讲解了求解动态最优化的方法,并通过展示Matlab、dynare的具体操作实现模型求解。王静为大家分享了如何利用Matlab实现动态最优化迭代(包括向前递归、值函数迭代以及政策函数迭代),以及如何利用CompEcon工具箱求解动态最优化问题,并通过Matlab实际操作求解美式期权、确定性以及不确定性RBC模型。
7月9日上午,北京大学国家发展研究院殷戈从微观应用角度,为大家分享了Matlab在结构模型中的实际操作。殷戈基于Rust(1987),为大家展示了single agent dynamic model在结构式估计中的应用,介绍个体面对动态问题进行决策的问题的参数估计方法。
7月9日下午,本次暑期工作坊特邀北京大学经济学院金融系王熙老师做专题讲座。王熙老师为大家主讲了连续时间模型的最优化解法。首先王熙老师以连续时间的拉姆塞模型为例,讲解了HJB的相关理论以及利用HJB求解动态最优化问题的具体步骤。随后王熙老师讲解了Matlab求解最优化的计算理论。最后王熙老师为我们讲述了求解最优化问题的Matlab操作,细致讲解了Matlab命令的写法与注意事项。同学们表示王熙老师的讲解深入浅出,严谨详细。
本次暑期工作坊受到了学员们的广泛好评,学员表示不同于以往的Matlab学习讲座,本次暑期工作坊更加侧重于Matlab在经济研究中的应用,理论加实例操作的学习形式,可以帮助学员理解Matlab背后的算法逻辑,提升了学习的针对性。5天的集中学习,学员们纷纷表示收获颇丰,为进一步学习研究打下了良好的技术基础。
美编 | 智雯昕
校对 | 裴家乐、智雯昕