请问程序化交易系统是如何实现的?用的是什么编程语言?怎么测试?适用范围是什么?谢谢!
发布网友
发布时间:2022-04-28 11:48
我来回答
共5个回答
热心网友
时间:2023-10-08 16:24
1、程序化交易系统目前主要是通过计算机程序实现的,其实就是把交易者决策的过程用计算机语言描述出来,然后由计算机给出交易建议或直接发送交易指令到期货公司的交易系统中去,完成一笔交易。
比如我们用自然语言思考某个品种是否应该买入卖出时:“如果大豆0901价格跌破3000元,则开仓卖出三分之一......”用计算机语言描述时可能就是:
“IF A0901<=3000 THEN SELL......”
当然实际上的程序编写是比较复杂的,因为要做大量的逻辑判断和公式计算。
2、理论上来讲,用什么语言都可以完成这样的任务,但因为涉及到大量的数据读写和网络存取,所以最好用自带数据库功能的编程语言,比如Delphi,不但数据库功能很强,而且可直接读写SQL-Server、Oracle、Sybase等证券期货行业普遍采用的数据库,相应的网络控件也齐全。
3、此类交易系统适合所有的交易市场,证券、期货、外汇都已经有了类似的交易系统,但各自的模型基础不一样,因为这些软件都是根据交易者的经验来建立交易模型并编写的,而不同的交易者思路是不完全相同的。
4、在证券市场和期货市场上,如果个人要建立一个计算机程序化交易系统的话,首先要做的当然是建立交易模型,也就是把自然语言描述的交易决策过程转换成计算机语言。
其次是建立交易接口,这里有两个接口问题要解决,一是你的交易程序要读取行情软件的数据,以便系统根据行情数据作出交易决策并发出交易指令;二是你的交易程序发出的指令要下到证券公司(期货公司)的交易服务器上去,就像你自己敲单一样。
接口问题涉及到TCP/UDP端口的读写,证券(期货)公司和交易所的通信都是通过TCP/UDP进行的,他们不对最终客户开放接口,这就需要你自己破解数据格式了。
所以要建立一套有效的程序化交易系统,不但要求程序的编写者有成功的、长期有效的交易经验,还要懂得将这些经验用计算机语言描述出来,这不是一个很简单的过程。
热心网友
时间:2023-10-08 16:25
楼主问题比较专业!
个人意见:
软件开发首先做需求分析,到底要实现哪些功能,需要哪些工具。
如你的题目:股市、期货、外汇。当然这些都可以实现。
首先你要选择基于哪种模型。编成语言本身只是一种工具,不会影响开发。用C#.net或用J2SE都可以实现。个人推荐JAVA,当然是基于J2SE,此时,J2SE的模型众多,你就需要更具具体的需求选择,这里就不太好讲了。
你要考虑数据库的建立,流行的是Oracal和SQL,访问量多大?采用哪种客户端模式?数据库的实时更新?是否要插件?软件是否可升级?考虑是否留出后门?所以精细的需求分析是必要的。
实现方法很多,具体也不好讲,网上很多,例如你所说的股市一般基于B/S平台模式,通常是在用户PC机上安装客户端软件。
参考资料:个人意见,欢迎指正
热心网友
时间:2023-10-08 16:25
用文华交易就可以。期货可以用。
热心网友
时间:2023-10-08 16:26
最好使用JAVA
热心网友
时间:2023-10-08 16:26
不要太相信技术
热心网友
时间:2023-10-08 16:24
1、程序化交易系统目前主要是通过计算机程序实现的,其实就是把交易者决策的过程用计算机语言描述出来,然后由计算机给出交易建议或直接发送交易指令到期货公司的交易系统中去,完成一笔交易。
比如我们用自然语言思考某个品种是否应该买入卖出时:“如果大豆0901价格跌破3000元,则开仓卖出三分之一......”用计算机语言描述时可能就是:
“IF A0901<=3000 THEN SELL......”
当然实际上的程序编写是比较复杂的,因为要做大量的逻辑判断和公式计算。
2、理论上来讲,用什么语言都可以完成这样的任务,但因为涉及到大量的数据读写和网络存取,所以最好用自带数据库功能的编程语言,比如Delphi,不但数据库功能很强,而且可直接读写SQL-Server、Oracle、Sybase等证券期货行业普遍采用的数据库,相应的网络控件也齐全。
3、此类交易系统适合所有的交易市场,证券、期货、外汇都已经有了类似的交易系统,但各自的模型基础不一样,因为这些软件都是根据交易者的经验来建立交易模型并编写的,而不同的交易者思路是不完全相同的。
4、在证券市场和期货市场上,如果个人要建立一个计算机程序化交易系统的话,首先要做的当然是建立交易模型,也就是把自然语言描述的交易决策过程转换成计算机语言。
其次是建立交易接口,这里有两个接口问题要解决,一是你的交易程序要读取行情软件的数据,以便系统根据行情数据作出交易决策并发出交易指令;二是你的交易程序发出的指令要下到证券公司(期货公司)的交易服务器上去,就像你自己敲单一样。
接口问题涉及到TCP/UDP端口的读写,证券(期货)公司和交易所的通信都是通过TCP/UDP进行的,他们不对最终客户开放接口,这就需要你自己破解数据格式了。
所以要建立一套有效的程序化交易系统,不但要求程序的编写者有成功的、长期有效的交易经验,还要懂得将这些经验用计算机语言描述出来,这不是一个很简单的过程。
热心网友
时间:2023-10-08 16:25
楼主问题比较专业!
个人意见:
软件开发首先做需求分析,到底要实现哪些功能,需要哪些工具。
如你的题目:股市、期货、外汇。当然这些都可以实现。
首先你要选择基于哪种模型。编成语言本身只是一种工具,不会影响开发。用C#.net或用J2SE都可以实现。个人推荐JAVA,当然是基于J2SE,此时,J2SE的模型众多,你就需要更具具体的需求选择,这里就不太好讲了。
你要考虑数据库的建立,流行的是Oracal和SQL,访问量多大?采用哪种客户端模式?数据库的实时更新?是否要插件?软件是否可升级?考虑是否留出后门?所以精细的需求分析是必要的。
实现方法很多,具体也不好讲,网上很多,例如你所说的股市一般基于B/S平台模式,通常是在用户PC机上安装客户端软件。
参考资料:个人意见,欢迎指正
热心网友
时间:2023-10-08 16:25
用文华交易就可以。期货可以用。
热心网友
时间:2023-10-08 16:26
最好使用JAVA
热心网友
时间:2023-10-08 16:26
不要太相信技术