前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python量化交易学习笔记(50)——程序化交易1

Python量化交易学习笔记(50)——程序化交易1

作者头像
全栈程序员站长
发布2022-11-08 10:08:41
9020
发布2022-11-08 10:08:41
举报
文章被收录于专栏:全栈程序员必看

本文记录了使用easytrader实现程序化交易的过程。

easytrader实盘支持的券商包括:

  • 海通客户端(海通网上交易系统独立委托)
  • 华泰客户端(网上交易系统(专业版Ⅱ))
  • 国金客户端(全能行证券交易终端PC版)
  • 其他券商通用同花顺客户端(需要手动登陆)

本文以海通客户端为例进行介绍。

  1. easytrader安装
代码语言:javascript
复制
pip install easytrader
  1. 下载安装e海通财PC独立交易版
  2. 启动客户端
代码语言:javascript
复制
import easytrader
user = easytrader.use('htzq_client') # 海通客户端
user.prepare(user='498XXXXXXX', password='XXXXXX', comm_password='XXXXXX', 
             exe_path='C:\\e海通财独立交易\\AlternateTradeSys5.18.73\\xiadan.exe')

第1行引入easytrader,第2行设置使用的客户端,第3、4行启动登陆客户端,参数user为证券账号,password与comm_password分别为交易密码和通讯密码,一般为一样的,exe_path为海通客户端xiadan.exe所在完整路径名称。

此时运行程序,就会依次出现下面的界面,完成自动登陆。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. 相关方法

  • 获取资金情况
代码语言:javascript
复制
print(user.balance)
''' {'资金余额': XXXX, '可用金额': XXXX, '可取金额': XXXX, '总资产': XXXX} '''
  • 获取持仓
代码语言:javascript
复制
print(user.position)
''' [{'证券代码': 'XXXX', '证券名称': 'XXXX', '股票余额': XXXX, '可用余额': XXXX, '冻结数量': 0, '盈亏': XXXX, '成本价': XXXX, '盈亏比例(%)': XXXX, '市价': XXXX, '市值': XXXX, '交易市场': '上海A股', '股东帐户': 'XXXX', '汇率': 1.0, '成本价港币': XXXX, '买入成本价港币': XXXX, '买入在途数量': 0, '卖出在途数量': 0, 'Unnamed: 17': ''}, {'证券代码': 'XXXX', '证券名称': 'XXXX', '股票余额': XXXX, '可用余额': XXXX, '冻结数量': 0, '盈亏': XXXX, '成本价': XXXX, '盈亏比例(%)': XXXX, '市价': XXXX, '市值': XXXX, '交易市场': '深圳A股', '股东帐户': 'XXXX', '汇率': 1.0, '成本价港币': XXXX, '买入成本价港币': XXXX, '买入在途数量': 0, '卖出在途数量': 0, 'Unnamed: 17': ''}] '''
  • 买入
代码语言:javascript
复制
ret = user.buy('300002', price=XXXX, amount=100)
print(ret)
''' {'entrust_no': 'XXX'} '''
  • 卖出
代码语言:javascript
复制
ret = user.sell('300002', price=XXXX, amount=100)
print(ret)
''' {'entrust_no': 'XXX'} '''
  • 一键打新
代码语言:javascript
复制
user.auto_ipo()
  • 撤单
代码语言:javascript
复制
ret = user.cancel_entrust(ret['entrust_no']) # 参数为buy/sell 获取的 entrust_no
print(ret)
''' {'message': '您的撤单委托已成功提交,合同编号:XXX。'} '''
  • 查询当日成交
代码语言:javascript
复制
print(user.today_trades)
''' [{'买卖标志': '买入', '交易市场': '深A', '委托序号': '12345', '成交价格': 0.626, '成交数量': 100, '成交日期': '20170313', '成交时间': '09:50:30', '成交金额': 62.60, '股东代码': 'xxx', '证券代码': 'XXXX', '证券名称': 'XXXX'}] '''
  • 查询当日委托
代码语言:javascript
复制
print(user.today_entrusts)
''' [{'买卖标志': '买入', '交易市场': '深A', '委托价格': 0.627, '委托序号': '111111', '委托数量': 100, '委托日期': '20170313', '委托时间': '09:50:30', '成交数量': 100, '撤单数量': 0, '状态说明': '已成', '股东代码': 'xxxxx', '证券代码': 'XXXX', '证券名称': 'XXXX'}, {'买卖标志': '买入', '交易市场': '深A', '委托价格': 0.6, '委托序号': '1111', '委托数量': 100, '委托日期': '20170313', '委托时间': '09:40:30', '成交数量': 0, '撤单数量': 100, '状态说明': '已撤', '股东代码': 'xxx', '证券代码': 'XXXX', '证券名称': 'XXXX'}] '''

下篇文章将记录使用easyquotation获取实时数据,进行程序化交易的过程。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/184477.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月8日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档