① 怎么获取股票数据c++ api
基本都是自己封装CTP接口,程序端实现多账户、多策略的行情信号接收和委托提交/回报处理。也可以用 QuantBox/QuantBox_XAPI · GitHub 这样的封装的比较好、多接口统一API的项目直接整合到程序化平台的项目中使用。
通过程序接口用证券、期货账号登录后订阅品种的行情,证券、商品期货、股指期货、期权(全真模拟,9号就有实盘行情)都可以接收交易所的快照数据(例如商
品、股指都是500ms一个快照,数据结构也比较完整)。然后交易平台可以把行情数据广播给各个策略程序,程序根据量化策略的逻辑判断是否下单?挂单的方
式如何?挂单失败是否追单?如何追单?
策略程序判断要下单,则提交指令到程序化交易平台,平台把各个帐号各个品种中策略的逻辑持仓汇总为实际持仓,然后通过接口提交委托,并且处理委托回报。
行情数据一方面广播给策略程序,一方面自己存数据库,存下来的数据通过完整性检测后,可以自己合成低频率的数据,如
1分钟、30分钟、1小时、日度等等,这些数据会被用于策略回测,也可以用于市场微观结构的观察和研究,例如可以通过优化挂单方式来降低交易滑点。
Matlab可以做一些回测,实盘可能是比较不易用的。一般可以用C++, Java, C#来利用CTP程序化交易接口实现实盘平台,策略研究推荐用R做数据分析、统计、处理、可视化、策略分析、自动报告,用Rcpp(R调用C++)或者直接C++实现高性能回测,用单机并行或集群实现批量回测。
② 怎样用 Python 写一个股票自动交易的程序
方法一
前期的数据抓取和分析可能python都写好了,所以差这交易指令接口最后一步。对于股票的散户,正规的法子是华宝,国信,兴业这样愿意给接口的券商,但貌似开户费很高才给这权利,而且只有lts,ctp这样的c++接口,没python版就需要你自己封装。
方法二
是wind这样的软件也有直接的接口,支持部分券商,但也贵,几万一年是要的。
方法三
鼠标键盘模拟法,很复杂的,就是模拟键盘鼠标去操作一些软件,比如券商版交易软件和大智慧之类的。
方法四
就是找到这些软件的关于交易指令的底层代码并更改,不过T+1的规则下,预测准确率的重要性高于交易的及时性,花功夫做数据分析就好,交易就人工完成吧
③ 怎样用 Python 写一个股票自动交易的程序
股票自动交易助手提供了一个 Python 自动下单接口,参考代码
#股票自动交易助手Python自动下单使用例子
#把此脚本和StockOrderApi.pyOrder.dll放到你自己编写的脚本同一目录
fromStockOrderApiimport*
#买入测试
#Buy(u"600000",100,0,1,0)
#卖出测试,是持仓股才会有动作
#Sell(u"000100",100,0,1,0)
#账户信息
print("股票自动交易接口测试")
print("账户信息")
print("--------------------------------")
arrAccountInfo=["总资产","可用资金","持仓总市值","总盈利金额","持仓数量"];
foriinrange(0,len(arrAccountInfo)):
value=GetAccountInfo(u"",i,0)
print("%s%f"%(arrAccountInfo[i],value))
print("--------------------------------")
print("")
print("股票持仓")
print("--------------------------------")
#取出所有的持仓股票代码,结果以','隔开的
allStockCode=GetAllPositionCode(0)
allStockCodeArray=allStockCode.split(',')
foriinrange(0,len(allStockCodeArray)):
vol=GetPosInfo(allStockCodeArray[i],0,0)
changeP=GetPosInfo(allStockCodeArray[i],4,0)
print("%s%d%.2f%%"%(allStockCodeArray[i],vol,changeP))
print("--------------------------------")
④ 国内券商有没有提供股票程序化交易接口的
亲,您好,有的,例如方正。
程序化交易接口
以API形式的下单接口,不需要运行券商下单软件,通过直接调用dll交易函数的方式直接进行交易,功能包括下单,撤单,查询资金股份、当日委托、当日成交等,支持融资融券,可用于计算机自动程序化交易,供具有编程能力的股民使用。软件为DLL形式,原理是把券商的买入,卖出,查询等功能以接口函数的形式展现,以节省手动输入时间和方便程序化调用。
满意请采纳,谢谢!
⑤ 什么股票交易软件可以实现自动下单、自动撤单
1.、如果券商能提供接口,那非常简单。不过对绝大多数人,这是废话,一是券商不给提供,二是即使提供了,你的程序也得到营业部去跑。
2、 券商不提供接口,那就只能从交易软件客户端来想办法了
方法一:keyboard和mouse模拟的办法,比较笨的办法,速度快不起来。按我以往的经验,这种模拟keyboard和mouse的操作,因为要和UI打交道,很多地方得Sleep,不然很容易出错,自动下单,出错了可不是好玩的,那损失的都是钱。要想尽量减少出错,stress test的时候每步的sleep时间都得足够长,但这样一来,要足够可靠的话,整个过程估计3-5秒也完成不了。这个办法虽然是笨点,但如果对速度和可靠性的要求不高,也是可以接受的,毕竟要比手动操作要快。(对可靠性有担心的,可以留着交易软件每次下单前的确认窗口,这样还可以有最后一次人工确认的机会,但这样一来,批量下单就下不了了)。
方法二:跳过交易软件的UI层,直接调用下层的函数完成交易。大致方法是,1,得要code injection, 进程注入,你的代码得在交易软件的context下运行才行,2. 用debugger慢慢去看,了解交易软件自身是如何调用下层的函数去完成下单,比方说通达信的交易软件,与交易相关的函数,基本在tc.dll和tcapi.dll里面。这个办法弄通了,那下单估计可以在100ms以内完成,就完全和UI无关了。
方法三:从基于web和wap的交易上面动脑筋,这个渠道的下单方式,应该是http post了一些数据回server, 研究一下具体的格式就可以了。这条途径,从client来讲,下单的速度应该和方法二差不多。
3、FIX协议也是一种可能的突破口,部分柜台系统供应商已有现成的FIX产品,有基金、QFII客户的部分券商有采购(如中信证券),可以尝试一下。
⑥ 有人说,交易所api授权不安全,固定手机lp地此就安全了,是这样吗
API(Application Programming Interface)意思是“应用程序编程接口”,放在这个语境下,就是程序化交易的意思。API交易最早都是用于股票,它可以设置各种条件,进行自动监视、买卖、盈利、止损等。币圈交易所的API交易跟股票交易所API交易是一样的,都会设置条件进行全自动交易。API交易还可以一台电脑开多个账户,多任务同时监控,以解决复杂繁重的操盘工作,所以很多用户在设置API交易条件的时候,就省去中间验证环节了,因为验证本身就是主要的繁重工作之一。
所以API用户开通时,会做大量验证工作,是因为很多API用户在开通以后,就不会每次都验证了,因此API开通时候要验证短信验证码、邮箱验证码、谷歌验证码三个验证码,以保证本人操作。