neo_cn的系统交易体验——三年后回头看

Discussion in 'Philosophy and Strategy' started by neo_cn, Feb 26, 2009.

  1. 无意中发现了一个很好的thread啊~既然这么多先辈都在这里贡献了自己的观点,那我也贡献下我的不成熟的思考吧。

    先说下偶的情况,偶是搞IT出身的,在IT方面积累了20年的经历和经验。现在对交易十分的感兴趣,准备作为副业,如果运气好升级为主业~我是刚入门,之前从未接触过交易市场,也从不关心市场,甚至从未开户,因此对这个市场缺乏足够的认识。我目前正在思考第一个交易策略,写出来供大家参考,错误的地方也请各位高手不吝指出。

    首先,我认为圣杯是不存在的,证明非常简单,假设圣杯存在,那么如果所有人都使用圣杯的方法进行交易,很显然大家不可能都同时赚钱,因此圣杯一定会失效。所以圣杯是不可能存在的。这个就跟计算理论中,图灵停机问题一样的证明思路。当然,你可以假设圣杯只能存在于少数人手中,但是这个不会影响证明的过程。毕竟其他的多数人都是会追逐圣杯的,圣杯的普及,只是时间问题。

    圣杯的现象,跟图灵机能力的极限其实很类似。我很久以前就思考过如何突破图灵机能力的极限。我发现一个很有意思的现象,如果能放弃程序的“实在性”,那么就能部分的换来超越图灵机的能力。类似地现象,我认为也可以运用在交易中。也就是说,如果圣杯真的存在,那么它一定得处于永恒的变化之中。也就是说任何一个固定的策略,如果恰好是圣杯,也只是一瞬而已。圣杯会像精灵一样,不停的从一个策略跳到另一个策略。

    回到构造交易策略的思路上来,我发现我陷入一个矛盾:我试图从一个纷繁复杂,变化万千的混沌系统中,去寻找出固定不变的东西,从而去预测点什么(当然这个规律必须能够给出较为明确的指引,而不是“话说天下势,分久必合合久必分”这种没用的哲言)。我觉得这个思考过程本身就十分的矛盾,并且直觉不停的在告诉我,不存在这样的固定不变的东西,唯一不变的就是变化本身。

    因此,我最近的思考的重点,从“预测”转移到“适应”上来。我倾向于削弱原先的“预测”目的,转而让这个系统能够快速的适应新的情况。毕竟,快速的调整自己,让自己能追的上圣杯的脚步,或者最起码能够甩开其他竞争者调整自身的能力,才是制胜的关键。也就是说,我在试图让策略放弃自身的“实在性”。

    下一个问题,就是怎么做到这一点,以及在做到这一点的情况下不出差错。这个问题,是眼下我尚未考虑清楚的核心问题~程序如果可以放弃“实在性”那么十有八九会迅速的死机,策略如果也变得类似这般,又会如何呢?我感觉我似乎能摸到答案,但又不确定答案在哪里~
     
  2. “适应”更多体现出“交易师”的特性,“预测”更反映“分析师”特点,“预测”对“交易师”的价值更多的体现在资金的配置和安排计划上。
    金融交易中出现“预测”“正确”但交易失败的情况是很常见的。
     
  3. 海龟法则当初要教一星期,现在的确几行代码就能搞定了。
     
  4. 实盘3000笔再来说吧
     
  5. 既然你是搞IT的,应该知道遗传算法吧。要达到“适应”这个目标,只能用这种近似性的搜索算法。不过很可惜,在竞争中生存下来的算法并不能保证未来可以带来好的收益。有兴趣的话你可以试试实现它,我感觉很难,否则目前应该会有一种可以完全自我进化的病毒,两者的困难程度是等价的。
    如果相信进化论的话,那么就有这样一个推论:没有谁(包括上帝)是全知全能的。未来总是不确定的。你我都是进化之中的一分子。也许你要做的事情本质上等价于创造生命。让他们在“选择”之中进化。

    “没有用”的“哲言”至少是对的,而“有用”的(具体的)“规律”总有其局限性(总是错的……^_^)。
     
  6. 遗传算法只是给算法的参数引入随机性而已。这个名字取得太大了,根本就谈不上“遗传”。
    就如同动态贝叶斯网络的“动态”两个字一样,都是名字取得太fancy的结果。
    我需要的算法的结构都能引入随机性的方法。
    但是结构一随机,代码就错误了,错误的代码一定会走向死机。
    比如你把一段程序的某一段ctrl+x,在ctrl+V到另外,如同切牌一样把程序的片段切来切去,然后去跑一遍试试看,肯定跑不起来。

    说穿了,现在的程序容错性太差,类似一个倒立的不倒翁,一碰就倒了。
    而引入随机性的基础,是让这个程序能像不倒翁一样,各种各样的错误都不至于让它崩溃。

    举个例子吧:现在的计算机程序/硬件,坏一个小器件就无法运行了。
    但人脑切掉一块是没有任何问题的,切掉一半都没事。

    如何构造这样的系统,我感觉很迷茫~
     
  7. 随机性其实就是重点。只不过按照你想的那样编码程序,产生的后代不能保证能运行。这是用“基因”表示程序的问题,要求杂交以后能运行确实很难,也许在“基因”层面应该采用另一种表示方法,而不是像现在这样一条一条语句。

    这当然是很难了……你见过可以像生物一样自我复制进化的病毒吗……没有……能创造出这种东西,就可以称为“造物主”了。
     
  8. 其实这种现象在生物界非常普遍啊,大家都是知道DNA就如同程序,记录了人的一切生命信息。那么这么重要的东西居然可以被任意小规模修改,甚至可以与另一个人的DNA杂交产生后代~
    任何程序基本上修改一个byte,就有很大的概率会崩溃,DNA为啥可以如此?

    换句话说,其实程序是可以通过一个输入生成一段新的程序的,这就叫meta programming。在这个过程中,输入的参数可以有变化,但产生的程序可以保证某种程度的正确性。比如我做的CTP-python扩展,CTP的.h文件就是我程序的输入,而我程序的输出就是CTP的实际扩展代码,包含.c,.py等部分。对我的程序来说,.h是可以修改的,我的输出会适应.h,从而产生对应的输出。在这个例子里面,CTP分行情和交易两部分API,.行情部分的.h进去,出来的就是行情部分的扩展,交易部分的.h进去,出来的就是交易部分的扩展。

    meta programming是可以层层迭起来的,比如A生成B,B生成C,C生成D,... ...
    层层迭起的meta programming是可以有不动点的,比如A执行之后生成的还是A,或者一个循环,A生成B,B执行生成C,C执行生成A这样的。

    我觉得利用MetaProgramming,是可以达到真正的结构随机,也即算法随机能力的。但是用什么样的方式去描述这种构造能力,我觉得目前是个没有解决的问题。就如同A->A,或者A->B->C->A这种,很多时候只是作为一个智力题,由人来通过各种trick的方式来解决。背后缺乏一套完整的理论,来具体的指导这些现象。

    我觉得这个问题如果研究透了,也许人工智能就有希望了~~
     
  9. 最难的投资就是人生
     
  10. 这个评价指标很好!
     
  11. 伴随着交易系统,人生也在耗费。
    如果想要探索这个玩意,一定是要在有保障的前提之下的。
    包括单不只包括生活费用的保障。还有健康和亲情友情。
    Idlator写过一篇凯利公式的推导文章,提到了荷兰赌的一种组合
    :债券盈利部分用于股票投资。确保0风险,无限收益。
    人生的投资也需要这种组合。
    不可以一股脑把注全压在一个交易系统开发的注上。

    线性之下,最优化的投资比例是在两极的。
    非线性情况下最优化的投资比例往往是在中间。这大概就是
    中国文化里面“中庸之道”、“度”的原因吧。
    小的时候看到这些腐朽之词会觉得愤怒。现在学习了风险投资,哦。发现是原来是这样的。:D
    非线性优化的感受是:一旦失败,你还有东西可以东山再起。不要把事情做绝
     
  12. 个人觉得把交易交付于一个程序软件上,然后就开始成倍的增长,还是不太靠谱 ... 可能是我玩的时间不够长,我也看到过那些成功的系统交易员的理想的生活,但是觉得除了羡慕嫉妒恨之外,我自己也知道自己是很难达到那个程度的,所以我更倾向于个人去做单子,比较崇尚LINK大神这样的.... 个人愚见 勿拍~
     
  13. 现在的我说市场中到底什么是真理?
    1 市场是变化的,变化是非线性的,是不连续的,市场每天都是新的。
    2 不同的系统有不同的用法,投资组合有效
    3准确率是毒药,profitfator才是王道[/QUOTE]

    组合投资,这也是我这几年研究系统交易得出的结论。对散户来说太残酷了,未来的交易之路不是一个人能做好的游戏。
     
  14. 得道我赞同,交易就是开悟,得道的过程

    profit factor然并卵,关键还得看绝对值。于是乎我又回到了海洋论坛,开启了QQ群消息提醒,见各种人,看各种文字。其实无外乎在寻找新一层的得道。。

    透露一下我目前实盘的profit factor是10,年绝对收益60多万
     
  15. hyt

    hyt

    精辟啊。。。
     
  16. 模型中必须加入一个重要的因子---性格与策略的匹配度。
     
  17. 钱是时间熬出来的
     
  18. 不招不架,就是一下。

    情不附物,物岂碍人?
     
    Last edited: Mar 6, 2018
  19. diy

    diy

    问题是本金是多少?