信息可能有滞后,不是很全。而且其他同学绝大多数在实习,而且好些已经进入最终的面试,在等结果。
*****************************************************************************
Part II. Fordham MSQF 课程设计
*****************************************************************************
以下课程分类纯属楼主自己的感觉,说不上科学哈。而且一个课程会出现在多个分类里面,原因是课程的属性确实多方面。
1. Theoretical Pricing
这部分的课程,俗话讲,就是着重于模型的数学层面,进行公式推导
Discrete-time Modelling课程:Financial Theory I.
Continuous-time Finance Modelling课程: Introduction to Stochastic Calculus, Financial Theory II (optional), Advanced Derivative Pricing(optional).
点评:相信学过这些课程,对于模型的数学方面会有一些认识,对于自己的公式推导能力会有不少的提高,对于面试中一般会考到的公式推导应该不成问题吧。楼主感觉的情况是,公式推导可以在模型最关键的地方加强自己的理解,用公式来解释“语言上晦涩的概念”,理解抽象语言后面具体的数学逻辑。
2. Financial Derivatives
这部分着重于从金融层面讲授产品特征和应用。
课程有:Basics of Derivatives,Equity-Style Derivatives,Fixed Income Securities,Interest Rate Derivatives,Fixed Income Portfolio Management(optional 楼主没上过)。
点评:这些课程着重从金融产品需求、特征、应用的角度来讲。各个课程中重要的产品和数值方法(Binomial Tree, Finite Difference, Monte Carlo Simulation)都会要求用程序来实现。学过这些课程,对于各类的金融产品会有一些认识、理解,关键是自己编程实现过后,会印象深刻,容易记住,和别人交流的时候不是通过背诵(容易忘记),而是通过实践经验和认知,这样子自己会比较有自信的。
因为第一二部分课程的着重点不一样,所以会有部分内容重叠的现象,不同老师从不同角度来讲解,认知会加深。试想,如果一个模型,你学过它的需求、产生背景和应用层面,从数学上完整推导过几遍,然后又用程序完成了它的计算过程,这样子是不是更加全面了呢?
3. 统计和计量方法
这方面课程有:
Financial Econometrics I,Financial Econometrics II,Large-Scale Data Modelling.
这些课程着重于金融中需要用到的统计和计量经济学的模型,配合软件、数据来培养数据的实证能力。这部分涵盖了一般的横截面数据和时间序列的方法。用到有MATLAB 和 SAS.
4. Risk Management
Market Risk课程:Risk Management
Credit Risk课程: Credit Risk Management
Interest Risk课程:Fixed-Income Securities, Interest Rate Derivatives
Derivative Risk课程:包含在各自的金融产品课程中,参见Part II. 2.
5. 软件学习
这部分是包含在各个课程里面的。之所以单独出来是因为软件的应用是以下两个专业重要的区别之一:Master of Finance 和 Master of QuantitativeFinance/Financial Engineering/Mathematical Finance. 也是找工作最核心的能力之一吧。因为一般工作上不太会对于数学推导能力有特别高的要求(除非model validation in theoretical perspective, model developer等比较难的职位),模型的金融层面的内容相对也不那么难学,计量经济学的模型书上都写着呢,怎么区分你在工作中的实践能力呢?很多时候是编程实践、数据实践。当然,这还有另外一个原因:通常编程所需要的对于模型的理解能力、细节把握程度是高于口头表述的。
Fordham MSQF 需要用到的编程软件是:
EXCEL-VBA 相关课程:Financial Modeling (VBA), Fixed Income Securities.
用的功能有:函数的输入输出,绘图,信息窗口,用户界面设计,期权定价,蒙特卡洛模拟,资产组合最优化,Pass-Through Mortgage Back Security, Duration and Convexity Hedge for Bond Portfolio, Nelson Siegel Hedge, Hull and White Interest Rate Lattice, Imbedded-Option Bond, CDS Credit Curve Bootstrapping。
MATLAB相关课程: Simulation, Financial Econometrics I, Financial Econometrics II, Risk Management, Credit RiskManagement.
用到的功能有:函数的调用,计量经济学包的应用,自编以下模型:Monte-Carlo Simulation and Variance Reduction, MaximumLikelihood Estimation, GARCH Family(Asymmetric GARCH, GARCH-M, NGARCH) ,Value-at-Risk 的 四五种方法,Multivariate GARCH, ,Nth-to-Default Swap Rate, One-Factor Gaussian Copula, Unconditional Loss PDF (Approximation and Simulation), KMV, CDS-implied EDF等等。
C++ 相关课程:Introduction to C++ (pre-requisite for non-Engineer background) C++ Programming for Finance.
就是标准的Object-Oriented C++ Course. Pointer, Class, Inheritance, Polymorphism, Derived Class, Virtua Function, Template, Introduction to STL 都会有的。感觉学的东西不少。会结合金融有应用,如option pricing,Momentum Trading and Moving-Average Trading (这trading部分楼主学的非常不好啊,请原谅啊。)
SAS 相关课程:Large-Scale Data Modelling.
SAS是大规模数据处理神器啊,是目前所有数据软件中运行速率最快的了吧。大规模的数据非它不可了。课程内容是基本的data step 和 proc step的内容,也有部分应用计量经济学软件包,学的深度相对浅显,有三次作业。
我们这一届没有学,下一届学了的软件(楼主没有去学):
Stat相关课程:FinancialEconometrics I.
SQL相关课程: Financial Programming。
*****************************************************************************
Part IV. 楼主的主观回忆
*****************************************************************************
1. 过度轻松的暑假。(July 16, 2012—August 22, 2012)
本来担心跟不上,主动来修暑假课程,后来发现暑假课程确实太基础,结果就让生活过得比较悠闲,不思未雨绸缪,埋下了祸根。使得自己在接下来的八个月密集学习阶段基本上出于“挣扎”中。
2. 密集的学习阶段。(Sep 4, 2012-Dec 17, 2012, Jan 2, 2013-Apr28, 2013)
在最初八个月的密集学习阶段,最贴切的状态是“挣扎”,“痛苦的挣扎”,“时常逼近绝望的挣扎”。痛苦主要来自三个方面:不会编程,课程多,作业多。第一个秋季学期,课程太多太密集,每个课的作业看起来还好,但是所有课程的一起加起来,就非常多了。所幸部分课程楼主在本科中学过。但是编程确实让楼主犯难了。VBA是9-10月小半学期的噩梦,老师只是快速过了一下语法(两次课程)和需要用到的函数,接下来就没怎么讲语法了,着重讲金融模型,然后让我们编,这便是噩梦的开始,作业50行、80行、150行,300行地递增……由于真的没有好好学过编程,自己也不会debug,结果就非常悲惨。好几次自己熬到凌晨两点钟还是出不来,或者是全屏幕都是bug,不会纠正。靠着同学的code参考,debug帮忙,左询问右请教,勉勉强强交了一次又一次作业。考试现场编程,急的满身大汗,结果只写出了一半左右,得了一个B,成为了全班的倒数。这才真正意识到问题太过严重,接下来有意多花时间学习,可是潜意识中却埋下了畏惧的种子,每次遇到一个难题,种子就又生长一点,于是请教,参考,对于编程的要求降到了基本明白。第一学期选C++for Finance 是我永远的痛。那时候的我根本抽不出时间和精力去认真学习C++,自己对于C++的状态就像于体力极度匮乏的人对于周围的蚊子,没有体力去驱赶,快速入睡(摆脱C++)是唯一的奢求。
到了第二学期,受益于本科在数学推导和计量方面的基础,我有了更多的时间花在编程上面。这时候,我发现xue大哥的程序写的规范清楚,逻辑严谨,简洁不冗余,而且作业总是非常快速完成,于是我常常向xue大哥请教,我的编程技术开始了意想不到的提升。
首先,我把xue大哥程序打印出来,在纸质版上一行一行读,不熟悉的做标记,查MATLAB help。第二遍梳理程序的框架结构,着重选择、循环、选择嵌套、循环嵌套、选择和循环嵌套、文本和函数的安排、函数嵌套的安排。第三遍自己写,然后对照纸质版debug。刚开始的时候,第三遍不能正常进行,我就把xue大哥程序用MATLAB敲一两遍,抄完对照debug。然后再自己写,对照debug。在这期间,常常自己不会debug,xue大哥都非常耐心细致的帮我,每次看他debug都发现他的思路比我清晰好多,往往能将错误范围逐步缩小然后找到问题所在,每一次我都受益匪浅。就这样,编程水平渐渐地、渐渐地有了提高。两个月后,基本上可以自己独立写相对复杂的程序和作业了,但是还是会借来他的程序,对比着看,学习优点。如果没有xue大哥的话,我真的需要花好多好多的时间才能有这样子的进步啊。所以我非常非常感谢xue大哥无私耐心的帮助。
恰好,这时候遇到了一个非常非常认真的C++ Intro老师,每一堂课都有sample code,课程的sample code长度从最初2页,到3页,到5页,到后来8页。这样,每一节课我都有两份sample code,一份书上的,一分老师的,然后按照上一段的方法,慢慢理解,仔细读读,然后用电脑抄一抄,再自己写一写。渐渐的,编程才逐渐培养起自信和熟练。这个老师特别认真,虽然CS出身,却尽量用finance model作为例子,这样就非常非常好,利于我们理解,不需要首先理解程序写的内容,再来理解程序本身的逻辑。因为后者在理解上加了一道障碍,如果是初学者,可能不是那么理解程序本身的逻辑,因而看不太明白程序写的内容,故而无法通过内容的理解来明白程序为什么这么写。
作为初学者,要求我们在短期内学好编程,而且是几门语言的编程是不那么容易的。我觉得应该按如下方法分解编程:程序=内容(逻辑)+语言。这么理解的好处就是,我们可以分两步来做,第一步,将内容用我们人类的语言写出来,例如:
让i 从1到 10;
M=3*i+1
如果M小于12
L=M+2;
如果M在12和21之间
L=M-2;
…
结束i的循环
然后用电脑翻译成程序语言;
这样就有效避免了初学者困境:写内容(逻辑)的时候必须思考程序语言的规范,而在写程序语言的时候,却又要分心于内容(逻辑)的展开!!!我们没有两个大脑,不可能在没有一定熟练度的情况下同时完成两个事情!就像不经过训练,对大多数人是不做到左手画圆右手画方的。所以,先养成两步走的习惯吧,随着熟练度逐渐提升,再循序渐进。
感谢童鞋
咱么cohort6 是个特别团结、互相帮助的集体啊,一路走来,得到了好多好多童鞋无私的帮助和启发,所以不写出来心理好过意不去。
这里要最先最先,最隆重最隆重感谢Xue大哥,在我最最需要编程指导的时候给予了长期的、无私的、细心的指导和解答。从Financial Econometrics II 的 Maximum Likelihood Estimation, 到 Risk Management 的 Multivariate GARCH, 到SAS的作业,我差不多是一路参考你的code的规范和技巧才挺过来的。没有那段时间的编程学习(尤其是debug),我不可能是现在的我,也很难有后来突破自我一试的决心。
非常感谢yueyue,你是我见过的最最坚定于自己方向的人,在我还在挣扎的时候看到了不一样的活法和精神状态。你是我最早产生类似想法的启蒙者。还记得你的stochastic calculus的作业,给与了我很多的启发。如果不是隔一段时间听一下你那煽动性的“鸡血”,我很难有最后的决心啊。
非常感谢mengfei,感谢和你多次的探讨问题(其实绝大多数时候是向你学习)。尤其是“先着眼于思想和方法,其次再到技术细节”的学习方法,使我在最近一年获益匪浅。你对金融的痴迷和自信让我看到了对待未知不一样的状态,而这种状态也是我常常去刻意模仿和自我激励的。直到经过这一年的刻苦奋战和洗礼,我才有自信说大概接近了你一年前的水平啊。
特别感谢chen总和liu总,感谢你们第一年在生活上给予的体谅和关心。尤其是chen总,你处理了我们三口之家最多的垃圾,买了最多的早餐,去了最多的Chinatown,处理了电费煤气费网费,拿了最多次家里的信。又在第二年中,听了我最多的絮絮叨叨,靠谱不靠谱的话。还有啊,感谢VBA帮我两次关键的debug,否则我作业和project都交不了。感谢Financial Theory I 最后的编程code帮助,感谢Simulation coding方面的支持,让我全身关注于模型的证明的新的结合方法。Chen总啊,我要怎么感谢你才行啊。
感谢cuicui和mengyi,记得还是2013年的春节,我们家三人到你们家一起吃的火锅啊,好热闹,好温馨。那时候还是Financial Econometrics作业爆发的时候,可是那时候真的忘记了烦恼和作业,就是痛痛快快的玩啊。那才是家的感觉啊。Chen总好像是那次说从来没喝吐过吧,哈哈,结果……崔总真牛啊,嘿嘿。
谢谢ruili和xiaomai,谢谢你们组织好好多次到你们家的聚会啊,玩的很开心啊。我第一次见那么多同学就是在你们家啊,来飓风的那次你们组织来我们家玩杀人,暑假到你们新家吃大餐,2014的春节在你们家吃大餐玩桌游……你们人太好了有木有啊!
感谢fanhong,谢谢你一直以来的学习激情,感染着我,时常给我压力啊,后来的学习小组也催逼着我多多学习,多多进步。这学习最难的是什么呢?或许就是保持激情吧。2012年7,8月我其实没找到学习的激情,也想着终于放松一下,结果才有了后来的挣扎,虽然大家一起挣扎,但是只有自己最明白挣扎的有多么辛苦。学习本可以像你一样那么热情和享受,谢谢你。
感谢最后一年一路走过来的siyi,相互安慰,相互鼓励,有过共同的迷茫,共同的期待,还有过共同的沮丧,总算有最后的结果,祝福你呀,无论是爱情还是学业。都妥妥的,真好。
感谢min哥,谢谢你VBA project的code的指导,谢谢你GARCH-M帮忙debug,我都记在心里呢,我们班的励志故事代表啊,第一个Assistant Vice President啊。
感谢yuan哥,谢谢听我的几次唠叨,谢谢你的几次C++ code指点。你也是很早就开始思考自己未来的人啊,不盲从、不迷信、相信自己的判断。恭喜回国找到好工作啊,以后去上海找你玩啊。
感谢chenda,感谢最初几次C++ code的参考,我拿你的code临时抱佛脚现赶,有木有被看出来啊,哈哈。那时候我还没有完全克服自己对于C++的恐惧,还没有那么深刻明白独立思考和编程对于自我提升的价值。想起来泪流满面啊。
谢谢xiaoyi,感谢你帮我好几次debug C++,那时候我急的满头是汗啊,现在想起来,都觉得很惭愧。那时候正是我畏惧退缩的时候。
感谢xuxiao,我geske binomial tree model的MATLAB程序是照着你的学的呀,哈哈。还有谢谢你给我们大家带来的欢乐啊,相信大家都会印象深刻,嘿嘿。
谢谢yuqi大哥,谢谢你第一次C++课程对我的救赎。你懂得,没有那个,我水果的会更加艰难,更加悲催。第一个水果的C++for Finance见证着我痛苦挣扎过程中最大的无奈。有心学习,无力掌握……
谢谢豆豆,在我还对编程心有畏惧的时候,我看到了一个同样没有编程经验的你是那么大胆直接的在向编程发起一轮又一轮的冲击。在11楼,你还来问我怎么debug那个VaR程序,我都木有编到啊!!!虚荣让我鼓起勇气看你的code,结果我猜中了问题所在。木有被揭穿,运气太好了有木有啊。所以呢,我也应该更努力才是啊!
谢谢yixin,C++一组中你做的事情最快又最多,我有时候跟不上你的节奏啊,谢谢你让我感到那么放心,所以有心思放在仔细琢磨C++的基础,而不是每次都疲于完成作业。
谢谢houlirong,哇,你是第一个说我思路很清晰的人呀,哈哈。总之,很受鼓舞呢。你做事从来不那么急,该向你多学学呀。
谢谢kaihua,SAS第二次作业的proc transpose是看你的code学的呀。谢谢你有时候和siyi 带我去 Korea Town吃饭,最最艰苦的五个月中多少松弛了下紧张到极致的神经。
感谢yuanwei,好多次和你讨论问题,都很有收获啊。好多问题,你都能用几条主线和层次说的非常清楚。尤其是MATLAB 的 Maximum Likelihood Estimation, debug和你讨论了几次,记得当时@fun 要独立编写成function是你提醒我的啊。
帖子都快写到极限了,还有很多同学不能一一感谢了。希望大家都能有好的前景,生活的幸福开心。也祝愿Fordham MSQF越来越好。