对于开发恒生交易API的Python封装有什么建议?

Python019

对于开发恒生交易API的Python封装有什么建议?,第1张

因为一些不可抗力的原因,前一段时间开发的LTS API的Python封装暂时用不上,目前证券API这边剩下相对靠谱的选择只剩恒生了,同样是准备基于C++版本的API开发Python封装。现在的一个问题是,恒生的API风格上和国内大多数其他API非常不同,他的请求操作和数据推送需要用户自己发送和接收数据包并进行解析(类CTP的API会直接帮你处理好,用户只需传入结构体指针)。题主面临两个选择:直接对恒生API进行封装,提供数据包操作的Python接口。对恒生API进行类CTP封装后,再封装为Python接口,好处是可以和之前类CTP的API通用,缺点可能会损失部分恒生API独有的功能。这个API最后同样会整合到题主的vn.py框架中,这样对于很多大型券商(中信、海通、招商等等),用户也会多一个可以用Python进行量化开发的选择。恒生的接口应用应该是最普遍的,但是用恒生接口一般都需要券商给认证文件才能使用,大多数人应该都参与不了这个项目。可以参考quantbox和wind,先在框架上统一。最好先把ctp期货和证券做出来,毕竟兴业也在用,lts也是类ctp的。恒生的接口应用应该是最普遍的,但是用恒生接口一般都需要券商给认证文件才能使用,大多数人应该都参与不了这个项目。能做到封装后python API和现有vn.py已存在的lts和ctp的接口兼容,那就极好

股票自动交易助手提供了一个 Python 自动下单接口,参考代码

#股票自动交易助手 Python 自动下单使用 例子

#把此脚本和 StockOrderApi.py Order.dll 放到你自己编写的脚本同一目录

from StockOrderApi import *

#买入测试

#Buy(u"600000" , 100, 0, 1, 0)

#卖出测试,是持仓股才会有动作

#Sell(u"000100" , 100, 0, 1, 0)

#账户信息

print("股票自动交易接口测试")

print("账户信息")

print("--------------------------------")

arrAccountInfo = ["总资产", "可用资金", "持仓总市值", "总盈利金额", "持仓数量"]

for i in range(0, len(arrAccountInfo)):

 value = GetAccountInfo( u""  , i, 0)

 print ("%s %f "%(arrAccountInfo[i], value))

print("--------------------------------")

print(" ")

print("股票持仓")

print("--------------------------------")

#取出所有的持仓股票代码,结果以 ','隔开的

allStockCode = GetAllPositionCode(0)

allStockCodeArray = allStockCode.split(',')

for i in range(0, len(allStockCodeArray)):

 vol = GetPosInfo( allStockCodeArray[i]  , 0 , 0)

 changeP = GetPosInfo( allStockCodeArray[i]  , 4 , 0)

 print ("%s %d %.2f%%"%(allStockCodeArray[i], vol, changeP))

print("--------------------------------")

使用MT4。

Python由荷兰数学和计算机科学研究学会的Guido van Rossum 于1990 年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言, 随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。

拓展资料:

1. Python解释器易于扩展,可以使用C或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。 Python 也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。 2021年10月,语言流行指数的编译器Tiobe将Python加冕为最受欢迎的编程语言,20年来首次将其置于Java、C和JavaScript之上。

2. 由于Python语言的简洁性、易读性以及可扩展性,在国外用Python做科学计算的研究机构日益增多,一些知名大学已经采用Python来教授程序设计课程。例如卡耐基梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论就使用Python语言讲授。众多开源的科学计算软件包都提供了Python的调用接口,例如著名的计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK。而Python专用的科学计算扩展库就更多了,例如如下3个十分经典的科学计算扩展库:NumPy、SciPy和matplotlib,它们分别为Python提供了快速数组处理、数值运算以及绘图功能。因此Python语言及其众多的扩展库所构成的开发环境十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。2018年3月,该语言作者在邮件列表上宣布Python 2.7将于2020年1月1日终止支持。用户如果想要在这个日期之后继续得到与Python 2.7有关的支持,则需要付费给商业供应商。