程序化交易里面主流的语言是C++,python是趋势吗

2024-05-13

1. 程序化交易里面主流的语言是C++,python是趋势吗

中小投资者一般用程序化的商用软件,语言是软件提供的。
机构一般用C++。

程序化交易里面主流的语言是C++,python是趋势吗

2. 请问程序化交易系统是如何实现的?用的是什么编程语言?怎么测试?适用范围是什么?谢谢!

1、程序化交易系统目前主要是通过计算机程序实现的,其实就是把交易者决策的过程用计算机语言描述出来,然后由计算机给出交易建议或直接发送交易指令到期货公司的交易系统中去,完成一笔交易。 

比如我们用自然语言思考某个品种是否应该买入卖出时:“如果大豆0901价格跌破3000元,则开仓卖出三分之一......”用计算机语言描述时可能就是: 
“IF A0901<=3000 THEN SELL......” 

当然实际上的程序编写是比较复杂的,因为要做大量的逻辑判断和公式计算。 

2、理论上来讲,用什么语言都可以完成这样的任务,但因为涉及到大量的数据读写和网络存取,所以最好用自带数据库功能的编程语言,比如Delphi,不但数据库功能很强,而且可直接读写SQL-Server、Oracle、Sybase等证券期货行业普遍采用的数据库,相应的网络控件也齐全。 

3、此类交易系统适合所有的交易市场,证券、期货、外汇都已经有了类似的交易系统,但各自的模型基础不一样,因为这些软件都是根据交易者的经验来建立交易模型并编写的,而不同的交易者思路是不完全相同的。 

4、在证券市场和期货市场上,如果个人要建立一个计算机程序化交易系统的话,首先要做的当然是建立交易模型,也就是把自然语言描述的交易决策过程转换成计算机语言。 
其次是建立交易接口,这里有两个接口问题要解决,一是你的交易程序要读取行情软件的数据,以便系统根据行情数据作出交易决策并发出交易指令;二是你的交易程序发出的指令要下到证券公司(期货公司)的交易服务器上去,就像你自己敲单一样。 

接口问题涉及到TCP/UDP端口的读写,证券(期货)公司和交易所的通信都是通过TCP/UDP进行的,他们不对最终客户开放接口,这就需要你自己破解数据格式了。 

所以要建立一套有效的程序化交易系统,不但要求程序的编写者有成功的、长期有效的交易经验,还要懂得将这些经验用计算机语言描述出来,这不是一个很简单的过程。

3. Python语言怎么样?我很多年前学过C和C++ ,Python的功能和它们比起来呢?

python的强项在于快速开发。语法较简单和宽泛,容差高,以换行和空格区分语句,所以代码工整美观。因为拥有数量众多的第三方库和包,python可以以较少的行数完成相同的功能(稍微复杂一点的程序大概是C++的一半以下吧),但是执行效率不如接近底层的C语言。python也有面向C++等主流语言的接口。

Python语言怎么样?我很多年前学过C和C++ ,Python的功能和它们比起来呢?

4. c++与PYTHON有什么区别?

具体区别有三方面:
一、语言不同
其中C++语言属于编译型语言,程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件。
Python语言是解释型语言,该语言编写的程序不需进行预先编译,以文本方式储存代码,会将代码一句一句直接运行。

二、时间点不同
两者区别在于翻译时间点不同。C++在前,而Python在后。
三、兼容性不同
Python解释器易于扩展,可以使用C或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。
Python 也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。

5. ...而言 Python 的需求高吗,除 C++ 外还有哪些流行的编程语言?

熟悉金融工程的人都知道,金融工程需要学习许多软件和编程语言,一般的选择是 
matlab,C++,再加上一种统计或计量软件,如SAS、Eviews、SPSS、stata等,但是金 
融工程同时还要学习许多艰深的数学知识,需要学习的数学除了一般的高等数学外还包 
括测度论、随机过程、鞅过程、偏微分方程等等,更不用说还要学习经济和金融方面的 
大量知识。如此多需要学习的东西吓跑了一大堆人,也不符合现代科学越来越细化、专 
业化的要求,学的太多,学习时间不够,导致很难深入金融工程内部,更别谈创新了。 
有鉴于此,我们有必要研究怎么把宝贵的时间用在数学基础知识和经济金融领域知识上 
面,至于工具软件和编程语言,能简化尽量简化,毕竟我们又不做程序员,没必要学的 
太深。其中统计或计量软件中最强大的无疑是SAS,那么,能不能用一种工具代替或者 
近似代替matlab、C++和SAS三者呢?完全地代替显然是不现实的,只能尽可能地从最大 
程度上代替它们,我的选择是python。 
  
python是一种动态编程语言,语法很简洁,某种程度上类似于matlab和SAS,结合 
python的几种强大的科学计算类库:NumPy(主要是数学基础方面的)、SciPy(数值计 
算上很强大,包含NumPy)、SymPy(符号运算库)、matplotlib(绘图库)、 
Traits(程序界面库)等,可以近似地替代matlab、C++和SAS三者。原因在于: 
  
第一,python首先是一种完整的动态编程语言,虽然执行效率比不上C++,但是开发效 
率远远高于C++,学习成本较小,对于金融工程这种专业来讲比C++更加合适,毕竟我们 
自己做模型的时候更在乎的是如何快速实现模型,而不是模型运行快几秒钟,当然对于 
金融方面的大规模产品,还是用C++更加合适,这就是程序员的事情了,我们一般不会 
去编写几万行代码的程序。从这个方面来讲,python可以代替C++。 
  
第二,python利用NumPy、Pandas、SciPy、SymPy、matplotlib等类库,可以完成 
matlab 90%以上的功能,欠缺的只是极特殊的函数。而且这些都是免费的,中国现在虽 
然盗版很严重,但是明显正在向正版化的方向发展,以后谁保证能得到免费的matlab? 
这些类库也在一直发展中,超过matlab只是时间问题。不仅如此,python利用它的界面 
库做程序界面是非常方便的,用的VB的都还记得可视化编程的爽快,python也可以实 
现,而且可以实现的更好,这是matlab远远不足的地方。利用这个功能,我们可以用 
python做好程序后发布给其他人使用,就像使用word这种程序一样,这种方便程度是目 
前matlab远远不及的。再比如我们要抓取网上的一些数据,利用matlab就比较麻烦,而 
利用python就极为简单。python可以大大加快我们研究的自动化程度和简单程度,需要 
的只是好好学习一段时间python而已。 
  
第三,python代替SAS。这个方面其实python没有明显的优势,在统计功能上比不过 
SAS,但是利用python的好处在于:我们不需要再次学习SAS语言,特别是对于金融工程 
专业来讲,没有那么多时间和必要性去学习SAS,我们又不是搞专业数据统计的。SAS的 
大部分功能python都可以实现,不过实现起来比SAS困难一些,对于金融工程专业的人 
来说,选择SAS还不如选择python+Eviews的组合,Eviews是非常简单,几乎不需要学 
习。python的学习比较简单,也非常值得。 
  
选择python的最大好处在于可以节省学习的时间,而且弹性较强,可以适应未来多变的 
需求。剩下的时间不如去好好研究下怎么在金融工程理论与应用方面创新,就不需要浪 
费时间在学习工具上了。

...而言 Python 的需求高吗,除 C++ 外还有哪些流行的编程语言?

6. 我要做程序化交易编程, 国内那些股票/期货软件支持C或者C++行情分析编程接口?

股票基本没有,金字塔据说正在谈。
期货ctp的api可以直接用c、c++接入。
tb(交易开拓者)的语言接近c
文华、金字塔、mc都可以程序化交易,但是不是c,c++

7. 期货程序化交易系统是如何实现的,用的是什么编程语言

、程序化交易系统目前主要是通过计算机程序实现的,其实就是把交易者决策的过程用计算机语言描述出来,然后由计算机给出交易建议或直接发送交易指令到期货公司的交易系统中去,完成一笔交易。
比如我们用自然语言思考某个品种是否应该买入卖出时:“如果大豆0901价格跌破3000元,则开仓卖出三分之一......”用计算机语言描述时可能就是: 
“IF A0901<=3000 THEN SELL......”
当然实际上的程序编写是比较复杂的,因为要做大量的逻辑判断和公式计算。
2、 理论上来讲,用什么语言都可以完成这样的任务,但因为涉及到大量的数据读写和网络存取,所以最好用自带数据库功能的编程语言,比如Delphi,不但数据 库功能很强,而且可直接读写SQL-Server、Oracle、Sybase等证券期货行业普遍采用的数据库,相应的网络控件也齐全。
3、此类交易系统适合所有的交易市场,证券、期货、外汇都已经有了类似的交易系统,但各自的模型基础不一样,因为这些软件都是根据交易者的经验来建立交易模型并编写的,而不同的交易者思路是不完全相同的。
4、在证券市场和期货市场上,如果个人要建立一个计算机程序化交易系统的话,首先要做的当然是建立交易模型,也就是把自然语言描述的交易决策过程转换成计算机语言。 
其次是建立交易接口,这里有两个接口问题要解决,一是你的交易程序要读取行情软件的数据,以便系统根据行情数据作出交易决策并发出交易指令;二是你的交易程序发出的指令要下到证券公司(期货公司)的交易服务器上去,就像你自己敲单一样。
接口问题涉及到TCP/UDP端口的读写,证券(期货)公司和交易所的通信都是通过TCP/UDP进行的,他们不对最终客户开放接口,这就需要你自己破解数据格式了。
所以要建立一套有效的程序化交易系统,不但要求程序的编写者有成功的、长期有效的交易经验,还要懂得将这些经验用计算机语言描述出来,这不是一个很简单的过程。

期货程序化交易系统是如何实现的,用的是什么编程语言

8. python是什么语言,主要应用在哪些开发?

Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。
1、软件开发:Python语言支持多函数编程,可以担任任何软件的开发工作,是它的标配能力。
2、科学计算:Python是一门通用的程序设计语言,比Matlab所采用的脚本语言的应用范围更广泛,有更多的程序库的支持,做科学计算是非常合适的选择。
3、自动化运维:Python是作为运维工程师的首选编程语言,有诸多优势所在,是非常受喜欢的编程语言。
4、云计算:开源云计算解决方案OpenStack就是基于Python开发的。
5、web开发:基于Python的Web开发框架不要太多,比如耳熟能详的Django,还有Tornado,Flask。
6、网络爬虫:也称网络蜘蛛,是大数据行业获取数据的核心工具。能够编写网络爬虫的编程语言有不少,但Python绝对是其中的主流之一。
7、数据分析:结合科学计算、机器学习等技术,对数据进行清洗、去重、规格化和针对性的分析是大数据行业的基石,Python是数据分析领域首选的编程语言。
8、人工智能:对于人工智能我想不用多介绍,是现在非常流行的一个行业,而人工智能也是未来的发展,Python是人工智能的首选编程语言。