程序交易:痛并快乐着

Discussion in 'Philosophy and Strategy' started by itfin, Aug 21, 2007.

  1. 还是太繁琐了,
    权证只有三个词:
    足够的空间,资金入驻与市场关注状况及预后.

    研究与解决问题切莫钻牛角尖.
     
  2. 不过,话得说回来,钻研精神应该是值得赞赏的尤其是现在,愿学肯学的人不多,但是,路,是否可再予选择?
     
  3. 我们还有许多事情要做,时间很少,仅仅凭这个理由,我们就想搞自动化,就像买个全自动洗衣机,他们是一个道理。
    人眼看一个图形,一看就能与其他的东西区别开来,人脑没有什么能比的,尤其像你这样的脑子,但计算机很笨,非要你把什么都告诉他,所以在人是一瞬间的事情,在程序中就是一大堆乱七八糟的代码,这个是没有办法的,一个非常聪明的人也只能简化那么一点点。
     
  4. 谢谢各位,尤其是公主苦口婆心的劝告!只有在论坛中才有这种学习和交流的机会,能够听到前辈们分享来自不同角度的经验和心得.
    公主的资金流分析方法,已经被证明具有很高的准确度,是一个学习和研究的重要方向(尤其是如何集成到交易系统中去),但这依赖于长期市场经验的积累,应该说门槛也是比较高的.
    另一方面,其实机械交易系统,本身是非常简单和傻瓜的.尤其是我使用的这个策略(两次新高则追入,两次新低则退出,全仓操作),能购在日均交易近100个来回的情况下连续运行3个月而没亏钱,也已经超出了我的期望.
    代码量其实也是非常小的(从一个程序员的角度),主要也就是下面几个文件:
    1.jtrader.ijs:系统入口程序.
    2.system.ijs:交易系统整体框架.
    3.trend.ijs:交易策略用到的趋势分析.
    4.realtrade.ijs:真实交易相关的行情和委托处理.
    5.orderproxylhzq.ijs:独立运行的柜台接口程序.
    与预测型交易方法相比,从概念上来讲趋势跟踪可能是最简单的交易方法了,但快速深幅的回撤确实是对系统和心理的双重考验.这是目前最迫切需要解决的问题.
    至于高频交易,并不是系统追求的目标,只是目前策略的一个结果.应该说,确实有一些权证炒手通过高频交易稳定盈利,能否通过机械交易系统予以复制是另外一个需要探讨的问题了.而目前国内的股票行情交易接口技术确实比较落后,导致了过高的交易滑价,给高频交易系统带来了更多不确定性.是在这个方向继续钻研,还是干脆转向研究IB这样成熟的交易平台,也是一个值得考虑的问题.
     
  5. 关键还是策略,策略来自成功的经验,成功的交易经验是无法替代的。机械交易系统的绩效肯定无法和卓越的交易员相比,尤其是豌豆公主这样有着多年交易经验的头脑。
    同意ITFIN的观点,这么简单的系统没有亏钱已经是很不错了。ITFIN能说说给券商交了多少手续费么?
     
  6. 我也想知道:).金证柜台的外围接口调用最多返回999条记录,查区间历史流水只能返回一小部分.按50个交易日每天400万交易量,万分之1.5的手续费计有3万,待会写个程序逐日查询统计一下.
     
  7. 本质的东西。
     
  8. ITFIN 兄,定位问题部分在国内的股票行情交易接口技术确实比较落后上, 可以考虑用在商品期货或者IB上试试,也许效果更好一点,因为可以做多做空双边,下跌中不再只有风险了.
     
  9. 统计结果
    =======
    起始交易日期:20070702
    最后交易日期:20071022
    初始资金投入:20000(约)
    单边交易次数:10631
    平均交易金额:31361.526
    累计收益:6862.21
    累计手续费:61430.43
    =======
    交易明细:字段为日期,流水号,发生金额(含手续费),买卖标志,证券代码(深圳前面加1,上海前面加2),成交价格,成交数量,手续费.
    其中有几天手续费是按上限多收的,后来一次性给我退还了20213.71,已在统计结果中体现.在csv中未包含.

    另外一个账户
    =======
    起始交易日期:20070824
    最后交易日期:20071022
    初始资金投入:8000(约)
    单边交易次数:6999
    平均交易金额:9361.8331
    累计收益:2313.24
    累计手续费:10274.48
    =======
    交易明细.
     
  10. ITFIN多次提到手动关闭系统运行的事。据我上次接触的权证炒手说,他和他那个圈子里的人把跌市中的反弹看成是最重要的交易机会,高收益率经常是在这种时机中做出来的。建议花些功夫研究研究。
    我这个部门正在购置FIX网关,届时我也测测权证的高频系统。
     
  11. 有一天,上帝突然把你变成一只蚂蚁,扔到一条不知名胡同的旮旯角,虽然你的脑袋对怎么从和平饭店过江到上交所的驾车和公交路线仍有清晰的记忆,但现在你是一只蚂蚁,你目力所及的世界只是半个旮旯角,可能穷一生之力也走不出这条胡同。放学路过幼儿园小朋友的裤兜里掉出一个豌豆,就如天外飞来巨石,让你感觉地动山摇。牛顿定律和相对论仍然有效,但是主体和相对于你(一只蚂蚁)这个主体的客观世界变了,如果你足够聪明,你可以根据牛顿定律迅速建立起新的生活经验,比如怎么安全绕过那个垃圾桶,但如果你跟周围的蚂蚁们高谈阔论从和平饭店到上交所怎么倒车可以省钱,那么你将被送进蚂蚁精神病院。
    这就是高频交易。
     
  12. 一个完整的交易系统除了入市离市及其头寸,还有3个很重要的模块(Sorry,我喝稀饭用模块这个词),它们是:品种(Market)、市况(Market State)、周期(Time Frame)。我觉得对于权证来说,它们都很重要。比如,一定要在走上归零之路之前结束自己的系统,但如何判断何时走上归零这个市场心理性极强的问题显然不能使用历史数据Back-testing出来的结果参数。比如,市场噪音、税费成本在高频交易中能否战胜,虽然华尔街有人说行,但中国市场的这两个东西跟他们太不一样了。
     
  13. 对楼主这样的日内策略,资金管理是没用的,关键是逻辑上要讲得通,然后是系统能检测正确.

    从逻辑上讲,"两次新高则追入,两次新低则退出"讲得通,属于抓大放小,至于系统能不能正确的检测,和检测周期成正比的,周期越短,越能正确检测.

    这个系统能不能赚钱的关键是交易成本,交易次数太多了,以至于66.7%的成功率也不能赚钱,品种上只有一个主力还好说,假如是中短线主力具在,这样的系统生命力堪忧.

    日内系统最大的问题是没有调整的余地,硬碰硬.外围系统设备流畅还好说,不流畅就容易出问题.

    楼主的测试很有现实意义
     
  14. 几条建议:
    1.品种的选择,我觉得可以集中限定在几只认沽,然后用个规则来决定每只权证上所分配的资金,这个分配比例应该是动态的,分配的规则可以用波动、流动、安全三方面的综合。正股方面我觉得基本不用引入,因为权证本身的走势已经大致反应了它。
    2.市况的判断,这点很重要,特别是对归零之路的拐点要在事后尽早判断,这个判断很可能只是试错,但这个规划绝对比买卖规则(两次新高则追入,两次新低则退出)更要命。
    3.周期的选择,分笔数据的噪声太大,如果改为1分钟甚至5分钟数据的平均成交价(amount/vol)效果如何?
    4.买卖规则只采用了价格,而未包括成交量因素,这样会损失很多信息量。
    5.头寸调整方面,建议在仓位、组合、分段三个层面考虑,比如分段上可以采用海龟、网格的现成思路,实际就是要Multi-Market、Multi-System。
    6.对于认沽权证,买卖规则不应该是对称的,比如试试“三次新高则追入,两次新低则退出”。
    我想你的编程能力应足以实现各种复杂想法,问题是你现在到底想不想赚钱。
    很可能不一定对,仅供参考。俺还没做过蚂蚁呢。
     
  15. "两次新高则追入,两次新低则退出"

    这不是指当日新高,当日新低(highest price/lowest price),而是指 tick data 上的连续高价(consecutive higher price, consecutive lower price) 是吧?

    buy rule: buy after two consecutive higher price
    sell rule: sell after two consecutive lower price

    嗯,这样的策略,频率肯定相当高的。实战中手续费会很高。以前贴主好像说过公司给予贴主很低的手续费,不知道后来实际操作中,手续费按多少收的?

    ------------------------------------------
    quote:

    是的,现在的东西只能算个demo,找一下自动化交易的感觉。后面还要重新设计系统的架构。另外本月初公司已经把最低5元的手续费给我调成0了,不然交易成本就更难以承受了。权证这个东西好在现在交易所还不收钱,不知道以后备兑权证出来以后会如何.
     
  16. 应该说有些道理,但是,为什么不走出对现象的罗列而深入本质去思考?为什么注重对一般问题的切入而是不从已有的经验去发掘?
     
  17. 是的,我也有这种感觉,抛盘短期枯竭之后的反弹速度快,形态单纯,系统获利也相对容易.只不过这种火中取栗的操作要求准确率高,不然很容易大面积烧伤.我这种无条件试错的策略就不适用了,还是要研究提高准确率的方法.
     
  18. 1.是tick数据的2次相继(但未必相邻)新高或新低.
    2.现在的手续费标准是万分之1.5,没有最低手续费的限制.
     
  19. 这个东西要是算demo...........,不要妄自菲薄啊

    其实楼主的策略很经典:破脚之后穿头或穿头之后破脚.之所以有两次之说,就是因为破脚穿头确认的条件是如此.
     
  20. 1.目前的策略只能应用于认沽,在认购上是亏钱的,原因还没想明白.但认沽越来越少了,还是要想适用于整个T+0版块的策略.如何自动将资金集中到龙头品种上也是很关键的,龙头品种和非龙头品种的差距太大了.
    2。赞成,"国之大事,死生之地,存亡之道,不可不察也。"
    3,4,5.都需要先提升交易尺度,降低交易频度和灵敏度.这也是两难的,一波行情可能就3,5分钟的样子.
    6.这个做过回溯,2-2参数是最优的.