: | : | :期货程序化 | :期货程序化研究 | :期货量化学习 | :期货量化 |
返回列表 发帖

tushare开源股票交易接口基于python实现技术

tushare开源股票交易接口基于python实现技术

怎样在tushare中完成股票实盘交易   

    其实,如何使用实盘交易功能接口,与通过tushare获取数据一样简单,先看一下几个关键接口的使用方法:

1.与取数据一样,先导入tushare包


2.设置券商和账户信息。目前,只支持中信建投,即将陆续支持其他券商。

3.查看已经设置好的券商和账号信息


对于账户的安全性大家可以完全放心,因为tushare是纯开源项目,程序运行在本地。

4.初始化交易接口及登录

    在初始化交易接口TradeAPI对象时,需要设置券商代号,比如“zxjt”代表“中信建投”,"htzq"代表“华泰证券”,用于确定使用哪个券商通道。

5.获取账户基础数据

    (因为用了实盘账户,所以数据做了处理。)

    这里返回的数据是Series对象,单一数据的获取采用类似json的方法,比如要获取账户可用余额,可使用 baseinfo['fundavl'] ,证券总市值可用 baseinfo['marketvalue']。

6.获取持仓列表

7.买卖股票

    可以从金额两位维度或股份来操作股票(证券)买卖,具体请参考以上代码注释部分。

8.获取委托单列表

撤单操作必须通过获取委托单列表的数据,部分数据会作为参数传递给撤单函数。

9.撤单

ordersno和orderdate在多个证券撤单时,都是以逗号分隔,这两个参数的数据来自委托单接口。

10.查看成交列表

11.实时行情监控

千万别忘了tushare的实时数据接口,因为只有监控股票实时的量价变动情况,才可能触发下单操作。

ts.get_realtime_quotes('000581')

多个股票请用数组或者pandas的数据结构:

#数组
ts.get_realtime_quotes(['600848','000980','000981'])

#pandas
ts.get_realtime_quotes(df['code'].tail(10))

还有指数的实时数据:

#上证指数
ts.get_realtime_quotes('sh')

#上证指数 深圳成指 沪深300指数 上证50 中小板 创业板
ts.get_realtime_quotes(['sh','sz','hs300','sz50','zxb','cyb'])

#混搭
ts.get_realtime_quotes(['sh','600848'])

实时数据的内容为Level1行情:

0:name,股票名称
1:open,今日开盘价
2:pre_close,昨日收盘价
3:price,当前价格
4:high,今日最高价
5:low,今日最低价
6:bid,竞买价,即“买一”报价
7:ask,竞卖价,即“卖一”报价
8:volume,成交量
9:amount,成交金额(元 CNY)
10:b1_v,委买一(笔数 )
11:b1_p,委买一(价格 )
12:b2_v,“买二”
13:b2_p,“买二”
14:b3_v,“买三”
15:b3_p,“买三”
16:b4_v,“买四”
17:b4_p,“买四”
18:b5_v,“买五”
19:b5_p,“买五”
20:a1_v,委卖一(笔数)
21:a1_p,委卖一(价格)
...
30:date,日期;
31:time,时间;

需在函数后面加问号查看关于实盘交易各类接口的输入输出参数详细注释,例如:查看持仓列表的返回值含义注释,可使用 csc.position? ,效果如下:

接下来,在看完了实盘接口的使用过程后,在看看如何实现这些接口。

            交易系统登录

中信建投的交易通道,还提供网页版交易系统。先看看登录界面:

通过网页分析,在输入用户和密码点登录以后,出现了表单参数和登录URL

这样就可以通过Python实现模拟网页登录,这里截取部分代码:

           获取账户数据和持仓

我们在登录成功后,会先想到如何获取这个账户的基本信息呢?包括一些最常见的基础数据,如:证券ID,账户余额,股票市值等。在一行行蹦来蹦去的URL中拨丝抽茧,在发现了账户数据接口后又揪出了持仓列表数据:

           实现证券买卖

有了账户数据后,就需要买卖股票,点击股票交易的界面,如下图:

我们在输入了证券代码和买入价格及买入数量之后,点击“下单”提交给系统,会从网络监控里发现了如下参数信息:

根据参数名称,通过代码实现股票买入操作:

在执行股票卖出时,同样方法也能跟踪到卖出操作时显示的参数,根据卖出参数完成代码编写,就不一一展示了。

           实现证券撤单

要实现撤单,我们首先要提取委托单列表,在网页版的交易系统里,打开撤单界面,可以看到我们刚刚进行的股票买卖的委托单列表:

点击“撤单”操作,在网络监控里,我们很容易就发现了撤单的整个过程:

实际上,代码的实现很简单。

题外话

感兴趣的朋友可以看一下《基于 Python 的股票程序化交易》
在推荐一个《笨办法学Python》

论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
 
期货论坛 - 版权/免责声明   1.本站发布源码(包括函数、指标、策略等)均属开放源码,用意在于让使用者学习程序化语法撰写,使用者可以任意修改语法內容并调整参数。仅限用于个人学习使用,请勿转载、滥用,严禁私自连接实盘账户交易
  2.本站发布资讯(包括文章、视频、历史记录、教材、评论、资讯、交易方案等)均系转载自网络主流媒体,内容仅为作者当日个人观点,本网转载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网不对该类信息或数据做任何保证。不对您构成任何投资建议,不能依靠信息而取代自身独立判断,不对因使用本篇文章所诉信息或观点等导致的损失承担任何责任。
  3.本站发布资源(包括书籍、杂志、文档、软件等)均从互联网搜索而来,仅供个人免费交流学习,不可用作商业用途,本站不对显示的内容承担任何责任。请在下载后24小时内删除。如果喜欢,请购买正版,谢谢合作!
  4.龙听期货论坛原创文章属本网版权作品,转载须注明来源“龙听期货论坛”,违者本网将保留追究其相关法律责任的权力。本论坛除发布原创文章外,亦致力于优秀财经文章的交流分享,部分文章推送时若未能及时与原作者取得联系并涉及版权问题时,请及时联系删除。联系方式:http://www.qhlt.cn/thread-262-1-1.html
如何访问权限为100/255贴子:/thread-37840-1-1.html;注册后仍无法回复:/thread-23-1-1.html;微信/QQ群:/thread-262-1-1.html;网盘链接失效解决办法:/thread-93307-1-1.html

返回列表