程序交易:痛并快乐着

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

  1. joesan你能说点什么理由吗,哈。
    我的看法要和你打架的,频率高到一定程度,系统收益会非常稳定,要么是亏损得很稳定,要么是盈利很稳定,这个和做庄没有直接关系。
     
  2. 主要是 slippage 和佣金等交易成本无法克服

    有时理论上盈利不少,实战下来甚至会亏

    当然如果频率不是非常非常高,一天交易10次以下,视策略优劣可能是可行的。
     
  3. itfin
    20和21日的情况怎么样了?
    另外,想看看你的某个代码的911后的收益连续图。
     
  4. 老A这次没来深圳太遗憾了,这次讨论的内容应该都是你很感兴趣的
     
  5. 在911行情遭遇重大挫折,主要是卖了股票后草率的放大了资金量后又作了一系列错误的主观决策导致的,现在实盘收益已经变为负数,白白让公司赚了差不多4万块钱手续费,真是郁闷。
    911后的模拟盘:两只有赚一只微亏
    038003: http://210.21.207.162/jhp/order.jhp?id=1038003&all=1&dm=20070911
    038004: http://210.21.207.162/jhp/order.jhp?id=1038004&all=1&dm=20070911
    038006: http://210.21.207.162/jhp/order.jhp?id=1038006&all=1&dm=20070911
    实际上只要调整url里的id(权证代码,深圳权证前面加1,上海前面加2)和dm(起始日期)两个参数就可以了。
    小账户的实盘 http://210.21.207.162/jhp/order.jhp?test=0&user=LHZQ&all=1&dm=20070911
    略赚一点(8701.14~ 8799.5),统计不准是因为中间有交易系统重启丢失数据的情况。
    大帐户本来主做038006,应该会赚钱的,结果912卖了股票,没有及时调减可用资金,刚好当天又有行情,赚了近3个点很高兴,另外一直觉得最近大盘暴跌的可能性大,也想放大资金赌一下。结果0913,0914,0917,0918都是缩量窄幅整理的行情,连续亏损,冲击成本也增加了,出现了实盘操作历史上没有的4连亏情形,尤其是0918亏损超过5%,偏偏这一天小账户操作的038004放量上涨,获利3.73%,令我非常恼火,0919决定大帐户也换成038004,结果这一天的暴跌反弹行情偏偏是038004亏钱,038006实盘估计反倒可以赚5%以上(不过这一天也估计出了资金量对冲击成本的影响有1个百分点左右),0920决定将资金回调至2万回头继续做038006,结果上午赚了近6个点,又后悔了下调资金的决策,中午又把资金加回去重启了系统,结果下午是亏钱的,导致这一天的总帐也亏了。这几次主观决策刚好把038006的两次大机会错过了,把本来是扳平有赚的行情变成连续亏钱。0921又是悲惨的一天,昨晚改了接口程序,一开盘就发现错误,错过开盘的一波上拉行情,盘中两次打穿5档,第一次把没成交的手工平了,第二次8000股在3.24左右没舍得平,觉得今天大盘跌沽权应该反弹,结果一路探低,收盘2.808平掉,今日总亏损7291.56,去掉这笔人为的损失(下午震荡实际是微赚的)亏损应该是4个多点,还是比小账户的038004强。这一波行情亏损近2万,教训是深刻的,把资金量降下来再从头研究策略吧。
     
  6. itfin
    祝贺你连续让小概率事件修理,呵呵,说的是真话,因为几乎唯有这样,我们的系统才能发展得更为结实和合理,在一开始的时候就受挫折是莫大的好事,我就这样过来的,开始我和你一样,总是在盘中要发挥自己的“聪明才智”,总不愿意放弃最后的主观努力,但说来也奇怪,市场从来不让我“正确”,每次判断就是让你吃耳光,当时我也非常光火,现在,呵呵,我想想也开心,这个其实应该是运气好!!现在很顺,以后要吃大苦头的。
    挂单上是价格优先、时间优先。系统运作我要提出一个定理,那叫“小概率优先”,我现在任何思路出现时,第一考虑的就是市场将如何针对这个思路来修理我。
    什么都有运气,运气又有时间段的先后,时间段也有长有短,系统策略的目的就是对运气因素的不间断抵抗,碰上一开始的挫折不能后退的,打垮你是市场的责任和使命,未必是你的系统不好,我现在就这样,一直研究一直冲,前面是刀山,我也执行系统指令,没有别的选择的,彻底放弃临时发挥。
     
  7. 以后你不来上海也一样遗憾的:):):)
     
  8. 你什么时候在上海搞一场?我偶尔去次香港,去广深的机会很少,到目前为止只过路深圳,还没去过广州。去上海的机会很多,国庆将带家人飞上海,然后观海潮,游周庄,听评弹。如果你在上海搞,我有50%的机会参加。
     
  9. 我对自动交易是门外汉,但感觉高频系统,不上天堂,就是下地狱!
     
  10. OK,一有节目就通知你:):)
     
  11. 帖子中多次提到接口重启的情况,主要的EXCEPTION是什么?在金证上开发,你调用的DLL是KCXPAPI还是KCBPCLI?
     
  12. 是的,被市场修理的这些小概率事件也正是需要在系统中重点考虑的难点:系统在模拟交易,试盘交易与重仓出击这三种状态间的切换规则是什么,如何自适应的选择交易标的与资金量,当系统连续亏损的时候如何处理(对高频交易这个问题尤其棘手,每天有3%的佣金成本,资金量大时还可能有1%以上的冲击成本)。这些问题都比交易策略本身复杂得多,也困难得多,现在看来也是没办法回避的。
     
  13. 交易接口是在公司原来基于java的web交易平台基础上搭建的。金证提供了将KCBPCLI包装为java本地调用的开发包,另外的同事又在上面封装了一个通讯层,我在上面做的是基于调用号的业务层以实现web交易的功能。为了支持自动下单又在上面用perl写了一个soap服务层.由于j语言不能直接支持soap协议,又用perl写了一个代理程序,作为tcp服务端与J语言写的下单模块相接,同时作为soap客户端通过https协议调用soap服务层.这个架构有点绕。金证在linux下提供的动态链接库版本较老,bug不少,当压力大时经常出现内存越界导致java的应用服务器死掉的情况,另外有时会出现超时,超时返回要等两分钟,这个间隔我还不知道是在金证接口还是同事封装的通讯层里设置的,对高频交易来说也是难以容忍的.
    需要重启接口的情况有几种:
    1.金证接口的错误导致java应用服务器resin死掉或自动重启.以前当11:30下了一笔单午休期间不停轮询成交回报时总会出现这种情况,现在我一方面在11:29:50以后不会下单,另一方面也加入了对应的异常处理,如果是查询请求出现异常会自动反复重试,不需要重启系统了。委托请求如果返回异常目前还没有进行自动处理,只能手工处理后重启交易接口.
    2.由于程序实现还比较粗糙,没有实现自动撤单和追单的功能,有时报盘后不能马上全部成交,导致逻辑出现死锁,而被迫重启系统,这种情况是最多的.比如行情剧烈波动打穿限价指令,行情价格有误导致限价价格非法,使用市价买单和限价买单时可用资金不足,在尾盘集合竞价时段使用了市价单,使用五档成交剩余撤单的市价委托时确实打穿了五档导致部分自动撤单。这部分细节比较多,有些错误已经改掉了,复杂一些的逻辑还没时间加进去,另外因为修改后没做测试就提交了也导致出过几回问题.
    3.有的时候盘中想调整交易对象和可用资金,也是由于程序目前不够灵活,不能在线调整,必须要重新初始化.这方面的改进相对简单,我会抽空实现。
     
  14. 你以前发过一个帖子,是limebroker的下单接口文档,我与QD的对照了一下,都是业务事件驱动类型,建议你也按照这个模式来做,因为执行本身也要反馈到策略中去。我自己估计股票交易接口的复杂程度要比期货的高,主要是受业务规则、投资组合等外部因素的影响,例如你文中提到了部分成交的问题,如果要考虑佣金成本,就不是简单的余额撤单问题,需要考虑就是已成交部分涉及到的最低佣金。2万成交金额对应的佣金在3元左右,比最低佣金要低,这会影响盈利。我在股指仿真上的频率要远高于你,交易所佣金(不算期货公司的)就能占到收入的一半以上,深刻感觉到佣金是高频交易策略的生命线。
     
  15. 是的,现在的东西只能算个demo,找一下自动化交易的感觉。后面还要重新设计系统的架构。另外本月初公司已经把最低5元的手续费给我调成0了,不然交易成本就更难以承受了。权证这个东西好在现在交易所还不收钱,不知道以后备兑权证出来以后会如何.
     
  16. 关于场内行情,无形席位报盘机只能把指定席位发生的成交数据取回,不是完整的行情数据,应该还有其他的机制。会不会是把早先上交所的有形席位通过专线拉了出来?
     
  17. 有可能,据说是上交所一种老的64k的地面备份线路,现在大部分营业部都不用了。另外这种行情是点播方式的,也不一定是完整的行情。
     
  18. 今天在一家营业部现场看到了这种场内行情终端,应该就是早期的场内马甲用的报盘机,dos应用,有会员号和操作员号显示,只有一个窗口,也只能显示一种证券的5档盘口,点播行情,另外有几个指数显示(几乎每秒都有更新),速度上基本上下单回车后就能看到挂盘,你说的东方证券的人编的外挂程序据说比这个终端的速度略慢2-3秒。
    也和使用这个终端的大户聊了半天,他就像你们公司里的客户一样20万起步,3个月内干到1000万(还有成绩更惊人的)。他主要的方法是短差,5厘钱就可能走人(他的双边成本在1厘内),每天不少于100个来回,在日交易纪录上胜率极高(他的群落里有连续3个月盈利的人),成功的原因我估计是:1)炒单模式;2)行情速度优势;3)权证的高波动率。
     
  19. 也是程序交易么?
     
  20. 也是只有上海的吧。如果是做认沽双边成本在1厘内折下来万分之二左右和我差不多,交易频度和我也差不多,可能主要优势就在于行情报盘速度快导致交易滑价比我低得多。