【从零开始玩量化7】easyTrader: 自动化(程序化)交易利器

文章目录

  • 简介
  • 原理
    • pywinauto
  • 实战案例
    • 安装easytrader
    • 安装同花顺
    • 脚本程序
  • 结语

简介

Github地址:https://github.com/shidenggui/easytrader

前面的文章,我们介绍了数据获取工具AKShare, 量化回测工具backtrader等,这一篇,介绍程序化交易工具easyTrader。作者网名食灯鬼,目前项目在Github上的star数已经有6.7k。这可能是目前,开源能找到的,最好用的程序化交易库了。

原理

程序化交易,听起来似乎很高深,其实窗户纸捅破,逻辑很简单。普通开发者(或投资者),不可能拥有现成的程序化交易接口,我们的监管在这方面是很谨慎的。那转换下思路,我们手动下单用什么,不管是用PC或者手机,无非也是用某个股票软件,登录交易界面,输入价格和数量,点击买卖按钮。那这个过程,其实是可以用程序模拟的,我们可以用程序模拟鼠标和键盘的输入,原理类似精灵。

pywinauto

Github地址:https://github.com/pywinauto/pywinauto

翻看easyTrader源码,可以看到,其使用了一个叫做pywinauto的库。根据pywinauto官网的解释,这是一个Windows GUI自动化库,提供了一套GUI自动化的解决方案。也就是说,easyTrader是基于Windows平台运行的。

最终的效果就是,我们可以通过程序操控鼠标和键盘,操控各种交易客户端的进行交易。

实战案例

说不如做,直接开搞!我们以同花顺通用客户端为例。

安装easytrader

首先,找一台Windows电脑,安装easytrader。

pip install easytrader

安装同花顺

去官网下载最新版同花顺客户端,免费版即可,安装完成后,在安装文件夹中找到xiadan.exe这个执行文件,就是下图中的文件。
【从零开始玩量化7】easyTrader: 自动化(程序化)交易利器_第1张图片
双击打开,并登录你的交易账号,可以看到这样一个对话框,网上股票交易系统5.0。
【从零开始玩量化7】easyTrader: 自动化(程序化)交易利器_第2张图片

脚本程序

程序很简单,连接上边的客户端,然后打印账户信息。

import easytrader

user = easytrader.use('ths')

user.connect(r'D:\同花顺软件\同花顺\xiadan.exe')

print(user.balance)

在实际启动时,可能会提示错误ModuleNotFoundError: No module named 'win32api',原因的是未安装pypiwin32包,执行下边命令安装。

pip install pypiwin32

之后,再次启动脚本,可以看到结果。有一个警告,是因为我的Python是64位的,但并未造成问题,可以看到账户信息被成功打印。

【从零开始玩量化7】easyTrader: 自动化(程序化)交易利器_第3张图片

结语

本文介绍了easyTrader的简单用法,这个包还有很多功能,后续再继续写文章探究。

你可能感兴趣的:(从零开始玩量化,python,金融,开源)