交易程序开发的体会
来源:
无空 于
10-01-02 07:07:27我不是高手,但过去一年里,公司有个项目是做一个DT的交易程序,我是参与者。也就说说做这些DT自动交易系统的体会。
首先是要确定交易策略(Strategies)。交易策略是几个做了几年的TRADER和我们共同定。TRADERS用他们选股方法,已经用手动的方式,用拟定的
STRATEGIES进行了好几个月的交易。由于是人工交易,每个人一天只能交易少数的几个股票。他们在这几个月里确定了几个能盈利的STRATEGIES,然后我们
介入,和TRADERS一起,对这些STRATEGIES进行量化,就是制定一些量化的条件去确定买入点和盈利点。量化的过程有些复杂,一般来说是根据市场的交易
频率,SPREAD,时间等,制定一些列条件,等到股价和交易频率达到既定的条件,系统将进一步确定LONG点或SHORT点。有POSITION后,将确定一系列的
PROFIT点和SL(Stop Loss)点。一般来说,SL点会根据PROFIT点是否实现,时间长度,市场交易频率来改变。这些工作完成后,OUTPUT是一些的PSEUDO
CODE,可用于以后的编程和TEST.
其次是选择Broker.
这要选择能够提供API的BROKER。有不少BROKERS提供的,比如说CYBERTRADER, INTERACTIVE BROKER. 可根据他们提供的服务和COMMISSION来选择一个。
三编程实现
由于要同时交易很多股票,考虑到速度,我们确定选择C/C++作为开发工具。MICROSOFT 给C/C++也提供了可视化的开发坏境,使我们的编程快很多。难度
并不是很大,但由于考虑到多个STRATEGIES和同事交易很多股票,开始做个好的DESIGN很重要,这个DESIGN要让系统能同时兼顾所有的STRATEGIES,并能
同时交易200个股票以上。如果是个人做这些系统,可以考虑用VB,C#, Excel VBA等开发工具,也许更简单一些。
四BACK-TEST, OPTIMIZATION
我们首先交付的是一个能记录PRINTS(LEVEL1)和LEVEL2 DATA INFO 的系统。他们用这个系统录下了一百多个股票一个多月的数据。用这些数据可以象实
战一样去检验这些STRATEGIES。这中间有很多需要修改和加强的,比如说要过滤点一些RANDOM PRINT。在系统里,几乎所有的STRATEGIES的参数都可以修
改的。他们通过修改这些参数来达到这BACK-TEST里的最大赢利。这些修改后的参数将用于LIVE TEST。
五LIVE TEST
最后交付的是WHOLE SYSTEM。在实战测试中,系统会记录下所有的数据和操作。在市场CLOSE后,TRADERS和我们一起验证所有的系统操作,确保这些操作
确实符合我们拟定的STRATEGIES。TRADERS再根据赢利情况去对STRATEGIES做一些修改。
六结果
系统到现在为止已经运行2个多月,盈利没有预计的理想,虽然总体上看是盈利的。我的看法是由于系统不考虑市场的大环境,引起赢利比较薄。如果能加
入一些计算机本身很难判断的参数,比如说,现阶段是牛市或熊市的判
我一直想自己写一个交易软件,可是一直没有完成。原因
来源:
gutu 于
10-01-02 07:33:56是我看到:1.这个领域里同样也是尸横遍野;2.越来越多的人在使用及其交易,我认为使用的人多了,事情就会反过来,因为这个市场只能让少数人挣钱;3.市场是不断发展的,或者说是不断变化的。很难想象能让机器交易跟上市场的变化;4.市场如战场,一个小技巧充其量解决的是战术级的问题,而真正的赢家应该靠的是战略级的操作,这点靠机器交易能否做胜任,如何胜任?这就是我犹豫的原因。
• 请教你们最后择Broker的结论是什么?IB是不是适合机器交易? -
gutu-
最后没有用IB,原因是有个小BROKER提供更有竞争力的COMMISSION, 叫GENESIS 来源:
无空 于
10-01-02 07:51:36 来源:
putwriter 于
10-01-02 10:36:46
我就不明白那些trader怎么会高高兴兴的把交易方法讲出来.
短期来讲是省了自己很多辛苦, 增加利润来源, 但是这是在给自己掘墓.
-来源: 无空 于 10-01-02 11:16:18
-那些提供STRATEGIES的TRADERS好像是参与这个项目的利润提成的
哇,没想到这么多人都在搞机器交易,以后可以不可大家一起多交流? 由 gutu 于 2010-01-02
给你一个起步的连接
来源: 流动的建筑 于 10-01-02 10:14:26
-http://coreyhoffstein.com/automated-trading-resources/
我的几点体会:
- 交易系统可以花很少一点钱就买到,或雇人来帮你写,也有免费的
- 用99%的时间来想策略,1%的时间来写代码
- 系统不会比设计者更好,只是快一些而已
- 任何企图预测的系统都是死胡同
- 高杠杆下的利润率是个伪指标,判断自动系统好坏的唯一有效指标是最大落差(max drawdown)