转申金工,了解模型在金融学的意义,学习业

本文内容|爱科研学员提供

带班老师|Taro

编辑排版|可可

爱科研学员·Z同学

基本背景:中山大学/信息与计算科学/15级

参与项目:??哈佛大学热门科研:利用自然语言处理技术做出投资策略

科研选题:Text-BasedNetworkIndustriesandEndogenousProductDifferentiation

Z同学的相关基础情况:

专业课程包含计算数学以及计算机相关的内容;

在校期间曾赴UCL参加基于R的大数据暑期课程,本科毕业论文研究股评舆情文本分析及股价预测;

参加该项目是为了增强自身在量化金融领域的科研经历,通过导师的指导,研究相关论文学习业界的研究方法,补充金融领域的行业知识;

未来想申请金融工程以及金融数学相关专业。

一、科研过程与成果梳理

在本次项目中,我和我的组员们主要研究学习了基于公司在交易所的业务描述文本,利用词向量对公司进行相似度分析,从而得出每年更新的行业分类信息,对已有的分类结果/标准具有一定的指导作用。

项目初期:学习编程工具

针对项目,导师首先引入自测题让大家了解实际工作中的Python常用操作。项目开始后,导师指导我们学习了TFIDF,LDA,词向量等文本分析的原理和python实现,以及正则表达,gensim,多进程等常用工具包的使用。

*导师授课截图(Python学习)

项目中后期:算法实现和论文报告

在对Python数据处理,文本分析有一点掌握程度后,我们聚焦于论文方法的实现。从总结论文的分析方法和关键步骤到复现操作,在理论支撑下进行算法实现和数据处理。另外课程进行了共同基金命名的延伸学习。

1、理论基础

我们小组仔细阅读HobergPhillips的“Text-BasedNetworkIndustriesandEndogenousProductDifferentiation.”,记录其中的关键操作以及背后的理论原理。

2、收集数据,筛选文本

我们收集个公司的业务描述年报文本,按年份归类(公司相似度分析结果每年更新)。根据词性(Spacy包)筛选名词和专有名词,同时利用enchant包拼写检查,结合正则表达以及论文描述的去除在多于25%的文本中出现的词,综合各种筛选方法,最后留下统一小写的lemma(词形还原)词。由于文本较长,可采用多进程加速,同时把筛后词语存为pickle文件降低时耗。

3、构建文本-词频模型

筛好词后,构建文本-词频模型,个公司文本经筛选后,形成个不重复词的语料库。根据论文提到的基于SIC-3的细致程度,利用余弦相似度矩阵设定阈值,算出对相似文本,使得细致程度与现有分类标准相符。同时构建TFIDF模型,同样计算余弦相似度,可以看到TFIDF相比简单的文本-词频模型,是更加严格的相似度检测方法。最后统计每篇文本TFIDF的Top5词,以及词数/去重后词数的直方图用作后续分析。

4、确定最终论文报告

与导师沟通时,导师提出了可以用机器学习/神经网络提升行业分类的效果,提升因子表现。另外对于论文提出的部分关键步骤,导师也会适当提醒。最终的报告我们采用JupyterNotebook展示,同时编撰论文。

另外导师还介绍了这个领域的其他研究和论文,如可读性研究,关键词信息提取,情感语义分析,文本指标筛选等。帮助大家拓宽思路,深入了解文本数据在业界的研究价值。

*Z同学的FinalReport(部分)

二、导师全程助大家突破“纸上谈兵”的窘境

项目给大家提供了不同难度层级的Project选择。整体上,在算法的构建上没有复杂的数学公式推导,且demo代码也有很强的指导意义,避免了听懂理论而无从下手实现的窘境。

*导师授课截图

包含数据清洗的数据预处理,往往是项目中最为耗时的存在,而建模可以使用已有的库反而很快能完成。导师在预处理方面给了很多指导,且已经为大家完成了部分的预处理,另附了参考的代码。

数据分析/数据科学项目容易遇到的一个窘境就是,模型的构建,特征的选择,模型的评估与优化都有大量的选择。而数学以及统计上最优解不一定是业务上最优,但业务方面又缺失较为严谨的量化指标用以评估。

具体到本项目的ProjectA,关于从公司文本间的相关系数,再到针对现有行业分类的比较,更新行业分类然后用历史行情数据用以回测,以验证更新分类的有效性。这部分还是希望提供数据源和一定的demo指导,算是对于论文的延展吧。同时导师一开始给的自测题答案,在一定程度上能指导大家写出更为简练的代码,为日后工作实习也不失为一种知识储备。

另外导师回复很及时,能及时提醒项目中容易遗漏或出错的点。关于文本量化分析,导师也展示了很多学界以及业界的论文,让大家了解文本分析在经济金融领域的具体应用。

*导师对Z同学报告的反馈(部分)

三、做好预习,调整做科研的方式,提高效率最重要!

1、项目预习

由于在数据分析相关的科研项目,数据预处理,数据清洗等将会占据项目的大部分时间。所以前期的预习,包括老师在开头课程讲的Python数据处理的方法,一定要多动手操练,磨刀不误砍柴工。

2、数据处理

在遇到数据处理(格式,类型,时间/空间消耗)的问题时,可以多请教导师,学习简便快捷的方式。(毕竟有一些数据处理的细节如多进程和某些函数,和模型建立甚至论文理论关系不大,但却能在项目中大大提高效率,减少不必要的时间消耗。)

3、模型建立

而对于模型的建立,则需要了解背后的数学公式推导,了解模型对数据进行怎样的处理。虽然成熟的算法基本会有库函数的支持,但我们必须得清楚这些标准库函数的输入,输出,大致的数学推导。

4、论文与编程

如果是基于论文的项目,要把数据处理的关键节点记录好,编程时记得时刻回头参考。我就在编程时陷入到一些较为麻烦的数据处理中而忘记了论文的方法,陷入到了自己瞎操作的浪费时间阶段。

另外,对于论文涉及的数据处理操作,在阅读的时候要思考,自己写Python的时候应该怎么实现,用什么样的数据结构,有没有相关的功能函数能直接调用节省时间。

编程遇到卡壳时,可以尝试把报错信息进行搜索,往往能很快地有的放矢找到解决方案。代码自动补全,以及IDE内Ctrl+左键溯源代码或变量的功能挺常用的,要多尝试。Pycharm内也有强大的调试功能和回溯历史更改……这些零散细碎的小功能都可以多和组员进行沟通,会有意想不到的收获。

*课题小组交流讨论课题截图

四、非金融背景通过参加这次项目也获益颇多,但还需继续努力

在之前的UCL项目里我学习到了很多统计学习/机器学习的相关模型,学到了很多特征选择与降维,抽样采样,模型的评估与优化等方面的基础知识。但令我感到迷茫的是,缺乏某个领域的业务知识或行业知识,会使数据分析陷入一种盲人摸象的困境。在方向上缺乏指导性,在评估指标的建设上也是迷茫地摸索,最后优化的结果需要怎么诠释,怎么用最直观有力的方式证明模型是有效的,模型改善了什么,具体怎么改善的,这都是需要认真思索的。

在本项目中,通过论文的学习,我知道了很多模型的构建,数据的处理,有一定的论文理论支撑,操作起来更加有理有据。包括模型的诠释,也让我了解了模型在经济学和金融学的意义。

*Z同学项目中进步很大,后期会继续跟导师做课题研究

但由于我不是经济/金融背景的学生,对这方面的理解总感觉还是比较欠缺。希望在日后能继续补充相关领域的知识,让机器学习/深度学习等工具能用起来更加得心应手,更能强而有力地知道模型的作用和意义,能简练地说明模型,以业界的角度看,的确做出了一些成果。

*Z同学参加大学生马拉松活动

↓↓Get学长学姐同款科研↓↓

添加“Taro老师”,备注“哈佛量化”

了解具体项目详情,提前占位吧

??戳下图查看往期学员真实体验??

更多科研项目招募中,背景早规划,申请不慌张

↓↓识别相应


转载请注明:http://www.znwwh.com/zztx/12338.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了

  • 当前时间: