量化交易学习(五十七)东方财富python下单
量化交易要想实盘,最重要的就是能通过程序下单,目前各大券商都有可以申请量化交易的权限,不过门槛各不相同,有的完全没门槛,比如国金证券;有的是低门槛资金量达标即可开通权限,比如万和证券;有的是高门槛,比如东方财富。
好吧,看完我上面这段话,大家应该能猜到我现在都在哪几家券商开户了。目前我已经开通了万和掘金和国金qmt,那为什么还要折腾东方财富呢?
答案是佣金,炒股的人都知道,买卖股票的交易佣金有一个5块的起步价。如果是高频交易或者说资金量比较少只买几手时,这佣金就太贵了。
今天这篇是介绍怎么通过easytrader来实现东方财富的程序化下单,东方财富虽然买卖股票有5块的起步价,但是买卖ETF是免5的。我主要交易ETF,而东财的量化权限门槛比较高暂时还开不了。所以就想着有没有非官方的方法实现下单。
原版的easytrader已经好久不更新了 https://github.com/shidenggui/easytrader 而且它不支持东方财富,我找到了一个支持东方财富的修改版的easytrader https://github.com/jadepeng/pytrader。
这个项目是一个完整的策略回测和策略执行框架,而我需要的只是其中的交易模块。在使用时只要把它源代码中的easytrader文件夹复制出来放到自己的项目中就可以用了
下面我来介绍一下具体的使用步骤吧:
首先下载pytrader项目,然后把easytrader文件夹复制到我们的项目中:
然后新建一个eastmoney.json文件,在这个文件里以json格式填写自己的资金帐号和密码
1 | { |
示例程序如下:
1 | from easytrader.eastmoney_trader import EastMoneyTrader |
输出结果:
可以看到程序能够获取到我当前的持仓和帐户余额,因为现在是空仓状态,所以持仓为空。
下单的方法执行失败了,失败原因是一串unicode字符串,贴到unicode转换工具上后解码为:当前时间不允许做该项业务
这个库的功能还比较简陋,目前只能实现挂限价单,也不支持撤单,挂单后如果不能成交需要手动撤单。
希望这篇教程能帮助到大家。如果你有任何问题或建议,欢迎留言讨论,私信。感谢你的阅读,觉得不错,点个赞哦!还没有关注我的朋友可以关注 江达小记