楼主: faruto
141082 106

[讨论交流] 量化投资学习之路-by李洋faruto   [推广有奖]

学科带头人

10%

还不是VIP/贵宾

-

威望
2
论坛币
3020 个
通用积分
4.0000
学术水平
320 点
热心指数
312 点
信用等级
300 点
经验
112026 点
帖子
672
精华
5
在线时间
1449 小时
注册时间
2008-3-15
最后登录
2019-6-10
毕业学校
北京师范大学

faruto 发表于 2014-5-28 10:56:01 |显示全部楼层
量化投资学习之路-by李洋faruto
http://www.matlabsky.com/thread-42451-1-1.html

量化投资学习之路-by李洋faruto

创建时间:20131219 修改时间:20140527

微博:http://weibo.com/faruto

1   前言

本篇内容主要是2013年为一个朋友写的,除了当时发给朋友看,还未公开放出来过,后来居然忘记写过这么个东西,2014年(相对时点是今年)偶然一次机会和朋友聊天,朋友提起这篇文章,才恍惚间记起,然后搜索自己的电脑和硬盘,居然找不到这篇文章,后来查看邮件记录才在2013年发给朋友的邮件的附件里找到。

现在之所以把这篇文章放出来,是想帮助想走量化这条道路的朋友能有一个大致的思路进行学习。希望帮助到有缘人。

量化投资是个庞大的领域,设计到的东西也非常多,当然在量化投资领域我也仅仅是个菜鸟,本文权当我个人的量化学习之路的阶段性总结,本文我没抽出大块时间思考整体文章架构,仅仓促写成,可能下文的子章节分类逻辑性也并不是很清楚,望您见谅。

这里要特别说明的是,本篇内容可能部分内容是在不同的时段写成,可能会出现一些前后逻辑不统一抑或矛盾的地方,每个人在人生的不同时点思考的深度和广度会不同,可能会否定自己以前一些观念甚至否定自己以前坚信的东西,其实人生就是一个不断思考、不断否定自我的过程,期望在这样的一个过程中能提升自我,洞穿一些东西。

2   自我学习篇

量化投资的提升过程是个辛苦的过程,需要你不断的努力思考,需要你具有快速学习能力,世间的事大抵都是这样:没有付出就没有收获,但付出了不一定有收获。在自我学习篇中,我会列出我看过的一些书籍和相关资料及其他一些需要学习的东西,下面列出的自我学习篇的东西不是胡乱堆砌,是我个人所看过的东西的过滤和再整理,希望能帮您更快的提升。

2.1  纸质书籍

《期市截拳道:程序化交易策略与实战》作者:朱淋靖

《量化投资:策略与技术》作者:丁鹏

《高频交易》谈效俊等译

《打开高频交易的黑箱》谈效俊等译

《统计套利》陈雄兵张海珊等译

《从众危机:量化投资与金融浩劫》李必龙等译

《专业投机原理》

《股票做手回忆录》

海龟法则相关书籍

当然好的书籍还有很多很多,未来我再慢慢更新上面的list,这里不可能把所有的都列出来。纸质书籍(电子书籍)需要经常阅读提升自我,也就是我们不断的学习新东西,并要在阶段性的快速学习东西。

2.2  论坛资源

人大经济论坛量化投资板块https://bbs.pinggu.org/forum-2166-1.html

MATLAB技术论坛量化投资板块http://www.matlabsky.com/forum-92-1.html

海洋部落(OceanTribe.org) http://www.hylt.net/vb/

水木程序化交易板块http://www.newsmth.net/nForum/#!board/ProgramTrading


2.3  量化平台掌握

TB、MC、金字塔、易盛等平台

以上平台比较类似,建议定要熟练掌握一个平台的使用,由于TB用户数比较多,建议熟练掌握TB,然后在慢慢熟悉其他平台。

MATLAB、R、SAS等平台语言

根据个人情况建议熟练掌握使用MATLAB,然后在慢慢熟悉其他平台。

C/C++,JAVA,Python等语言

至少熟悉一种语言,或虽不经常用但在短时间内能拣起来。

3   模型研发篇

下面以投资标的分类,进行模型研发的过程梳理,我个人对于期货最熟悉,着重以期货为主,其他在未来在慢慢完善。下面关于模型研发的一些思路想法仅仅是我个人的一些想法,你可以不同意我的观点也可以保留意见互相讨论,其实投资的东西往往都是比较个人的(团队的),每个人(每个团队)的投资理念和想法都有或多或少的差别。

3.1  期货

模型的研发大思想:大道至简。简单的东西才有生命力,但要重点说明的是这里的“简单”是指模型背后的逻辑简单,并不是指模型本身简单,模型本身可以是简单的均线模型,模型本身也可以是复杂模型(复杂到有很多参数),但模型背后的逻辑要简单,和一些团队交流,有些人认为的“简单”是模型本身也要简单,甚至直接用模型的参数来衡量模型简单与否,认为模型参数过多的模型不靠谱,对于这方面,我个人保留意见。

3.1.1  熟悉常见技术指标

技术指标存在这么多年,而且一直存在,存在的就是正确的,刚接触量化的朋友,有精力的话可以自己把所有常见技术指标实现一下,并按照指标的常见用法编写一些日内和隔夜的策略,熟悉了常见技术指标(包括指标公式、参数范围、常见用法等等),未来在编写大策略时用起这些指标你会更加得心应手,因为未来编写大策略时,有时候某一指标可能仅仅是入场或出场的条件的一个小过滤。

熟悉了常见技术指标你也会发现,所有的指标的源头几乎都是均线,基本都是由均线变种而来,所有我一直说均线是好东西,是有长久生命力的东西,一个大的投资组合均线一定不能缺少,因为当行情来了,均线系统是一定能捕捉到的。

其他均线的本质一个投资标的的定价过程,也是行为金融学的一个客观反映。

3.1.2  编写常见经典的模型

通道类、突破类、海龟类等等这些经典模型,建议都亲手编写体会一下,因为这些策略都是好策略,如果你品种选择和行情轮动的把握做的好,那么经典模型+品种选择+行情节奏把握就能让你在市场上立于不败之地。

这里以开盘区间突破策略为例来说明如何最大限度的发挥主观能动性进行策略研发和思考。

策略名称:标准区间突破策略

策略内容:利用开盘价加减某一幅度生成上下区间,突破上区间做多,突破下区间做空,尾盘平仓。比如Open*(1+1%)生成区间上沿,Open*(1-1%)生成区间下沿,突破上区间做多,突破下区间做空,不设止盈止损,尾盘15点10分平仓(如果投递标的是IF)

就是这么一个简单的策略,你在IF上1min,3min,5min等周期上测试会是正收益曲线,模型背后的逻辑就是关键价位,某些关键价位的突破会带来一波行情的启动(也可能仅仅是假突破,这是后期的模型优化改进方向之一)。

针对这个简单的策略,就有好多东西可以思考和改进。

1)区间上下沿的确定方式

这里区间上下沿的确定方式是开盘价加减某一幅度,那么用数学表示就是

UpperBand = Open*(1+Percent)= Open + Open*Percent

LowerBand = Open*(1-Percent)= Open - Open*Percent

即想要生成区间上下沿,我们需要一个基准价格Benchmark(上面的基准价格为开盘价Open),还需要一个幅度Range(上面的幅度是Open*Percent),那么可以改写上面的区间上下沿定义

UpperBand = Benchmark +Range

LowerBand = Benchmark –Range

那么针对基准价格Benchmark和幅度Range,我们就可以做很多文章了:

比如对于基准价格Benchmark我们可以不单单利用单日信息生成,也可以利用前N日的价量来生成;

比如对于幅度Range,我们可以并不仅仅给其设定成一个不变的书,幅度Range的本质反应的是投资标的(比如IF)的当日波动率的一个估计,那么就可以结合ATR或者其他指标模型来利用前N日的信息来估计当日的幅度Range;

比如对于上下沿的基准价格Benchmark和幅度Range我们使用两种方法分别估计,这样多空的入场就是不对称的。

等等,希望你是一个愿意思考的人。

2)各种止盈止损的加入

尝试加入各种止盈止损方式,比如动态止盈,固定比例止盈,跟踪止损、固定比例止损等等,会改变资金流,这样你也能熟悉了解各种止盈止损,这种了解不是仅仅是“想”,而是通过具体回测可以在你头脑中具象化的了解。

3)隔夜策略的改进

上面的模型仅仅是个日内模型,通过上面的各种改进和改良,你会发现无论怎么改进和优化,在股指上测试,模型的某些表现指标都有一些限制(比如收益、比如回撤),这是模型本身类型的限制(日内策略、趋势策略)引起的,如果想突破这些限制,你可以尝试将该日内策略改成隔夜波段或者隔夜长线类策略。

上面所有的思考和改进都需要进行回测,用数据说话,并且整个的改进过程会加深你对于这个模型或者类似模型的理解,在模型改进中你也许会细致观察投资标的(比如IF)在某一个时间段内的表现,这样又能加深你对行情的理解。

上面所有的改进方法用语言描述都很少,但其实实际做起来脑力和体力的工作量都是不少的,但当你把整个过程做下来之后,你会发现整个过程中你的收获会是很大的。

上面仅仅说了单品种的模型建立和改良测试,对于两个品种(多品种)的模型建立和测

试还未涉及,多品种的模型(套利模型,强弱对冲模型)可能涉及到的东西更多一些,未来再慢慢来。

3.1.3  贴近交易本质编写模型

这一部分可能需要实盘的实战来提升和理解。

3.2  期权

期权这一块的东西,可能涉及到以下几个方面:

期权定价模型梳理

期权套利模型(包括无风险套利和有风险套利)梳理

期权的波动率交易模型

期权做市商模型

基于期权的趋势跟随的量化策略(使用期货或现货发出趋势信号,映射期权进行操作)

期权产品设计(场外衍生品设计)

3.3  股票

3.4  外汇

4   实盘实战篇

实盘实战才最能提升自我,量化投资的最终目的是“投资”,而不是天天回测,回测的再好,实盘没用也白费。

初始模型的选择、初始交易品种的选择。

投资杠杆的设定。

交易品种的动态调整、仓位的动态调整。

待完成…

5   杂篇

5.1  如果想用MATLAB做金融工程,路该怎么走?

2011年在我们的论坛(MATLAB技术论坛http://www.matlabsky.com)有个TX发了一个关于未来发展道路的疑惑的帖子,原帖地址:想用matlab做金融工程,路该怎么走![看回复中的讨论]http://www.matlabsky.com/thread-21482-1-1.html

“本人普通学生一个,管理专业,平时做评价以及数理统计多,但是,我想去银行或者证券公司工作,希望学习金融工程。请教各位论坛大神:

1.请问工具是matlab好不好,有没有更好的推荐?!

2.请问,应该看哪些书,可不可以给我一个按顺序排列的书目列表!?

3.由于还有一年半毕业,希望有经验高人为我指一条明路!”

我当时给他的一些建议如下:

Q: 请问工具是matlab好不好,有没有更好的推荐?!

A:MATLAB非常好。弄金融工程相关的MATLAB是必须的。

其他数学软件lingo,maple,eviews,mathematica,SAS,SPSS。。。(以上这些当年我都用过,现在我只用matlab),能做到的 matlab都能做到,而且能做的更好。

Q: 请问,应该看哪些书,可不可以给我一个按顺序排列的书目列表!?

A: 要看的书很多。matlab相关:N多。你搜索论坛找一些经典的看看。金融相关:N多。但基本重要的一定要看。比如:国外:John Hull 的《期权期货和其他衍生品》 还有Frank J. Fabozzi (弗兰克 J.法博齐)的一系列书籍等等。国内:也一堆

Q:由于还有一年半毕业,希望有经验高人为我指一条明路!

A:学好数学+用好MATLAB和C(C++)语言+考取一些金融相关资格证+去相关金融口进行实行。

学好数学: 数学是王道,理工类领域高级阶段都要用到数学。金融口相关课程必须要学的:随机过程、高等数理统计、时序分析、概率论、矩阵论、数值计算、泛函分析。。。等等。

用好MATLAB和C(C++)语言:MATLAB是金融工程仿真计算必要用到的。 C(C++)语言可能在最终上线相关程序化产品会用到。

考取一些金融相关资格证:证券从业资格考试(5门考试:基础、交易、分析、基金、承销);期货从业资格考试(3门考试:基础、法律、分析);银行从业(5门考试)

统计师;经济师;

CIIA;CFA;FRM (这几门考试都很贵,可以先考前面的)

去相关金融口进行实行:实习很重要。可以将学到的东西进行实践锻炼(找证券、期货、基金银行 的金融工程部、研发部、投研部 进行实习)

期货相关:程序化交易、高频交易相关的想学习的话可以多学习一下。

基金证券: 量化投资相关的想学习的话可以多学习一下。

以上内容是我在2011年回复他的,我原封不动的贴了过来,可能有些观点并不严谨,见仁见智,但希望能帮助到那些有类似疑问的TX。


量化投资学习之路-by李洋faruto-长微博.png

回帖推荐

load-balance 发表于57楼  查看完整内容

学习无止境。。。路还很长。需要耐心的走下去
已有 4 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
日新少年 + 2 + 2 + 2 精彩帖子
离歌レ笑 + 100 + 5 精彩帖子
fantuanxiaot + 5 + 5 + 5 + 5 李洋大哥就是我的楷模
wwqqer + 100 + 5 + 5 + 5 对论坛有贡献

总评分: 经验 + 100  论坛币 + 105  学术水平 + 12  热心指数 + 17  信用等级 + 12   查看全部评分

本帖被以下文库推荐

http://weibo.com/faruto
www.matlabsky.com
http://blog.sina.com.cn/faruto
stata SPSS
xiaodingd 学生认证  发表于 2014-5-28 11:01:06 |显示全部楼层
貌似很高级的感觉   
已有 1 人评分论坛币 收起 理由
fantuanxiaot + 3 精彩帖子

总评分: 论坛币 + 3   查看全部评分

回复

使用道具 举报

faruto 发表于 2014-5-28 11:03:40 |显示全部楼层
xiaodingd 发表于 2014-5-28 11:01
貌似很高级的感觉
不高级,仅仅一些想法和总结和大家分享。O(∩_∩)O
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
fantuanxiaot + 2 + 4 + 4 + 4 精彩帖子

总评分: 论坛币 + 2  学术水平 + 4  热心指数 + 4  信用等级 + 4   查看全部评分

http://weibo.com/faruto
www.matlabsky.com
http://blog.sina.com.cn/faruto
回复

使用道具 举报

xiaodingd 学生认证  发表于 2014-5-28 11:05:19 |显示全部楼层
faruto 发表于 2014-5-28 11:03
不高级,仅仅一些想法和总结和大家分享。O(∩_∩)O
是偏数学多点还是计算机多一点??
已有 1 人评分论坛币 收起 理由
fantuanxiaot + 2 精彩帖子

总评分: 论坛币 + 2   查看全部评分

回复

使用道具 举报

yiweidon 发表于 2014-5-28 11:08:34 |显示全部楼层
这些书,没一本是对的!都是些胡搞的东西。
已有 1 人评分论坛币 收起 理由
fantuanxiaot + 3 精彩帖子

总评分: 论坛币 + 3   查看全部评分

威廉姆,要向世界展示實用主義,進攻性及冷靜的計算相結合的無堅不摧的力量。
回复

使用道具 举报

songlinjl 发表于 2014-5-28 11:51:54 来自手机 |显示全部楼层
xiaodingd 发表于 2014-5-28 11:05
是偏数学多点还是计算机多一点??
懒人!机器会帮你赚钱?
已有 1 人评分经验 收起 理由
fantuanxiaot + 5 精彩帖子

总评分: 经验 + 5   查看全部评分

回复

使用道具 举报

xiaodingd 学生认证  发表于 2014-5-28 12:01:11 |显示全部楼层
songlinjl 发表于 2014-5-28 11:51
懒人!机器会帮你赚钱?
额 是笨人  智商不够 计算机、数学都学不会
已有 1 人评分经验 收起 理由
fantuanxiaot + 5 精彩帖子

总评分: 经验 + 5   查看全部评分

回复

使用道具 举报

no3621 在职认证  发表于 2014-5-30 11:44:50 |显示全部楼层
楼主,有个问题想问下:

情况是这样的:数学在我的印象中十分重要,可是到目前为止,用的都比较浅,大致范围是数理统计,概率论,时间序列,数值计算。

虽然我学了随机过程,但是除了期权定价的各个模型外,目前没有深入使用。

问题是这样的:楼主能够给我举一些的实际数学例子在程序交易中的例子吗?泛函分析,随机过程之类的。

问题有些生硬,不知道有没有表达清楚,见谅!

PS: 同意yiweidon的说法,楼主介绍的书好像的确有点不太实用。
已有 1 人评分论坛币 收起 理由
fantuanxiaot + 2 精彩帖子

总评分: 论坛币 + 2   查看全部评分

Quiet Quant
回复

使用道具 举报

k-i-n-d 发表于 2014-6-5 19:56:15 |显示全部楼层
yiweidon 发表于 2014-5-28 11:08
这些书,没一本是对的!都是些胡搞的东西。
“乱搞”?何以见得?
已有 1 人评分论坛币 收起 理由
fantuanxiaot + 3 精彩帖子

总评分: 论坛币 + 3   查看全部评分

回复

使用道具 举报

作桥 发表于 2014-8-14 13:19:33 |显示全部楼层
k-i-n-d 发表于 2014-6-5 19:56
“乱搞”?何以见得?
就是嘛,何以见得!
已有 1 人评分论坛币 收起 理由
fantuanxiaot + 2 精彩帖子

总评分: 论坛币 + 2   查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 我要注册

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2019-6-21 01:49