很多人都知道交易成功的三个要素。第一要素就是方法,也就是这里所讲的交易系统。其次就是资金管理,最简单地说,就是止损(Stop Loss)和分仓操作(Position Sizing),我稍后会谈及。最后是心理。 上周我做了一个分享,题目是《Mindset Development in Successful Trading》(成功交易的心智模式发展)。成功交易要素中的心理,在我的理解,只是心智模式的一部分。Mindset,在中文里没有直接对应的翻译。它的意思里包含有心智模式、思维习惯,以及心理行为的条件反射等等,在这里我将其翻译为心智模式。比如说,有人看见股价下跌,他直接的条件反射就是卖;而有人的条件反射就是买。这就是一种心智模式的反映。 我曾经谈过我的反权威的观点。专业人士在大家眼里可能都是某些行业的成功人士,比如CMT(注册市场技术分析师)和CFA(注册金融分析师)。我没有瞧不起这些人的意思,我曾经也是他们中的一员。但是我发现,随便抓100个CMT或者CFA问问他们的投资收益,我几乎可以确定的是,他们中超过80%的答案可能都是亏损。也可能有一些不亏损的,那是因为他们根本就不交易。我为什么这么说?这是因为,知识本身是没有生产力的,只有知识的正确应用才能带来生产力。 在交易中,心智模式发展的第一步,就是知识的获得也就是对交易的理解。在交易中,知识的获得有两种渠道:学习他人提供的知识(比如书本,参加培训等)和交易经验(从自己的交易经验中获得知识)。没有交易经验,学习再多的知识也没用。不学习,经验的累积将付出巨大的代价。只有将学习和交易经验相结合,才会迈出正确的第一步。经验很容易获得,只要坚持就好,可是学习呢?如果学错了方向呢?比如很多人热衷于跟庄,这就是典型的学错了方向。这个世界上各行各业中,成功人永远是少数。向对的人请教,看被验证过的经典的教材,是这个阶段的关键。 随着第一步的深入,交易商开始有些收获,甚至在某几个年份里能够获得稳定的收益。这个时候,开始相信这个行业中稳定盈利是确定的,并且对自己开始产生信心。自信是在交易中生存至关重要的因素。自卑和自大往往是孪生兄弟。要相信自己,懂得成功人士之所以成功不是因为他们和自己不一样,而是因为他们失败的次数比自己多。我最喜欢的格言是乔丹的“My Pain is my Motivation”(我的疼痛就是对我的激励!)相信吧!如果你失败得足够多,你就是明天的交易之神! 第二个阶段的核心是“相信”。而第三个阶段,是第二个阶段发展的必然结果,承诺与投入。到这个阶段,交易商必然是全职经营,而且全身心投入。第四个阶段,我称为个人成长的中间点。 看过我文章的朋友,发现我经常强调个人成长和人品。人品修炼是个人成长到后来的必然阶段。可是什么是个人成长呢?我举一个不太恰当但方便理解的例子。比如说有人就是喜欢追涨杀跌,后来发现自己的本金越来越少,于是决定买低卖高。当股票跌的时候,他需要克服他以往的思维习惯,需要克服恐惧,这时他下决定买的时候,需要勇气和冷静。但是买一次,又亏了。第二次,鼓励自己买低,又亏了。痛苦的决定,第三次,这次盈利了。无数次的痛苦,让他最终懂得了低买高卖的快乐。但是大家看看这个转变过程,对于这个交易商来说,是痛苦的?还是快乐的?这个转变是迅速的?还是渐进的?答案显而易见。所以我一直强调,如果你在交易中没感到过痛苦,你就不会有个人成长。而智慧,来自于痛苦。如果对交易没有过痛彻心扉的体会,你绝对无法成为顶尖高手。 其次,我们眼中所看到的世界不是真实的疆域。我们每个人都应该懂得自己的无知和局限。从不同角度看到的世界,所反映到我们心中的世界,和真实的世界是不同的。瞎子摸象的故事,大家都知道。有人说,象是一堵墙;有人说,象是一条蛇;有人说,象是蒲扇;有人说,象是柱子。这些人都对,也都不对。他们的说法,只是来自于他们自己的看法。由此想到,我们眼中每天看到的K线图,真的就是股价的波动吗?一个最高价,一个最低价,一个开盘价,一个收盘价,加上成交量组成的图形,真地反映了股价的波动吗?也许,同样的日K线,当日日内走势完全不同。可是我们在分析的时候,却一视同仁。对这样的数据,经过变换,生成了成千上万的指标,就算不考虑其滞后性,这样的指标给出的信号,难道就能预测上涨或下跌?这显然有相当的局限性。 再次,我们所看到的交易对象,其上涨下跌,完全是K线在我们心中的映像。而我们的反馈,来自于我们的自身。所谓心中是佛看人就是佛,所谓心中是粪看人就是粪。当心中满是贪念,你看到的股价走势,永远都会是涨。当心中不再预测股市的时候,恭喜你!进入了下一成长阶段。 心智模式发展的话题,是永无止境的话题。活到老,学到老,是证券交易市场唯一的生存之道。 最后我想强调的是积极正面的交易态度。在无数次失败中看到成功的希望,这是所有成功交易商所必需具备的。我一直以为,无法让他人快乐的人是没有资格快乐的。大家可以想想我这句话。一个每天抱怨自己苦命、抱怨中国到处是贪官的,不懂得自己的幸福所在,也无视中国过去30年创造的经济奇迹,不懂得面向阳光就看不见身后阴影的哲理,我对他在证券市场的前途持保留态度。积极正面的态度也是个人成长的一部分。 下面我继续谈交易系统的构建。前几次,我用的是SPY的5分钟分时数据,主要是希望大家熟悉Excel及其公式。从现在开始起,我将采用a股数据。 安装好通达信的朋友,请进入通达信。如附件1.jpg所示,选择600028中国石化。主图指标选择5日、30日和250日均线。副图指标选择macd(12,26,9)和ATR(14)。将其导出为Excel格式。见附件2.jpg所示。然后将表格数据进行整理,去掉我们不需要的行列,将spreadsheet也就是日线数据表名字改为daily。如附件3所示。
很多人喜欢使用指标,甚至自己定制的指标。下面我就简单地讲述在Excel中如何构建一个指标。 之所以Excel可以作为一个开发平台,是因为Excel提供了非常灵活和简单的编程平台:Visual Basic for Application,或者简称VBA。VBA是以BASIC语言为基础的编程语言,所以非常容易上手。对于所有Excel用户来说,如果他们渴望成为高级用户,VBA编程是必须的。 打开附件中的600028.xls,按ALT+F11,进入VBA编程环境。双击工程模块Functions,大家会看到如下公式: Function TrueRange(ByVal high As Double, ByVal low As Double, ByVal previousclose As Double) As Double Dim returnValue As Double diffHighLow1 = Math.Abs(high - low) diffHighLow2 = Math.Abs(high - previousclose) diffHighLow3 = Math.Abs(previousclose - low) If (diffHighLow1 > diffHighLow2) Then returnValue = diffHighLow1 Else returnValue = diffHighLow2 End If If (diffHighLow3 > returnValue) Then returnValue = diffHighLow3 End If TrueRange = returnValue End Function 这是指标TrueRange的实现过程。如果有不懂的,先去了解TrueRange指标是如何计算的,然后再来看VBA是如何实现的。 好了,咱们再进入表格调用这个指标。在ATR.ATR列的右边单元格输入TrueRange。因为TrueRange指标需要今日的最高、最低价和昨日的收盘价,所以我们选中单元格O3,输入=truerange(C3,D3,E2),然后下拉使该列所有单元格都采用同样的公式和对应的引用参数。大家可以看到,我们这里用函数计算的结果O列和通达信的计算结果M列,在开始的计算中有小数点的区别。但是后面的数据都一样了。 这里采用的VBA编写函数的方法,是Excel最有魅力的一部分,也是VBA的中级使用。对VBA不熟的朋友,可以多多采用记录宏的方法,然后学习宏的编写。虽然从记录宏中学习VBA的方法,学到的不见得是效率最高的编程方法,但却是最简单的入门方法。 有人可能觉得每个指标都要写函数,过于麻烦。我的观点是,因为我们在写函数的时候,指标的细节必须重点关注,所以会帮助我们对指标的理解。如果将所有编写好的指标公式放在一起,作为自己的专用指标库函数,那么日积月累的工作会让自己后面的工作越来越简单。如果希望不编写函数而直接调用市面上现有的指标,我自己也有专门的解决方案。但那是VBA的高级用户的学习内容了。 请大家对这个系列的文章多给些反馈。是太容易了?还是太难了?拜托请不要只说谢谢分享!给些反馈就是对我的谢谢!谢谢大家的支持! 很多人对交易系统有神秘感,其实神秘感的来源主要是因为不懂什么是交易系统所以好奇导致。任何人都可以根据任何买进卖出信号构建自己的交易系统。但是,一个交易系统需要投资者投入大量的时间和精力。那如何判断一个交易系统的好坏呢? 今天我给大家讲讲交易系统最重要的评测指标。市场上评测交易系统的指标有很多,我个人最喜欢的是wealth-lab的系统构建平台。为了方便大家了解交易系统的本质,我将wealth-lab里面的交易系统中的评测指标全部做了翻译和解释。这些指标希望大家记住,甚至要背熟。为下一阶段的工作做准备。 Starting Capital (初始资金) 系统测试开始时的全部资金 Ending Capital (终止资金) 系统测试结束时的全部资金,包括账户内的股票以收盘价计算的价值 Net Profit(净利润) 全部的利润。这是净利润的总和,已经减除掉每笔交易的佣金和slippage。 Net Profit %(净利润%或者投资回报率) 净利润占初始资金的百分比 Profit per Bar(每根K线的利润) 全部的净利润除以进出场所经历的K线根数。和中长线投资相比,每根K线的利润,对不同的交易系统之间的效率比较提供了公平的指标。 如果和中长线投资系统比较,我们通过每根K线利润就可以直接比较其交易系统的盈利效率。 Annualized Gain % (Annual Percentage Return, APR,年投资回报率) 年投资回报率是复合年增长率 Exposure (%,暴露风险) 简单地说,就是持仓所占全部账户资产的百分比,也有人翻译为投资比例。 我个人理解,所持仓位就是暴露在市场的风险。 Total Commission(佣金总额) 全部模拟交易的佣金总额。 Return on Cash(现金回报) 系统测试期间,现金的全部利息回报。 Margin Interest Paid(所付融资利息) 测试期间的全部融资利息支出 Dividends Received(所得分红) 测试期间的股票分红总额。 Number of Trades(交易数量) 买卖交易的总数加上目前的持仓;对于中长线投资,这等于买卖的股票支数。 Avg Profit (Loss)(平均利润/损失) 减去佣金和slippage后的每笔交易平均利润或亏损。 Avg Profit % (Loss %)(平均利润/损失率) 减去佣金和slippage后的每笔交易平均利润率或亏损率 Avg Bars Held(平均持仓时间) 每笔交易平均K线根数,对于日线来说,就是平均持仓天数。 Win/Loss Rate(盈利/亏损率) 交易中盈利交易和亏损交易所占全部交易百分比 Gross Profit/Loss(毛利润/亏损) 全部盈利交易带来的利润或者全部亏损交易带来的亏损,减去佣金和slippage。账户中当前仓位的账面利润和亏损不计入盈亏。 Max Consecutive(最大连续盈利/亏损次数) 连续盈利次数的最大值或者连续亏损次数的最大值。 Max Drawdown(最大系统回撤$) 以账户资产(资金和股票净值)计算,最大峰值到最低峰值之间的下降金额。 Max Drawdown Date(最大回撤日) 最大回撤结束的那一天。 Max Drawdown %(最大回撤$) 以账户资产(资金和股票净值)计算,最大峰值到最低峰值之间的下降%。 上面的内容中有一个slippage,不能简单翻译。有人翻译为滑价差,让我看得摸不着头脑。slippage,是指我们决定以当前价格市场价成交,可是实际成交价却不同于我们看到的市场价。这两者之间的价差会增交易成本,被称为slippage。因为找不到对应的词汇,所以专门在这里做个解释。 大家一定要记住这些名词的意思,这样到后面才不会困难。 |