Python量化交易实战-41EasyTrader自动化模拟真实交易
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自动化模拟真实交易相关推荐
- 可转债交易薅羊毛策略 — Python 量化投资实战教程(10)
往期推荐 量化投资原来这么简单(1) 量化投资原来这么简单(2)-MACD策略(+26.9%) 量化投资原来这么简单(3) -A股回测MACD策略 Python 量化投资原来这么简单(4) -KDJ ...
- Python 量化投资实战教程(6) — 交易平均收益率
量化投资系列文章: Backtrader 教程 - Python 量化投资实战教程(1) Python 量化投资实战教程(2) -MACD策略 Python 量化投资实战教程(3) -A股回测MACD ...
- python课件_如何20小时搞定Python量化期权实战?
<Python量化期权实战应用>课程,在预售初期就备受关注,课程开始上线以来,内容更是受到了广大学员的一致好评. 眼看着课程就快要更新完毕了,如果还没有开始学习的同学要抓紧时间了. 课程总 ...
- python量化期权_如何20小时搞定Python量化期权实战?
<Python量化期权实战应用>课程,在预售初期就备受关注,课程开始上线以来,内容更是受到了广大学员的一致好评. 眼看着课程就快要更新完毕了,如果还没有开始学习的同学要抓紧时间了. 课程总 ...
- 美式期权定价python_【优质好课】Python量化期权实战应用
优质好课 · 涨价预警 <Python量化期权实战应用>课程,在预售初期就备受关注,课程开始上线以来,内容更是受到了广大学员的一致好评. 现在,眼看着课程就快要更新完毕了,如果还没有开始学 ...
- Python 量化投资实战教程(4) —KDJ 策略
量化投资系列文章: Backtrader 教程 - Python 量化投资实战教程(1) Python 量化投资实战教程(2) -MACD策略(+26.9%) Python 量化投资实战教程(3) - ...
- Python 量化投资实战教程(2) —MACD策略(+26.9%)
量化投资系列文章: Backtrader 教程 - Python 量化投资实战教程(1) Python 量化投资实战教程(2) -MACD策略(+26.9%) Python 量化投资实战教程(3) - ...
- Python 量化投资实战教程(3) —A股回测MACD策略
量化投资系列文章: Backtrader 教程 - Python 量化投资实战教程(1) Python 量化投资实战教程(2) -MACD策略(+26.9%) Python 量化投资实战教程(3) - ...
- python接口测试框架实战与自动化进阶(三)
python接口测试框架实战与自动化进阶 一.持续集成 1.持续集成环境搭建 1)安装Jenkins 官网下载后直接安装:https://jenkins.io/ 终端直接安装及启动:java -jar ...
最新文章
- 算法_棋盘型高维动态规划
- java fork_浅谈Java的Fork/Join并发框架
- 【Awsome】GitHub 资源汇总(更新中)
- Equipment upload - ERP inbound的debug
- C语言高级编程:数组和结构体初始化为0的方法
- oracle怎么从大字段中取节点,Oracle数据库 获取CLOB字段存储的xml格式字符串指定节点的值...
- phpstudy 启动mysql服务问题
- c语言万年历查询程序代码,C语言实现万年历程序的代码分享
- 微生物组对肥胖影响的最新研究分析
- Windows 10连接打印机提示网路“指定的网络名已不再可用”
- 洛谷 P2466 Sue的小球 解题报告
- 【机器学习】gini系数的计算
- 念在天涯,心在咫尺【转载】
- 【单片机】msp430几种不同开发平台的对比
- 使用Telnet 命令行发信
- 借助MPU6050上手卡尔曼滤波
- 很牛的几篇圈内爆料——影视圈
- 【Docker】Get Started with Solace
- thinkphp5使用腾讯云发送短信验证码服务
- Python---format格式化
热门文章
- 新手如何快速掌握Eclipse进行高效开发
- [树hash]BZOJ 4337——BJOI2015 树的同构
- 论文阅读笔记(5):Oracle Based Active Set Algorithm for Scalable Elastic Net Subspace Clustering
- 通过ChatGPT快速学习英语
- Unix socket进程间通信
- 前台界面显示图片问题
- 2021-2027全球与中国流媒体市场现状及未来发展趋势
- 电话号码(java)
- Mysql报错:Specified key was too long; max key length is 767 bytes
- Word如何将波浪号(~)如何打到中间