1、WLD的position management在oq里叫strategy management。 2、一个instrument对应一个strategy,这样在instance之后,取的属性值就比较方便。 3、一个instance对应一个position。比如你今天sendorder 1000股。明天再sendorder 1000。在oq里position.Qty是2000股。 也就是说只有一个position。而在wld里是两个position。 4、一个instrument可以跑多个strategy,只是分布在不同的project里。一个strategy也可以跑多个instrument,这是在通一个project里。 5、重写oq的strategy非常方便。在VS里插入OpenQuant.API就可以重新很多class。你想实现什么就实现什么,功能超级强大,比如 把你的money management的function加入等等。
最近重写了oq的stragety类,加入了自己的function。测试了一段时间,感觉蛮好用。另想直接在oq外读取其bars的数据,结果官方论坛说只有QD才能实现(QD可以实现在matlab中发送下单信号,QD接收后在发到broker,可见功能的确无比强大)。 感觉oq像标准版,qd像企业版。
刚开始研究oq,感觉是一个很好的策略执行平台。要谢谢wj2000,不然我还不知从哪入手呢! 对于你说在oq外读取bars的数据,不妨考虑用第三方软件产生交易信号,然后通过oq读取发到broker,这个解决方案应该是通用方案。也就是用熟悉的第三方软件做策略开发,而oq做策略执行。这个思路的Input,应该是通用的Adapter,可以读取不同信号文件也可以读取内存的信号。而output,就是和oq集成,处理下单和订单管理。不过我个人对oq的Presentation层面不太满意,output还应该有其它的账户管理的功能。 有空咱们可以深入讨论细节。