(3)程序系统的产生,程序系统的意义,程序系统的问题
写这篇是因为看到Parkson几段话,很有同感,但若不为TS做一些深入的探讨,似乎又不太公平。Parkson文中提到:
"有许多状况在T.S.里瞧跟真正上场交易是完全的两码事"
"许多感觉不起眼的交易噪声,在旁边看热闹的我们觉得还好,可是很可能你真的在交易遇上它就会觉得令人痛不欲生了"
"还有一些设计上订定的潇洒特大号停损,特别在跟随一笔漂亮的纸上获利之后,我们会失去客观的认同"
这些情形,我都遇过,想必这条路上的人都不寂寞。看Parkson文字的情绪,这该应已经是陈年往事了,也有了后来的成功模式。不过,遗憾的是,他努力在这样的工具上,得到的结果是差强人意,只用来当辅助。而我,仍在继续努力,也希望给这条路上的人,除了提醒还要打气。
我在半导体与液晶显示器制造厂工作过快10年,这个行业,需要投资大量的钱在硬件上,除了精密的制造设备外,还有取代生产人力不足或缺陷的自动化操作或搬运设备。这样的一个投资规划,往往出现了很大的讨论,当我们要投资数百万,数千万在不知道稳定度的无人搬运车时,是不是可以考虑找来专职的搬运工,或许给他的薪水,只要那台无人搬运车的维护费,省下的投资费用,足够做一些辅助的搬运工具。这样的一个建议案,似乎让投资无人搬运车这个案子,变成傻瓜,但其实不然。专职搬运工,会有工作分派平等问题,也会有未来随着晶圆或面板越来越大,作业员遇到的极限挑战问题,既然,自动化是个趋势,就得提早做下去。虽然,当时某家面板制造公司用无人搬运车,上线时也沿路当机,最后派人来支持无人搬运车,但技术遇到问题,相对就是提升的机会。
这样的故事,似乎还不足以说明交易系统完全程序自动化的必要性,因为在工具辅助下,规则确定下,由人产生讯号来交易,并非是做不到,过去的金融怪杰常常被拿出来举证。但我还是有不同看法。
每个人的天份有差异性,有人优势在左脑,有人在右脑。虽然,今日的市场变化比过去复杂许多,相信仍有人可以游刃有余。如果你是像股市作手回忆录作者这样的人,你真的可以不用花功夫去研究程序交易,不过,他也曾破产过,你得有明确的资金管理做后盾。但如果你不是这样的人,或者,也是容易被市场拐走纪律的人,或者,在你还没有足够财富与保险可以安心的面对生活对生命与健康造成威胁的意外以前,专职的交易者,把你的大脑资产化,把你的交易系统自动化,也就能事业化,进而有了保障。
程序交易,对交易者目前不是一个必然的选择,但可以是个选择。当你选择它以后,别想它很快的变成你,而是你要变成它,要去了解它什么,还要始终记得你为什么选择它。这里面有许多自动化专业的技术问题,通常不是一个人可以同时具有的能力,所以,也是程序交易一直无法成功的原因。台积电是个极优的公司,从半导体制造公司的股价差异就可以看出来,知道为什么吗?他投资了最优的人分工去做该做也是很多人做不到的事。自动化需要三种能力:提出使用者需求,将需求制定规格(也就是合理化与标准化)以及将规格实现成自动化。一般的使用者有经验但需求通常是没有系统的,没有轻重缓急的架构,需要有人帮他整理与确认,这就是合理化,这些需要制定成标准规格,以便让开发人员能够按图索骥。不过,通常MIS部门,不是用技术导向来开发系统,做成了难以使用的怪兽,就是被使用者无尽的需求给弄得团团转。
了解了程序交易的意义,赋予阶段性的任务后,才能正确的来开始建立系统,并面对问题。问题是针对目标的,与目标不相干的问题,你大可不必去理会。
T.S.的世界本来与实际交易是不一样的,问题是,你会不会在意这个不一样?需不需要在意这个不一样?当你心中有了一个实战的获利系统,你一定会在意的,因为T.S.无法依照你的做法,你会担心多了几笔亏损,少了一笔获利,但如果真的有能力跟下去,结果如何?就取决于T.S.的期望绩效与程序潜在 bug有多大,不了解这些,不管T.S.的绩效比自己的好或差,最好都不要跟。期望绩效统计上是用交易胜率与赚赔金额比来估计的,这个统计在T.S.是来自模拟的结果,而仿真来自输入的程序法则。法则有没有效,不是看模拟的结果,那样会有匹配的问题,要看法则的制定是不是来自合理的市场行为分析,以及足够的统计,来淬练策略的扎实。即便如此,还是不够,因为诸如T.S.之类的模拟工具,往往会有料想不到的bugs,所以需要测试。测试分为两种,一种是逻辑上的测试(verify),比如输入1+1应该等于2,若不是,问题可能来自程序把1+1打错了,也可能是T.S.引擎的错误,后者很可怕,却也存在;另一种是效果的测试(validate),比如你有一个实战的系统,经验胜率在50%,T.S.结果只有30%,显然你的程序有着与实际上的差异。
假如这个差异是不好的,你一定想去除错,但往往费时又有挫折感。"如果你的系统已经伴你多年南征北讨的获利无数,你也已经建立不可撼动的交易规则并遵守,你难道非得T.S.来帮你加持与证明你的正确吗?",Parkson提出这样的问题,其实也点出了答案,除了之前我提到的交易事业化的保险意义外,一点都不需要。不过,有个问题是,如果你是这样的人,为何正在看这样的文章?想必,多数人的实战绩效并不是很稳定,所以试图要找些方法来克服。每一种方法都需要投入资源,足够的了解是评估的依据,这也是我这篇文章的用意,希望整理出程序交易的意义与问题,并对产生程序系统的依据与方向提出概述,以后有机会,再将我的实际开发经验与技术做分享。
还有一个程序系统的问题需要继续讨论,假如经过严谨的测试后,发现程序系统虽然不如实战的,但仍然有获利,也就是validate之后还有问题,该不该跟?今天你撘的飞机是第一次就做出来的吗?你当初有做过螺旋桨飞机吗?旧时代庞大计算机看来笨重,输入还要先打磁带,你现在一定不想用,可是当初却好用的很。通常伟大的工程,都是设定阶段性目标,用时间陆续来完成的,就看这样的规划是不是你可以选择中较好的方案。至于其它跟随系统的心理问题,不单单只有程序系统有,实战系统也是,都需要想办法去克服,重点是在你选择了一个系统时,清不清楚伴随系统上演的会有哪些故事?你该关心的是哪些绩效指标?净获利?胜率?赚赔金额比?连续亏损次数?最大净值下滑金额?坦白说,如果对系统测试有信心,该关心的真只有净获利一项。但事实上,我们要的更多,但最多两个就足够了,或许我在风险控管与加码中会再提到。