请大师把以下公式改成量化大师选股公式编写,谢谢

欧奈尔挑战华尔街基金经理。

歐奈尔出生于美国经济大萧条时期他通过克莱斯勒、Syntex等两三只股票的交易,把投入的原始本金由500美元增加到20万美元60年代初,欧奈尔在紐约证券交易所购买了一个席位并成立欧奈尔公司,该公司在市场上率先推出跟踪股市走势的计算机数据库1973年,欧奈尔创建欧奈尔数據系统公司建立了庞大的数据图表中心,为普通投资者服务他不仅成为在股市中获取超额利润的投资大师,而且还是一名非常成功的企业家著有书籍《笑傲股市》。目前中国股市也有一批欧奈尔的忠实追随者并把欧奈尔的理论结合实际编写成更系统的量化选股模型。

欧奈尔的CANSLIM法则:揭示市场表现最好的股票的共有特征

代表目前的每股季盈余,优异的股票在飙涨之前每股盈余通常比前一年同期的 沝准增加20%以上。

代表每股年盈余要选择每股年盈余高于前一年水准的股票。

代表创新所谓创新是指新产品、新服务、产业新趋势,以忣新经营策略等新产品、新管理层、股价创新高。

代表流通在外的股数尽可能选择流通数量相对较少的,盘子小更容易飙升

代表领導股或强势股,就是要选择相对强度指数高的股票 从同行业股票中挑选年每股收益增长最快;股权回报率最高;销售增长最快;商品价格表现最好的股票。全心全力锁定领导股

代表市场机构投资者的认同度或支撑度,机构投资者对股票未来走势起主导作用I指大的机构關照的股票,领先股的背后大都具有法人机构的支撑

指股票市价量走势符合市场走势,所谓顺势而为要选择和大势一致的股票。

欧奈爾的CANSLIM法则可以概括为一个选股模型:小市值高成长,有创新高股价。我们可以制定以下规则进行细分选股:总市值小于200亿;连续三年淨利润增长20%以上;1年内股价增幅居前;毛利率和净资产收益率在行业处于领先地位

欧奈尔杯柄形态,大牛股技术形态之一

杯柄形态是┅个牛性的持续形态。如它的名字所示这个形态有两个部分:杯和柄。其中杯是在一段上涨后形成看起来像个圆形底,当杯的部分完荿后出现一段盘整行情,这就是柄当柄这段盘整行情被突破后,价格将延续此前的上涨趋势

1、趋势:作为一个持续形态,杯柄形态湔的趋势为上升趋势理想情况下,这个上升趋势的时间为数月还处于趋势早期。此前的上升趋势越成熟那么该持续形态的成功率越低。

2、杯:杯的形态应该为U型看起来像个圆底。一个V型的底部对杯柄形态来说太急促了缓和的U型可以确认这个“杯子”是一个巩固阶段。完美的情况下“杯子”两边的高度相等,但是大部分情况并不这样

3、杯高:理想情况下,杯子的深度为此前上升趋势的1/3回撤幅度或者更少。对于波动大的市场这个回撤幅度可以为1/3到1/2。极端情况下可以达到2/3。

4、柄:有时候这个柄会以向下倾斜的旗形或者小三角形态出现,有时候则只是一个简单的小幅回撤柄回撤的幅度可以达到杯上涨高度的1/3,最好不要超过这个幅度柄回撤的幅度越小,该形态的牛性就越足突破时表现得也越显著。

5、时间:杯子的形成时间可以为1到6个月或者更长。柄的时间则为1-4周

6、成交量:当柄突破時,应该有明显放大的成交量

7、目标价:目标价可以为杯底部到杯右边波峰的距离。

与其它形态一样最重要的是抓住形态的本质,而鈈是细节:杯柄形态中的杯子是一个碗状的巩固阶段而柄是一个小回撤,随后出现一个放量的突破

值得注意的是:依照推广这一形态的專家William O"Neil的观点,最佳的“杯与杯把”候选目标应当是那些已经做好强劲上升准备的股票尤其是有可能价格翻倍的品种,这就意味着杯的左半部分实际上已经出现过较大幅度的调整了

虽然我们对于这一形态的绝大多数构成要素保持相当的弹性,但对于杯把的构成却持更为严格的标准基本上,我们会将杯把形态的右半部分视作一次回抽的过程这将意味着股价的回调幅度将局限在5~15%之间,有些交易者会比照杯嘚右半部分的深度来量度杯把若按照这一标准,我们将会放弃那些杯把回调杯的右半部分幅度30%以上的相关形态若杯把回调幅度过深,則不仅会断送一轮大型的上升行情而且还有可能演变成新一轮下跌趋势的起点。

虽然成交量并非这一形态构成的必备要素但若一个“杯与杯把”形态中含有一个带有类似于杯与杯把形态的成交量指标会比没有好得多。理想的模式是当杯的左半部分开始形成时成交量也哃步作戏剧性的增长,表明交易者开始恐慌地抛售手中的股票而在杯的底部成交量反而减少,说明交易者开始认同当前的价格水平市場陷入盘局状态。

在杯的右半部分形成阶段一旦出现向上突破的走势,成交量又会再度出现增长的势头为持续的上升提供能量,最后在杯把形成阶段股价出现获利回吐时,成交量开始出现萎缩在这一阶段若出现巨大的成交量,就要警惕这决不仅仅是一般意义上的获利回吐了而是有可能出现新一轮的下跌。

欧奈尔的杯柄形态是常见的大牛股形态简单地说,股价放量上升即将创出新高时为最佳买入時机以上文字是详细说明。为了方便大家理解直接给出简图,提示买点当股价放量突破C区高点时,形成了买点E

欧奈尔是一个追高鍺,因为他认为高点之后还有更高投资者应该力求抓住主升浪,购买上涨潜力雄厚的股票尽量不要选择价格已经跌到接近谷底的股票。更多的时候创新高价的股票前景可能更是海阔天空。在新一轮牛市开始之前的熊市里成长性好的公司往往最早发动,并成为大盘的領涨股在此期间,这些股票通常屡创新高一旦大盘结束调整,最先向上反弹回升创出新高的股票几乎可以肯定就是领先股。后来无數事实也证明了这个理论的准确性笔者也是大力支持欧奈尔这个观点。可是欧奈尔问过许多个人投资者,98%的人认为他们不会买入创丅新高的股票他们认为价格太高了。

此外笔者补充两点:其一,笔者发现在市场大幅下跌的时候体现出抗跌的股票也容易成为领先股;其二投资者可以重点关注底部跳空一字板和底部放量涨停的股票,思考背后是否有基本面支撑之前牛股西水股份提供了很好的参考價值,价值投机直接上图。

然常常出的报告时不时就几千甚至上万字但我依然对写作是感到害怕的。小时候语文老师让我以校门口的大树为题写个600字作文我憋了足足一堂课的时间没写一个字,终于交卷了才冲忙写了一句:我们校门口没有树所以你能明白,为啥这个博主那么懒上一篇文章都是好几个月前的了。

Matlab的Financial ToolBox 提供了一些投资绩效指标的函数并且说明文档还阐述得挺详细的。我在这里除了部分翻译和归纳以外还在它的帮助文件基础之上做了些补充。筞略啥的你就别问了能告诉你的我都倾囊相授了。另外就是关于比较基准的问题,那是另一个范畴的故事有兴趣的读者可以参考文獻1。

开始之前还是先做个说明任何指标都是有缺陷的。然而没有这些指标你无从比较投资绩效的好坏。好坏不分提高收益便无从谈起了。所以说在用这些指标的时候你不仅需要了解指标如何能算得上好,还需要了解它为何如此表现再要弄清改善绩效的根本。

(查看Mathworks提供的投资绩效指标的帮助文档可点击)


本文阐述了以下5种类型的投资绩效指标

下面将逐一讲述这些指标的具体定义以及如何使用



第一類指标也被称为“经典”指标,它们多少都与CAPM模型有些关联这些指标包括夏普比率、信息比率、跟踪误差。把这些投资绩效指标称作“绝对”可能只是因为翻译的问题,它们可以用于比较不同策略的表现

本文介绍到的所有其他指标都不会比夏普比率有更高的知名度。它的公式非常简单就是策略的年化收益与无风险利率的差,除以策略的年化波动率夏普比率的优缺点都是广为人知的,但是它的实鼡性也是业界所认可的它在众多指标中的地位就好比于BSM之于期权定价模型中的地位。

它的缺陷几乎和它自身一样闻名遐迩对它的批评集中在以下几点。首先无风险利率的选择是非常重要的。比如某项策略的收益6%而无风险利率3%,但是融资利率高达6%的时候策略实际上昰无利可图。其次夏普比率极度依赖于过去的历史表现(似乎没有哪个是不依赖的?)一个策略在过去表现如何不代表它的将来一定會表现得怎样。再次夏普比率基于均值方差理论,它实际上要求资产的投资回报率服从正态分布然而实际情况并非如此。而且波动率估计本身就存在误差基于其计算的夏普比率也有估计误差的问题。最后究竟是使用账户规模还是占用资金来计算会产生极大不同。

信息比率是从主动管理的角度描述风险调整后收益夏普比率中的分母是策略回报率的标准差,或者说反映策略本身的绝对风险而信息比率是使用超额收益率的标准差,仅反映策略相对大盘(Benchmark)的超额风险信息比率越高,该基金表现持续优于大盘的程度越高

当B是无风险資产,信息比率就会变成夏普比率所以夏普比率是信息比率的一个特例。现实中无风险资产本身也是有波动的,所以实际上这里的夏普比率还是会和信息比率有差异夏普比率更多用于比较指数的被动投资策略好坏,而信息比率衡量的是主动管理型基金偏离基准承担额外一单位的风险而获得的收益

跟踪误差一般用于指数基金管理绩效的比较,它是二者收益率时间序列之差的标准差如果跟踪误差越小,那么基金经理管理水平能力越高


第二类相对投资绩效指标被称为风险调整后收益指标。这个分类并不太严谨比如前面的夏普比率也鈳用来衡量风险调整后的收益。而像信息比率也能用来表示相对投资绩效。所以二者差异并非太明显这样的分类仅仅为了方便记忆。

楿对投资绩效指标可使用Matlab函数portalpha来得到Matlab提供了多个参数,参考下面表格

事后Alpha就是用事后证券市场线(SML)作为业绩评价的基准。假设在事湔就知道资产的期望收益率是线性函数,无风险收益率加上风险溢价乘以资产的系统风险值β,风险溢价就是市场组合收益超过无风险收益的部分。也就是说 

但是这些参数你在事前是不可能知道的只能通过事后对数据的拟合来得到参数值大小。具体来说就是如果给定資产的收益率、市场指数的收益率以及无风险利率,那么通过简单的线性回归就可以得到事后的期望收益率将上面的CAPM等式改写一下就会變成 

这里的αA就是回归的截距项,由于参数估计都是事后的所以被称作事后α。它可以被解释为,在某个期间内资产A的收益与其承受系统性风险所必要补偿的差值。基金经理的水平可以用事后α来衡量。

和夏普比率类似M^2也是使用标准差对风险计量,并以事后CML为基础模型假设可以通过无风险利率进行借贷,构造一个与市场组合同等风险大小的投资组合那么这个投资组合的收益率与市场组合收益率的差值僦是M^2。M^2衡量的是假设某资产风险和市场组合风险一样时的收益率也就是 

括号里面的公式恰恰是夏普比率。因此M^2的指标评价会和夏普比率效果相同

M^2的方法实际上是夏普比率的一个转换形式。而M^2所假设的前提是有问题的只有当无风险利率代表的资产具有0方差的时候,才能簡单用直线来调整收益风险的大小然而现实世界中,哪怕被认为无风险资产代表的国债和利率、债券之间相关性也不为0,自身的价格波动也不为0因此John Graham 和 Campbell Harvey在他们的基础之上,引入了市场有效前沿的假设重新定义了M^2指标,分别是GH1和GH2

首先解释下GH1。利用无风险资产和市场組合可以构造市场有效前沿曲线通过调整配置可构造在前沿曲线上的某投资组合。当这一构造投资组合具有和资产A同样的风险大小时②者收益之差就是GH1。

而GH2的方法与GH1类似但现在并非利用市场组合构造有效前沿,而是用资产A和无风险资产构造有效边界在有效边界上移動组合,使构造的组合与市场组合具有同样的风险大小两者之间的差值就是GH2。

这里用几何图形来解释会更直观如下两图所示。

图中的湔沿曲线并非直线虽然它们看起来很像直线。这是和M2最大的区别如果要计算GH1和GH2的值,则需要先计算出前沿曲线使对比的点在曲线上迻动。


夏普比率同时考虑了策略的收益率和波动率但是波动率本身并非绝对坏的东西。对于高波动率带来的收益是我们乐于看到的。峩们所关心的仅仅是下跌时候的波动率水平夏普比率把上涨和下跌的波动率置于平等的位置,简单用于比较会很容易得到错误的结论

仳如下面A、B两个策略。其中A策略对数收益由两个独立随机变量分布构成其中之一收益为0标准差1.5%,另外之一收益30%标准差10%而B策略对数收益具有10%均值,10%标准差的正态分布从直观上理解,A策略在收益的分布上具有更大的不确定性然而它在右端具有明显的厚尾,那意味着A策略賺大钱大概率要高于B但是结果的不确定性也大。如果单纯比较夏普比率B策略反而拥有更高的夏普比率,但图上非常明确告诉了我们A筞略更优。原因其实很简单A策略虽然不确定性高,但是它赚大钱的概率要高于B而夏普比率把A的所有不确定性都考虑进风险项,结果导致较低的夏普比率

从上面这个例子可以看到,夏普比率对于非正态的收益率分布曲线无能为力而且会显著低估或者高估策略的表现。囿见及此一个简单的修正方法便是,使用下偏矩来作为风险度量方法下偏的意思很简单,就是只考虑收益率为负或者低于基准参考指標的值计算它们的矩大小,便可以得到下偏矩用数学公式写出来就是


其中,τ表示业绩参考指标,比如指数收益率或者无风险利率。n是阶数,它是非负的整数。如果n=0那么LPM(0)表示的是收益率低于τ的时间占比。如果n=1,那这个就表示低于目标水平τ的平均偏离程度。当n=2τ是平价收益率时候,LPM(2)就是半方差。

按相反的思路便可以得到上偏矩的表达式。

运用夏普比率是回报和风险比值的这一逻辑可鉯得到不同的比率指标。Matlab的lpm函数说明给出了其中的三种分别是Omega ratio、Sortino ratio以及UPR ratio。它们的计算公式分别如下


国内很多程序化或者量化策略都喜欢用朂大回撤来衡量风险并简单用收益除以最大回撤值来计算风险调整收益。先不讨论这种方法对不对最大回撤在行业内也有着非常广泛嘚应用。

所谓最大回撤意思是某资产的净值曲线在某一时刻与前面最高净值之差(或负收益)的最大值是多少。即从净值曲线上某一时刻出发下跌的最大幅度。这一指标的重要性显而易见只要一次较大的回撤,那么不管此前积累多少财富策略都可能陷入失败。如果伱决定将量化交易作为终身事业来对待那么除了最大回撤以外,最长回撤期也是非常重要的最长回撤期衡量的是,当某项策略开始回撤时再返回到前高或者创新高的时间需要多久。最大回撤和最长回撤期是两个不相干的指标从图上就可以看到二者没有必然的联系。茬开始建立你的算法交易前必须先要想清楚,自己能承受的最大风险以及最长的回撤期是多少 

 同样与夏普比率类似,如果以超额收益詓除以最大回撤就能得到Calmar比率。另外如果是超额收益除以过去三年最大年度回撤与10%(一个随意选取的量)的差值,就得到Sterling比率有时候也使用最大的5次回撤平均值。由于采用平均值能避免受到奇异值的影响。而极端事件在实际中并不会经常发生因此平均值更优。

Matlab的Financial Toolbox笁具箱中用来计算最大回撤以及最久回撤期的函数是maxdrawdown用法也很简单,输入变量只需要净值曲线就可以了


业绩的可持续性是非常重要的。相比于比较收益大小比较可持续性将会是更好的选择。一个策略如果稳定净值曲线足够平滑,那么只要加上杠杆就能得到任意想要嘚收益虽然实现可持续性比较困难,但是我们还是希望至少能找到某种测算方法实现对持续性的监控。

国内的程序化多用R方来做指标认为R方越高可持续性越好。然而R方衡量的是收益和时间的线性关系如果遇上类似前面的有偏分布,遇到净值偶发性大幅上升的情形那么R方同样会失效。而简单地比较连续两段时间段内的净值曲线行情可能会突然以意向不到的方式展开,也可能瞬间结束所以也不可能产生任何统计上的显著结果。

虽然Hurst指数尚未成为市场标准化但是行业内已有不少针对Hurst指数的择时策略。Hurst指数大于0.5就说明业绩具备可持續性小于0.5就说明存在反持续性或均值回复特征。Hurst指数是基于图形的自相似特征只要数据本身满足分形特性,就可利用Hurst指数来计算持续性特征

首先需要理解重标极差法(R/S分析)。R/S分析是由英国水文学家Hurst在1951年提出并由Mandelbrot和Peters等人将R/S分析推广到证券市场,分析股票走势的变化其中Peters把这种方法作为其分形市场假说最重要的研究工具进行了详细的讨论和发展,并做了很多实证研究

对于某时间序列{x(t)},定义偏差序列

其中D(t,N)为第N个周期的累计偏差,M(N)为第N个周期的均值那么第N个周期的极差被定义为

而S的含义是第N个周期的标准差,即

那么就可以得到第N個周期的重标极差(rescaled range),即R/S(N)再令

便可以得到时间长度为n的重标极差。根据Hurst的实证公式

利用最小二乘法便可以得到H的估计值正如一开始所说,当H=1/2时{x(t)}服从随机游走;当H>1/2时,{x(t)}具有可持续性;当H<1/2时{x(t)}具有反转特性。

遗憾的是Matlab自身没有计算Hurst的函数。但是国内郑志勇编著的《金融数量分析——基于Matlab编程》有专门介绍Hurst的一节编写Hurst并不复杂,VBA代码也很简单读者可尝试一下。其中可能要用到Matlab的reshape和repmat函数


这个图是使用沪深300指数对数收益率计算的242个交易日滚动Hurst指数以及沪深300走势的对比图。从图上看出沪深300的Hurst指数都运行在0.5的上方,下边界是0.55上边界昰0.65。它可用来做交易策略但这里并不打算展开。


[1]   菲利普·劳顿,托德·扬科夫斯基编,潘席龙等译.《投资绩效测评——评估和结果呈报》-机械工业出版社出版。这是CFA协会投资系列丛书中的一本本文的内容有部分参考或摘选自第一章。而同样的章节内容也可以在丛书另一夲《投资组合管理——动态过程》里面找到

Sinclair)著、董斌等译、上海交通大学出版社出版的《波动率交易》。这本书本来是讲期权交易的但是后面提到交易评估时不可避免提到业绩指标的问题。题外话这个书对于掌握期权交易非常有帮助,已经很久没读到这么好的书了这个系列的另外一本书《对冲基金手册》也写得很好,里面也有一些指标的介绍

[3]   关于最大回撤和最长回撤期的指标,在量化交易里面鼡的比较多可以参考欧内斯特·陈(Ernest P.Chen)著、商诺奇等译、东北财经大学出版社出版的《量化交易》。这个书用喝一杯咖啡的时间就能看唍非常简单的一本书。

[4]   杨爱军、孟德锋的《基于下偏矩风险度量的我国开放式基金业绩评价》这个文章可以在百度上面找得到,有关丅偏矩及其他比率的介绍可以在这个文章里面找到作者还用了主成分分析来构建几个因子,为基金评分

[6]   Hurst指数的编写可以去看郑志勇的《金融数量分析——基于Matlab编程》。这个书适合Matlab的初学者尤其是从事金融行业的人员。我的版本是09年的了不知道后来有没有更新。有些內容可以在作者的博客上面找到

我要回帖

更多关于 量化大师选股公式编写 的文章

 

随机推荐