登录
主页 > CQF就业前景 >

量化的门槛高到底该如何入门?

2023-01-28 Meteor
我们利用计算机技术,通过建模分析、优化参数等手段,从历史金融数据中挖掘出影响投资的指标,使用程序进行自动交易来获得“超额”的收益,这种投资方法就叫做量化交易。
现在,很多量化机构将人工智能和机器学习与量化策略相结合。国内的一些顶尖私募,比如:九坤、幻方等都在使用AI量化策略,从各大公司的招聘公告上也可以看出这点。
量化的门槛高到底该如何入门
对于编程方面来说,因为量化也是一个很大的领域,不同方向有着不同的编程求,所以也不能一概而论。
但最基本的,需要在matlab,python,R里面至少会一门,会用sql取数据,会一点vba更棒。如果要做高频方面,还需要会c++,如果做指数,如果会sas可能会有很大优势。所以先把最基本的掌握了,这里以python为例进行说明。

1、获取数据的能力

做量化用到的数据一般包括二级市场的各种数据、宏观经济的各种数据以及一些特殊需求的网页数据,因此需要有通过python获取数据的能力。
二级市场和宏观经济的各种数据,已经有一些企业整理的非常好,所以会用SQL从数据库里取数据库,或者通过API接口获取就行。
比如WindPy,rqdatac,tushare,目前都有python接口,而一些特殊需求的网站数据,比如各种网站的留言、公告,这些就需要自己爬了。
量化交易流程所需技能
懂数据分析、懂IT
因此这方面需要的东西整理如下:
-SQL:SQL比较简单,主需要会SELECT查询,再回一点with语句就ok了。可以看一本小册子:SQL必知必会,半小时就能翻完。
-windPY,tushare,rqalphac:tushare是免费的,只要装了python就能用,可以去tushare官网看看教程,windPY,rqalphac等等大多是收费的。
-爬虫,爬虫是不论做数据还是做量化都非常重要的能力,当然也不需要会太多,不用像爬虫工程师那么专业,要爬的最多是一些网站公告,评论之类的。
学习的话可以先从python的request开始,然后看selenium,基本就够用了,最后有时间也可以看看scrapy。
清洗数据的能力
事实上,数据清洗是非常简单但也非常难的一个内容,简单之处在于,只要会一点python的人都能做,但可能写出来代码效率很低,难在于写出高效的代码。
所以除了自己学习以外,要多去看别人的代码,看看同一个问题不同人的解决方式,会有很大收获。
接触到的数据一般包括数值、文本、日期这三种类型,因此这部分python里需要掌握的内容包括:
-缺失值处理方法:这部分一方面要知道有哪些处理缺失值的方法,另一方面要知道怎么用python实现这些方法,比如最简单的就是dropna()直接删掉缺失值,要填补的话,有很多方法,比如用均值众数填补,或者回归填补、多重插补等等。
-异常值处理:异常值处理相对简单,一般是winsorize截尾的方法,python中可以用np.percentile完成。
-数据形式变换:如何把数据变成自己想要的形式,这是需要在不断实践中才能慢慢融会贯通的,这里给出一些常用的python命令,通过pd.wide_to_long,pd.long_to_wide实现长宽面板转换,pivot_table实现类似excel数据透视表的操作,reshape改变数据的维数,merge,concat实现数据的拼接等。
-numpy,pandas包:这是两个最重要的包,实际上前面提到的这些东西,绝大部分是可以通过这两个包实现的。
-日期处理:python里有很多日期时间处理的磨矿,time、datetime,pd.Series.dt等等。
-字符串处理:正则表达式是必须的,除此外也可以看点jieba之类的东西。
数据建模能力
数据建模能力覆盖面非常广,因为模型很多,金融模型、统计模型、机器学习模型等等,都有可能应用在量化中。
作为初学者,建议从最基本的回归开始比较好,可以从以下几个角度进行学习。
量化的门槛高到底该如何入门
-回归:用python实现OLS,WLS,Logistic、Ridge,Lasso,这些python中都有模块可以实现,要熟悉具体怎么操作。
-优化:线性规划、非线性规划,可以通过scipy中的optimize函数实现。
-多元统计模型:主要是聚类分析(kmeans,层次聚类)、判别分析、PCA、因子分析这些用的比较多。
-机器学习模型:传统的机器学习模型,比如神经网络、SVM、randomforest这些需要了解,但不是必须,如果有一定基础了,可以看看深度学习方面的,但这种只在某些特定的量化方向上涉及。
数据可视化能力
不论是做数据分析还是量化,可视化都是非常重要的,不过量化方向可视化要求相对低一些,毕竟逻辑和结果更重要。
大部分可视化都可以通过exel+vba实现,这里提一些python里面需要会的。
-matplotlib、seaborn:各种散点图折线图柱状图饼图这都是基本操作了,热力图新颖一些,可以用来展示变量的相关性等等,此外还有双轴图、对数坐标图这些都需要会。
-k线图:python画k线图的操作可以学很久,python里面画k线的包不是非常多,而且,处理x轴的日期不是非常容易,因为可以直接用的函数基本都是对应的自然日,但k线只画交易日,虽然交易日是连续的,但画出来会导致k线之间间隔不一样。
编程部分大概如上,python部分是这样,其他语言可以借鉴。除此外,vba是比较特殊的语言,跟excel和word交互上,其他语言都比不了,所以最好学会用。
142 5

CQF

金融量化领域专业资格

分享到:
精彩推荐
更多>>