以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 程序化交易实盘俱乐部 (http://www.weistock.com/bbs/list.asp?boardid=9) ---- 回应:老树新芽老兄的分享:我的程序化研究心得 (http://www.weistock.com/bbs/dispbbs.asp?boardid=9&id=65708) |
-- 作者:投资老友-WAN -- 发布时间:2014/6/2 12:21:47 -- 回应:老树新芽老兄的分享:我的程序化研究心得 之前看到老树新芽”老兄的分享:我的程序化研究心得 我把他的贴合一个附件,方便大家看
常感谢“老树新芽”老兄的分享,你的贴是我一段时间以来在金字塔论坛看到的最有价值的贴。因为你是分享了多年来的程序化研究和实盘运作的真实经验和感悟。 我做程序化没有你那么久,近3年时间,之前做主观交易股票投资。去年10月前以股指程序化为主,现在以商品程序化为主。
谈谈我的程序化发烧经历: 经过大概半年多的编程、测试、实盘模拟,2012年开始实盘做股指程序化投资,由于资金量不大,采用单策略一手模型,有趋势盈利时加仓为2手,在2012年盈盈亏亏,赚近10万,低于预期,但保持盈利。2013年初的上涨行情和6月的大跌,收益很好(我是隔夜的波段模型,3-5分周期),盈利增加了30多万。于是我开始头脑发热,开始加大资金量,启用之前储备的其他策略,采用多模型组合,三个模型组合,这三个模型组合历史回测:2011到2013年6月,开仓1-4手,盈利合计200万,回撤12万。但是2013年7月三个模型实盘运行后,连续3个月亏损,亏损15万左右,幅度超资金的20%,与历史回测差异太大,我决定停止左右股指程序化。
另一方面,我的商品期货的程序化,进行的比较好,采用多品质(8-10个)组合,中长周期波段策略,我抓住了今年年初多个工业品下跌的行情,也抓住了这两个月菜粕和鸡蛋的上涨行情,因此现在只做商品期货的程序化,什么时候重开股指的程序化将取决于:1.是否开发出有足够信心的策略,2.股市能否走出趋势性行情,3.是否有足够的资金做资金管理和容纳更多策略组合。
我了解到,2013年下半年后,很多股指程序化的投资者都遭遇类似情形,策略普遍失效和钝化,我感到出现这个原因是: 1.股指程序化的参与者太多,策略雷同现象严重; 2.去年到今年,股市长期处于狭窄范围的震荡期间,波动率减小;任何程序化在波动率减小的情况下都难获好收成。
看了“老树新芽”的感悟,我也很感概,很有同感: 1.历史数据回测和参数优化是策略开发必不可少的方法,但对历史数据回测和参数优化的结果必须正确对待,不能全信,对参数只能做粗优化,不要做精细优化,也就是说,只从参数优化中确定一个参数的大概范围即可,如均线周期参数取值范围在5-50, 我大概以5或10为步长,优化计算5-10档即可得到参数的可取期间。所以我从来没有感到在金字塔平台上参数优化的时间太长,运算速度太慢的问题。开发好的模型无论测试如何好都不要直接拿去实盘运行,把它储存一段时间,用后续的实盘数据再测试验证,或者模拟实盘运行一段,再完善。 2.简单比复杂好:任何接近事物本质规律的东西都应是简单的,这是一个科学方法论的带哲学味道的论题。行情数据中包含有反映市场规律的东西(我们成为信号)和随机杂乱的东西(我们成为噪声),我们的策略需要识别这个信号,去除噪声,因为未来的市场中规律的信号会重现,但噪声是随机波动,漂浮不定。过度拟合、过度优化的模型,可能把过去行情中的噪声拟合到信号中了,而未来并不能再现。所以逻辑优化比参数优化更好。 3.模型的普适性:我现在的商品模型,对所有商品品种都适用,只对少数参数微调,也可用于股指,对这样的策略,我就比较有信心,因为对未来的行情的变化,模型的适应性也会较强。
老树新芽”在简单化和止损止盈上的观点,我很赞同,在开发程序化时,我发现我的商品模型去掉止盈功能,让模型按指标和形态进入,也按指标形态条件退出,结果适应性大增。这出乎我的预料。
时间关系,就谈这些。希望与做过实盘的朋友大家多交流。
|
-- 作者:投资老友-WAN -- 发布时间:2014/6/2 12:23:13 --
我的程序化研究心得 20140426 金字塔论坛 “老树新芽”贴
写这个帖子的目的,主要目的是为了找到长期合作的组织,或许还可以与同行有深入交流和探讨。基本上感觉搞程序化这一行的人,交流起来有障碍,大家对谈论自己的东西忌讳莫深。毕竟大家之间是竞争关系,这是一个负和游戏市场。或许你对我讲的东西嗤之以鼻,那也没关系,有的人走在前面,有的人走在后面,但这条路很长,只要坚持,大家都会有进步。
既然是做组合,目的是为了平稳,回避个性风险,我们要尽可能多的策略以及一切能做的商品进行对冲,只要是测试指标能够达到要求的我们都尽可能上。哪些指标?无非是收益风险比,夏普率或者R方值,盈亏比之类的东西。确定了品种,以及相应的策略以及实用周期和参数之后,再对商品的头寸进行优化,以最后确定组合中不同品种、不同策略、不同参数的交易头寸。最后我们的组合测试结果是近乎完美的几乎没有什么波折的资金曲线,收益风险比能达到10,也就是年化收益是历史最大回落的10倍,然后我们再把收益打对折,把回落放大一倍来决定最后使用的总资金,这算是万无一失了吧。但是,一开始,我们就不顺,各个账户持续缓慢的亏损。我们开始争论,开始探讨到底是怎么回事?我们怀疑是不是策略的互补性不够,是不是应该用统一的参数来建组合,并试图写出更多的不同类型的,从原理上能够互补的策略,要求能够普适性好的策略,要求尽可能简单,最好是无参数的策略。
续)故事就讲这么多了。论坛里面潜伏的大鳄一定大量存在,我的故事不值一提。下面要说的才是重点。包括我的基本交易思想和理论,我的策略要求和测试方法。
续)前面说了那么多,对系统近乎苛刻的各种要求和怀疑,可以说是为了一个目的,那就是:投资的确定性。或许马上有人会反驳,认为初级阶段的人才会去追求交易的确定性。我说的确定性不是指单次交易或者短期交易的确定性,而是指长期投资保障安全和收益的确定性。如果不是为了确定性,何必要做程序化呢?人家何必要出资呢?
把资金曲线做得很漂亮,指标都做得很好,除了是为了追求高收益之外,其实可能还有一种心理暗示:越是漂亮的系统安全性越高。前几年有人跟我讲过,我们做出的东西和实盘相差太大,我原本希望实盘能够达到测试结果的5折,但实际上上2折都没有,甚至根本就可能赚不到钱。我认为系测试结果好不好,与将来的实盘表现没有关系,所以关键是要先考虑确定性,再来研究测试指标才有意义。怎样才有确定性?就是我前面讲的那些东西,当然肯定还有别的要求,我不知道。人的认识有限,我们只能尽人事。但绝不能对怀疑、可能的危险和不确定性视而不见,冒然行事。
再来研究测试指标。当你要研究策略的普适性,或者开始搭建组合的时候,你需要把视野扩大到整个市场的所有品种,你需要一个统一的指标逻辑来衡量你的研究对象,让他们具备可比性。 一、年化收益率。首先是年化收益,你当然不能只看总收益,而要把收益年化,因为不同品种上市的时间不同,总收益当然不同。其次,要计算年化收益率,因为即便是同样的时间,一手股指的价值和一手豆粕的价值完全不同,所以年化收益肯定不同。因此要把年化收益收益除以他们的合约价值,得到年化收益率,这样它们的收益才在同样的尺度下进行比较这样计算与你设置的初始资金和交易数量都没有关系,只与你的品种有关,赚钱效率的高低一目了然。这个指标只能自己通过代码来实现,软件自带的年化收益率是除以测试的初始资产规模。 二、最大回落幅度。首先是最大回落金额,需要计算出来,同样的道理,只看金额没法进行横向比较,需要看最大回落幅度。但是这个最大回落幅度要怎样计算,才算是合理,这或许每个人见解不同。无非三种,一种是最大回落金额除以初始资金,TB就是这样做的;二种是最大回落金额除以回落之前的资金高点,这是金字塔的算法;还有一种,是我自创的,是拿最大回落金额除以回落之前资金高点所对应的合约价值。这样做的目的,是为了把不同品种交易放在同样的杠杆尺度上进行比较。 二、杠杆的概念。很长时间以来,我都习惯于用投入资金比例来计算交易杠杆。但实际上着是不合理的,因为不同品种所需要的保证金、不同的经纪公司的保证金规定也不同,所以同样的资金投入,实际运用的杠杆并不相同。你告诉我你的账户去年赚了50%,从程序化研究的角度看,我完全没有概念,我不知道是好还是不好,因为,我不知道你的杠杆是多少。你告诉我你投入了30%资金比例做的交易,我还是没有概念,因为你可能做了股票、基金、期货,这样30%的资金代表多大的风险度,是激进型的还是保守型的,完全不知。你要准确告诉我你这个资产账户,运用了多大杠杆,取得了多少收益,我才能明白你的表现。对于策略而言,也是同样的道理。 三、风险收益比,拿年化收益率除以最大回落幅度,是非常重要的指标,这个指标极大地影响到了资金账户可以运用多大的杠杆进行交易。需要强调的是,这个指标对分母非常敏感,因为分母是历史上出现的最大回落幅度,它反映的是曾经出现过的极端情况,偶然性很高。把时间拉得足够长,出现各种极端的情况概率就会大幅增加,收益风险比就会大幅下降。而这并不能说明策略或者品种不好。 四、R方值反应的是资金曲线的连贯性,斜率越一致的资金曲线,赚钱越平均,R方值越高。夏普率反映的是资金曲线的光滑度,皱纹越小的资金曲线,夏普率越高。这些指标都是辅助指标,可能会影响到你的交易杠杆,但是对系统未来的表现交没有预期性。这一点很重要,不要迷恋这些测试指标。 五、年化交易次数,即交易频率。关注交易频率实际上有几个好处,一是研究品种的差异性,频率与周期是倒数关系。任何品种价格都是波动推进的,大波外面有更大的波,里面还有更小的波,波浪里面就隐藏着周期特性。如果你的策略里面没有直接的周期元素,它就用交易频率来研究。或许农产品真的和工业品不同,有理由吗?二,交易频率用来测量参数的敏感性。或许你的参数范围并不大,只是步长太小了,前面已经说过这个问题,而造成参数适应性很广的错觉。那么可以观察一下你的交易频率,从年化5次、10次到年化300次试试,看看你的参数的连续性均匀调整是否带来交易频率的连续性均匀变化,再来看你的交易结果怎么样。 六、其它的盈亏比、胜率我认为不重要。如果你的盈亏比很高,胜率很低,我猜大概是加仓系统,或者带有止损并且止损设置很小。
总之,测试指标是对比研究的尺度,是结果,不是目标。你绝对不能为了测试指标好看寻求慰藉而放弃或者降低对策略的要求,你只能接受你的指标,用组合,用去杠杆来进行投资。
(续)还有几个问题,确定参数、确定组合品种成分、确定最终的杠杆运用。
只说一下品种选择问题。我相信品种选择是非常重要的,在实盘中肯定需要调整。你需要做成交量大的品种,这代表着市场赚钱或者赔钱的效率,你也需要关注持仓量,这代表着赚钱或赔钱的潜力。假设一个品种成交量和持仓量都很低,你指望你的程序化长期泡在里面赚钱,赚谁的,这个道理相信大家想得通。但是麻烦的是品种有时候参数与的人多,有时候少,过一段时间又恢复了活络,有些品种可能永远沉寂下去了,还有些品种上市不长正在发育,要如何选择呢?形成品种是否活跃的原因很多,行业背景、周期、金融政策变动、品种合约设计、交易成本等等,要从这些方面着手只怕远远超过了我们这些写代码的人的能力范围。这里只是提出课题,可以相互交流。
资金和投顾都是一个成熟的过程。资金希望看到不回落的系统,收益还不能低,而且要马上看到效果。投顾对自己的模型过于自信,对风险估计不足,现在流行优先劣后、保本分成的,就我所知死了不少投顾。降低预期、降低杠杆、组合对冲、多重配置是我能够接受的资产管理模式。不排除有人有知识面、技术面门槛极高的交易方法,比如讲数学家、物理学家、化学家、计算机工程师这些人,就像西蒙斯团队的那些人一样,那么高收益预期可能维系的时间稍长一些,但也必然是逐步降低的,而且有个市场容量的问题。如果你的资产收益能达到年20%以上,那么恭喜你,基本上要超过巴菲特和索罗斯了,如果能超过30—40%,那基本上会要超过西蒙斯了。我们假设你目前的收益率的确超过了他们,这是事实,那么从长期来看你是否真有信心超过他们从而成为世界冠军,如果没有这个信心,就意味着你将来的收益必然是要降低,而且会大幅降低到20%以下甚至巨亏,这样平均起来的收益率,才能让上述三个老头有资格跟你平起平坐。所以,当你看着你漂亮的不能有回落的资金曲线的时候,虽然这并不意味着它明天就会扭头向下,但是这一天必然会出现,将会发生什么事情,做好准备了怎么应对了吗?再看看你手上的配置,你用了几倍的杠杆,你还有机会存在吗?一手股指回落5万,是其合约价值的10%都不到,或许有一天一手股指回落30万大家都觉得很正常,而且很乐意做,前提是我们还在这个市场中活着。
|
-- 作者:千一编写程序 -- 发布时间:2014/6/2 14:47:26 -- 这贴要火! |
-- 作者:rkkkadd -- 发布时间:2014/6/4 12:14:37 -- 应该是受到资本家也学精乖文章的启发,楼主技术进步,但是感觉好像还做不到资本家要求 |
-- 作者:投资老友-WAN -- 发布时间:2014/6/4 18:36:00 -- 投资老友本人是自娱自乐,投资好自己的一亩三分地,不需要符合资本家的要求 |