1.书成系统,这个没错,而且有思路,有想法,但是要命的是都是依托于平台开发的策略,这点《量化投资技术分析实战》等都有这种毛病,数据的来源,数据的处理,数据的调用,交易运行等都没有看到,这点是很不利于新手的,而且市面上的书这种情况非常严重,既然要仿真无限接近真实的市场,那么为什么不手动搭建这些东西呢?我知道平台搭建非常难,但是这个是非常重要的,我不知道平台会不会盗取自己的核心策略,但是将这种策略全部依托于平台,一旦平台垮塌或者转型,很多东西就没了。
2.受众定义不清楚,一开始的阅读还很友好,关键地方就上封装完毕的代码或者上高数等东西,一点过渡和铺垫都没有,这很难说是作者的写作习惯或者是为了行文的标准,但是这有一种1+1=2到高数的这种过渡。代码这种东西,展示出来,看多了就好了,封装的东西只能是一时不是一世,更重要的是自己的搭建和要求不一定和平台提供的相一致。
3.从目前来看,尽可能分拆交易步骤和环节,为后面的扩容和修改做好准备,也为自己未来的学习方向和资料分类进行准备。
数据源的解决【爬虫,购买,API】以及数据维护是一个PY文档,
账户建立是一个PY文档【虚拟盘,实盘,止盈止损】,
股票池是一个py文档
回测以及图文展示是一个PY文档,
策略池以及效果监控是一个py文档,
投资回报报告是一个py文档,
市场监控和分析是一个py文档,【市场简单分析,机器学习分析】
自动交易是一个py文档
4.书看多了是好事也是坏事,尤其是重新做笔记的话,重复的东西太多了,其实还是要把基础知识的东西搞清楚就行,看多了,如果无法归纳和总结,那么反而会被这种海量知识所淹没。
5.代码少,自说自的比较多。
1.量化的定义:
以数理化手段【底层基础】,通过代码具象化,构成分析,决策的交易策略。
【数理化将作为量化的基础,尤其是策略开发的基础,尽可能降低主观的情绪干扰和投资冲动,一切的思考都必须通过数据化来处理】
2.量化定义二:
是通过数据的变形,来捕捉市场的变化和趋势,周期。通过尽可能多的因子,参数来进行捕捉,从而提高当前的判断能力,便于对未来进行决策。
3.案例一:
统计套利
套利策略的重要部分就是对交易成本进行判断,尽可能降低交易成本,从而保证足够的套利空间。
4.案例二:
高频交易
5.案例三:
【作者的】中低频量化交易策略
优点:
客观,便于得出结论以及数据展示,便于移植
【剩下时间,便于集中精力开发,创新策略】
前沿:
神经网络,支持向量机,隐马尔科夫等机器学习模型,科学交叉,大势所趋
缺点:
容易被复制,被盗窃,因子数量庞大只能做取舍,被小概率事件击垮
2.1-1流程展示:
2.1-2设计思考:
1.核心策略【买卖持有】与数据处理,评估报告,虚拟盘以及实盘要合理切入。
2.核心策略开发的整体收益为正。
3.对于不同环境下的核心策略的调整【如1996年以前的T+0,如现在新股上市前5天涨跌幅无限制,如可转债涨跌幅无限制,t+0交易,如个股带帽,摘帽】,参数的设置,模型的健壮性。是否存在【卖空】机制。
4.回避必须解决“幸存者偏差”的问题。
5.风险控制,仓位计算【针对不同品种,不同的市场环境进行仓位变化和调整】,这里就不仅是账户初始化,银行资金账户也需要进行初始化。
6.策略时效性引发的策略调整,多策略运行,市场监控
7.交易运行的交易报告阅读和分析
8.基准对比【沪深300】
9.历史数据以及新数据的获取,更新,维护
一个负的策略可以马上排除,但是一个正的策略并不意味着好,还需要进行监测,持续跑批,优化处理等。
2.2量化交易策略研究流程的进一步论述
2.2.1量化选股策略的研发流程
流程的设计上应该是直线的传导方式,而不是BABA这样子的操作。因为个人投资者受限于数据,运算能力,计算能力,开发能力等,在设计上应该更加直接和紧凑,更多的应该是放在策略的开发和市场的分析,监控之上,并生成投资报告,便于及时发现市场的变化,策略的变化和有效性。
3.1未来信息的规避
3.2过拟合与欠拟合
先验概率:这里我们要强调的是,策略是先验概率,是通过观察和分析得到的,是历史的结果,它能否解释未来,是需要未来的走势能不能重复,或者贴近走势,才能再次实现的。本身来讲,策略有【先入为主】的观点。
后验概率:则是通过大数据挖掘,统计等方式发现其共同点,从而寻求交易的可能性。
**参数考虑:**参数越多,越会影响数据拟合交易的能力,从而导致整个策略失灵,但是这个要辩证的来看待。其次,我们最终要做的是将能够解释能力较强,有因果关系的【因子-股价】的关系进行分析,但实际上这种不现实,它不能像生物科学一样物理假设一样等情况,通过增加或者减少甚至抑制因子的情况下来进行重复检验,重复测试,这对于量化来讲是很不友好的,我们不能去取消【成交量】、【均线】、【基本面】等情况来看待【股价】的变化,事实上也无法做到这一步,更重要的是无法进行重复试验,还能够得到同样的结论和结果,在套用统计理论上,我们得到更多的应该是协方差,R2系数,却不能解释协方差,R2中品种之间,因子之间是否存在【因果关系】的情况。
设计考量:希望投资者能够重视这个情况。
3.3回溯测试与真实环境的差异
尽可能谨慎相信回测的结果,增加回测的样本,加强回测数据的健壮性。通过平均值等统计量进行分析。
4.1基本框架:
基本框架:
基本框架2.0版本:
择时上的策略调整,嵌套最容易,系统健壮性最强。
机器学习模型和量化模型不能【拿来主义】,要弄清楚内部的逻辑,尤其是针对策略核心而言,相比于数据处理,更重要是数据结构和处理内容必须保持一致,清洗数据是必然的。
4.2均线趋势策略的简单优化
4.3均线反转策略的简单优化:
#理论定义:
#均线交易的特点:1.把握趋势,2.简单可靠,3.确定支撑和阻力位,设置止损和止盈4.统计显示,趋势上升必然趋势下降【理论的来源】,物极#必反。
#其实也就是和一般的均线交易策略进行相反交易,不同的是一般的均线交易策略是右侧交易,而反转交易则是左侧交易。
#作者提出一个概念:移动平均宽度指标(moving average width indicator),简称MAWI。
#策略构建步骤:
#1.建立两条不同的均线,
#2,计算不同均线之间的宽度【但是没有看到有绝对值,负值的情况说明】,这里应该要取绝对值,根据后面策略的部署来看。
#4.归一化处理
#5.数据展示:
#收盘价、MAWI(N,M)数据,归一化数据MAWI(P)。
#6.逻辑判断:
#归一化的MAWI(P)[i]==0,归一化的MAWI(P)[i-1] >0,做多。
#MAWI(P)[i]==100 and MAWI[i-1]<100,做空。
#7.运行并成果展示
由于作者在这里一段都是大段文字说明,所以笔者搜索一下网上的相关资料进行补充,便于学习和加深印象,同时进行整理和归纳,为后面的统计学习深入奠定基础。
引用文章一:
《时间序列预测基础教程系列(7)_如何用自回归模型(AR)预测时间序列预测(Python)》
【代码后面再写,先将读书笔记整理出来】
如果技术指标还有一点让人相信的话,那么单因子,多因子的解释上就差强人意,毕竟【价增量增】、【缩量上涨】等都是能够让人信服和解释,而且重要的是,一旦量能的变化与个股的变化也一致,这里就解释了一个关键,当终止一个因子的时候,或者限制一个因子的时候,股价就发生了变化。但是因子这种东西,原有的加上变化的因子,无法搞清楚这些因子对于股票的影响,同时由于数据上的跨度过大,还是需要进行归一化处理才行。至少笔者没有看到这种【因果关系】上的论证。
相比于技术面的分析,基本面的调用上更加复杂,相对于一般投资者而言,运行和维护多因子的推论上是一件很困难的事情,相反,单因子反而很好处理。
相关的数学说明就不写了,因为笔者的统计学读书笔记也写到这里了,就不再废话了。
5.2市值因子
5.2.1市值因子选股3等分
就是将上面的按市值大小进行分类和迭代。
5.2.2市值因子选股10等分
进一步划分,增加间隔,找出因子与股价的关联
5.2.3市值因子选股30等分
同理
5.3反转因子
笔者能够理解的是【扭亏为盈】、【由盈到亏】。
5.4多因子选股策略的简单优化
【多元线性回归】
这里笔者说几句,这里的多因子分析一定要将因子进行相关性分析,将能够解释价格的因子或者与因子变化关联度高的进行多元线性回归,不然很难得到正确的解释,进行构建,迭代也是【差之毫厘谬以千里】。
【笔者回测过浦发银行,反而发现另一个问题,主营业务收入和股价没有关联性,反而是跟主营业务增收率与股价反应一致】
6.2多层推进分析
6.3推进分析下的验证
作者这个完全就是机器学习的思路来对策略进行监测,但是分层抽样需要严格定义,迭代周期长度需要严格定义【因此必须剔除停牌,退市的个股】,但是策略的泛化能力会大打折扣,毕竟我们的假设都是个股是【存续期间】,不同的环境定义和分割只会造成不同的筛选对象。从这点来讲,要想真的做到这一点很难。只能缩短回测周期,降低【幸存者偏差】的概率,防止这种临停存在对于策略的干扰和冲击。
第七章 推进的择时策略
7.1均线趋势策略的推进分析
- 7.2均线反转策略的推进分析
【略】
7.4自回归策略的推进分析
由于作者没有给出严格的数学推理,代码,我看不懂,对于时间序列这块还没有深入研究,所以只能忽略。
但是从图例来看,自回归的分析上有一定的解释能力,但是在收益上的变现过于陡峭,高点的位置续存时间不长,突破前期收益的代价【回测】,耗时都有一定的距离,需要有很明显的耐心和预测能力。
7.5自回归策略的多层推进分析
【略】