B站配套视频教程观看
EasyTrader自动化模拟真实交易

来到官方文档的使用部分:

https://easytrader.readthedocs.io/zh/master/usage/

一、用法

1.1引入

import easytrader

1.2设置交易客户端类型

通用同花顺客户端

user = easytrader.use('universal_client')

1.3启动并连接客户端

user.connect(r'客户端xiadan.exe路径') # 类似 r'C:\htzqzyb2\xiadan.exe'

二、交易相关

2.1获取资金状况

user.balance

return

[{'参考市值': 21642.0,'可用资金': 28494.21,'币种': '0','总资产': 50136.21,'股份参考盈亏': -90.21,'资金余额': 28494.21,'资金帐号': 'xxx'}]

2.2 获取持仓

user.position

return

[{'买入冻结': 0,'交易市场': '沪A','卖出冻结': '0','参考市价': 4.71,'参考市值': 10362.0,'参考成本价': 4.672,'参考盈亏': 82.79,'当前持仓': 2200,'盈亏比例(%)': '0.81%','股东代码': 'xxx','股份余额': 2200,'股份可用': 2200,'证券代码': '601398','证券名称': '工商银行'}]

2.3 买入

user.buy('162411', price=0.55, amount=100)

return

{'entrust_no': 'xxxxxxxx'}

注: 系统可以配置是否返回成交回报。如果没配的话默认返回 {"message": "success"}

2.4 卖出

user.sell('162411', price=0.55, amount=100)

return

{'entrust_no': 'xxxxxxxx'}

2.5 一键打新

user.auto_ipo()

2.6 撤单

user.cancel_entrust('buy/sell 获取的 entrust_no')

return

{'message': '撤单申报成功'}

2.7 查询当日成交

user.today_trades

return

[{'买卖标志': '买入','交易市场': '深A','委托序号': '12345','成交价格': 0.626,'成交数量': 100,'成交日期': '20170313','成交时间': '09:50:30','成交金额': 62.60,'股东代码': 'xxx','证券代码': '162411','证券名称': '华宝油气'}]

2.8 查询当日委托

user.today_entrusts

return

[{'买卖标志': '买入','交易市场': '深A','委托价格': 0.627,'委托序号': '111111','委托数量': 100,'委托日期': '20170313','委托时间': '09:50:30','成交数量': 100,'撤单数量': 0,'状态说明': '已成','股东代码': 'xxxxx','证券代码': '162411','证券名称': '华宝油气'},{'买卖标志': '买入','交易市场': '深A','委托价格': 0.6,'委托序号': '1111','委托数量': 100,'委托日期': '20170313','委托时间': '09:40:30','成交数量': 0,'撤单数量': 100,'状态说明': '已撤','股东代码': 'xxx','证券代码': '162411','证券名称': '华宝油气'}]

2.9 查询今日可申购新股

from easytrader.utils.stock import get_today_ipo_data
ipo_data = get_today_ipo_data()
print(ipo_data)

return

[{'stock_code': '股票代码','stock_name': '股票名称','price': 发行价,'apply_code': '申购代码'}]

2.10 刷新数据

user.refresh()

2.11 雪球组合比例调仓

user.adjust_weight('股票代码', 目标比例)

例如,user.adjust_weight('000001', 10)是将平安银行在组合中的持仓比例调整到10%。

三、客户端设置

需要对客户端按以下设置,不然会导致下单时价格出错以及客户端超时锁定

  • 系统设置 > 界面设置: 界面不操作超时时间设为 0
  • 系统设置 > 交易设置: 默认买入价格/买入数量/卖出价格/卖出数量 都设置为 空

同时客户端不能最小化也不能处于精简模式

四、实战

4.1查询接口

import win32api
import easytrader# 设置客户端信息(同花顺)
user = easytrader.use('universal_client')
#连接客户端(同花顺:登录 保存密码 自动登录)
user.connect("C:\\ths\\xiadan.exe") # 类似 r'C:\htzqzyb2\xiadan.exe'# 查询类函数
#查询持仓
balance = user.balance
print(balance)
#查询持仓(仓位)
position = user.position
print(position)

可以看到,持仓的效果如上图对吧,它输出了2行数据,分别是balance和position。

上面是查询的功能。

#查询当日成交
today_trades = user.today_trades
print(today_trades)#查询当日委托(委托是指没有成交,但是已经提交成交的订单)
today_entrusts = user.today_entrusts
print(today_entrusts)

因为我没有进行交易,所以这里都是空的列表输出。

4.2交易接口

4.2.1买入接口

user.buy返回的是entrust_no,如果买入成功了,这就是成交的单号,如果买入失败,就是委托的单号。可以通过单号查询成交的记录,如果没有成交,我们也可以根据单号撤销委托。这个单号就相当于身份ID.

注意,需要设置客户端的编辑模式 才能够成功输入数据

# 设置客户端编辑文本形式:type_keys
user.enable_type_keys_for_editor()

执行买入:

# 买入
buy_no = user.buy("000002", price=24.06, amount = 100)
print(buy_no)

你会发现订单页面已经有了委托订单:因为今天不是成交日

然后脚本里面也会返回一个单号:

4.1.2 撤单接口

#撤单
cancel = user.cancel_entrust('2180077517')
print(cancel)

运行:

软件里面刚才的委托被取消了:

脚本输出撤单成功:

你可以再次撤销看看效果,他会提示如下内容:

4.1.3 卖出接口

#卖出
sell_no = user.sell("000002", price=24.8, amount = 100)
print(sell_no)

因为现在我买不了股票 所以这里就不带大家演示了 ,直接调用即可。

那本节课我们实战了easytrader的使用,你至少需要把它的每个函数跑一遍,有问题的地方自己能改。

转载请注明:虚幻私塾 » Python量化交易实战-41EasyTrader自动化模拟真实交易

Python量化交易实战-41EasyTrader自动化模拟真实交易相关推荐

  1. 可转债交易薅羊毛策略 — Python 量化投资实战教程(10)

    往期推荐 量化投资原来这么简单(1) 量化投资原来这么简单(2)-MACD策略(+26.9%) 量化投资原来这么简单(3) -A股回测MACD策略 Python 量化投资原来这么简单(4) -KDJ ...

  2. Python 量化投资实战教程(6) — 交易平均收益率

    量化投资系列文章: Backtrader 教程 - Python 量化投资实战教程(1) Python 量化投资实战教程(2) -MACD策略 Python 量化投资实战教程(3) -A股回测MACD ...

  3. python课件_如何20小时搞定Python量化期权实战?

    <Python量化期权实战应用>课程,在预售初期就备受关注,课程开始上线以来,内容更是受到了广大学员的一致好评. 眼看着课程就快要更新完毕了,如果还没有开始学习的同学要抓紧时间了. 课程总 ...

  4. python量化期权_如何20小时搞定Python量化期权实战?

    <Python量化期权实战应用>课程,在预售初期就备受关注,课程开始上线以来,内容更是受到了广大学员的一致好评. 眼看着课程就快要更新完毕了,如果还没有开始学习的同学要抓紧时间了. 课程总 ...

  5. 美式期权定价python_【优质好课】Python量化期权实战应用

    优质好课 · 涨价预警 <Python量化期权实战应用>课程,在预售初期就备受关注,课程开始上线以来,内容更是受到了广大学员的一致好评. 现在,眼看着课程就快要更新完毕了,如果还没有开始学 ...

  6. Python 量化投资实战教程(4) —KDJ 策略

    量化投资系列文章: Backtrader 教程 - Python 量化投资实战教程(1) Python 量化投资实战教程(2) -MACD策略(+26.9%) Python 量化投资实战教程(3) - ...

  7. Python 量化投资实战教程(2) —MACD策略(+26.9%)

    量化投资系列文章: Backtrader 教程 - Python 量化投资实战教程(1) Python 量化投资实战教程(2) -MACD策略(+26.9%) Python 量化投资实战教程(3) - ...

  8. Python 量化投资实战教程(3) —A股回测MACD策略

    量化投资系列文章: Backtrader 教程 - Python 量化投资实战教程(1) Python 量化投资实战教程(2) -MACD策略(+26.9%) Python 量化投资实战教程(3) - ...

  9. python接口测试框架实战与自动化进阶(三)

    python接口测试框架实战与自动化进阶 一.持续集成 1.持续集成环境搭建 1)安装Jenkins 官网下载后直接安装:https://jenkins.io/ 终端直接安装及启动:java -jar ...

最新文章

  1. 算法_棋盘型高维动态规划
  2. java fork_浅谈Java的Fork/Join并发框架
  3. 【Awsome】GitHub 资源汇总(更新中)
  4. Equipment upload - ERP inbound的debug
  5. C语言高级编程:数组和结构体初始化为0的方法
  6. oracle怎么从大字段中取节点,Oracle数据库 获取CLOB字段存储的xml格式字符串指定节点的值...
  7. phpstudy 启动mysql服务问题
  8. c语言万年历查询程序代码,C语言实现万年历程序的代码分享
  9. 微生物组对肥胖影响的最新研究分析
  10. Windows 10连接打印机提示网路“指定的网络名已不再可用”
  11. 洛谷 P2466 Sue的小球 解题报告
  12. 【机器学习】gini系数的计算
  13. 念在天涯,心在咫尺【转载】
  14. 【单片机】msp430几种不同开发平台的对比
  15. 使用Telnet 命令行发信
  16. 借助MPU6050上手卡尔曼滤波
  17. 很牛的几篇圈内爆料——影视圈
  18. 【Docker】Get Started with Solace
  19. thinkphp5使用腾讯云发送短信验证码服务
  20. Python---format格式化

热门文章

  1. 新手如何快速掌握Eclipse进行高效开发
  2. [树hash]BZOJ 4337——BJOI2015 树的同构
  3. 论文阅读笔记(5):Oracle Based Active Set Algorithm for Scalable Elastic Net Subspace Clustering
  4. 通过ChatGPT快速学习英语
  5. Unix socket进程间通信
  6. 前台界面显示图片问题
  7. 2021-2027全球与中国流媒体市场现状及未来发展趋势
  8. 电话号码(java)
  9. Mysql报错:Specified key was too long; max key length is 767 bytes
  10. Word如何将波浪号(~)如何打到中间