想研发高频交易模型,请教下用什么软件好?

Discussion in 'General Topics on Software and Data' started by readonly, Jan 4, 2014.

  1. 要求:
    1、支持导入数以年计的分笔数据;
    2、支持调用5档买卖价和挂单量;
    3、在研发期,软件免费,正式交易才需付费的;
    4、速度快,编程灵活。

    求教有经验的朋友,推荐下,谢谢!
     
  2. 推荐使用金字塔,你的要求都能满足。
    高频最大的问题在于行情数据推送的速度,建议采用专业版
     
  3. 推荐使用金魔方,金语言非常灵活和强大
     
  4. 谢谢,adam老师自己压根没用过金字塔开发高频吧。
    不但它不能导入分笔数据,这个不说了。
    麻烦你告诉我它哪个函数读取历史某笔委买2价格?
     
  5. 既然兄台怀疑我没用过金字塔,那我的回复就此打止了
     
  6. 红璟不错 能回测n档的数据 但期货只能1档 因为这受数据源限制 ctp只有1档推送 策略采用c#平台 灵活高效 可以并行计算 支持指标图形化 比几个同类软件强多了
     
  7. http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=54330
    也可以去问问客服。

    不过既然金字塔支持vba,也可以外挂dll,那处理分笔就不是问题。金字塔可以只作为数据源和交易模块;逻辑模块,用他自己带的公式平台,或者vba,或者自己编译dll来实现。
     
  8. 高频还是c++,曾经试过power basic,确实是快,而且有指针,可是真心麻烦(因为我不会c++,哈哈)
     
  9. vba/vbs每秒可以2000单,你还要多高频?
     
  10. 你在excel里弄进去100万行数据再运算,再下单,你看看要多少秒,嘿嘿。vba的效率低,这个不用争了。看需求吧,下单不需要时间,但是其他的可能就比较耗时了。折中的办法是用。net,开发速度比较快,运行速度也不算太慢,而且稳定。主要还是看需求和实际情况,比如策略的复杂程度,到底要多高的频率,抢单要快到什么程度?延时主要在哪里?开发是一个人搞还是一个团队?实际情况实际分析。并不是说vba或者vbs不好。楼主要5档说明是依据盘口决策,估计简单不了,可能需要复杂运算,(一个close》open的运行速度肯定高于计算累计概率的速度,对吧?),要求灵活,且要求速度快,所以感觉还是c++是最好的选择,当然是在研发有足够的it人员的资源的情况下。
     
  11. 忘了说一句,现在的好像很多的软件的解释器(就是vba的运行环境)都是从微软那里引用过来的,和office vba是一样的,效率一致,解释运行慢于编译运行(不要用分布计算多核什么的来比,单纯的一个线程跑循环,扣除显示因素),这个应该是没问题的。
     
  12. 从国内实战经验来看,足够用。
    金字塔,大智慧都是vbs,vba,tb,mc的easylanguage,效率也差不多,也没听说谁高频做不了,必须cpp。而且就算是每秒上万笔的高频,处理能力在每秒40万笔以上,cpp也并不是首要选择。:)广泛宣传的信息未必是真实信息。:)
     
  13. 够用就好。不过我说的对vba和vbs的评价完全是我自己做过测试的,并不是宣传。c++是在需要效率时使用最多的语言,如果觉得还不够可以使用c、汇编、机器码,呵呵,不过这个难度有些大了。你如果说其他的,高端的,定制的,这个么,恕我等屌丝,不接触那些东西。一般我等屌丝能接触到的,解决搞效率的编程工具只有c++、c,部分组件可能是汇编,如果使用多任务的可能c++(这个要自己进行调度),java(好像是可以的,不确定),。net(这个一定可以,我用过)。硬件加速什么的,不接触,不懂。
     
    Last edited by a moderator: Jan 8, 2014
  14. 恩,因为我不大喜欢13这个数字,所以再说一句。高频要看频率高到什么程度,进行决策的时候的复杂程度如何,比如,出现一个信号,我要预计20步或者30步以后的交易的概率分布,这需要的运行速度远比只是计算均线要耗费时间(并不是说均线不好,我一向崇尚大道至简,只是我比较笨,没那个本事。这大家要没事可以试试,非正态分布,无法用一个函数表达,测试一下,看看vba的速度,从取数据到出结果)。高频交易是一个系统,包括了很多,比如接收、储存、决策、下单等等,任何一个部分都有可能拖慢整体。所以我比较支持k兄的观点,任何事情都要自己动手测试一下,这个比什么都有说服力。而且说实话,适合就是好的,不是说一定要怎么样,也不是一定都要高端大气上档次的,我们是为了脚踏实地的赚钱,不是为了摆pose,对吧?还是那句话,适合最好!
     
  15. 楼主不知道的话 , 就谦虚一点, 金字塔 自己查看 DYNAINFO 函数里面有你 要的.
     
  16. 是滴,完全赞同~是个系统化的工程,而且实施是要进行成本收益审核的,甚至机构实施还需要专家组,就跟11年写的那篇《高频交易及我们面临的风险》里说的一样。
    有的算法和策略的确复杂,那么就有可能出现计算延迟过高的情况,c++都高。
    还有继续填块砖,很多看似复杂计算耗时的策略,其实是策略算法层面的优化(执行和算法复杂度)没有做好,尤其是很多“写”策略的出来的策略,其实大部分情况下算法和计算可以大大地简化。
    国内环境下,高频并不需要太高级的软硬件,当然稳定性压测需要做,太过高级的,反而操作风险增大,得不偿失,除非参与者的现有技术实现成本不大,为高频而高频意义不大,相当多所谓“高频”也就是过度交易的另一种称法儿。:)
     
  17. 论坛牛人真多,多多学习
     
  18. 金字塔就不能用于研发了,1是不能导入分笔数据,2是不能读取分笔数据的历史盘口信息,3是它根本就没能力加载这么多数据。

    C++太麻烦了,目前看来还是用matlab来弄比较好,两年的数据超过10亿条,不知要怎么弄回测才能快一些。
     
  19. 嗯,非常同意,所以没有足够it资源的还是尽量利用目前现成的算法,求max咱们写的基本上不如matlab里的快。关于策略没做好的问题,可能只能是冷暖自知了,涉及策略保密的问题。不过,对于大量使用if then的可以使用prolog或者clisp,这二者都是逻辑推理的程序。不过我只是初步了解,风险自负,哈哈。