Python量化交易学习笔记(十二)——程序化交易,自动登录软件
本文记录了使用easytrader实现程序化交易的过程。
easytrader实盘支持的券商包括:
华泰客户端(网上交易系统(专业版Ⅱ))
海通客户端(海通网上交易系统独立委托)
国金客户端(全能行证券交易终端PC版)
其他券商通用同花顺客户端(需要手动登陆)
本文以华泰客户端为例进行介绍。
1.easytrader安装
1 | pip install easytrader |
2.python 3.6安装win32api模块
1 | pip install pypiwin32 |
3.下载安装华泰(网上交易系统(专业版Ⅱ)),并安装如下目录
C:\\htzqzyb2\\xiadan.exe
4.启动客户端
import easytrader
user = easytrader.use('htzq_client') # 华泰客户端
user.prepare(user='05000000****', password='******', comm_password='******',
exe_path='C:\\htzqzyb2\\xiadan.exe')
print(user)
#获取资金情况
print("获取资金情况")
print(user.balance)
#获取持仓
print("获取持仓")
print(user.position)
#买入
print("买入")
#ret = user.buy('000002', price=50, amount=100)
#print(ret)
#卖出
print("卖出")
#ret = user.sell('000002', price=50, amount=100)
#print(ret)
#一键打新
print("一键打新")
user.auto_ipo()
第1行引入easytrader
第2行设置使用的客户端,
第3、4行启动登陆客户端,参数user为证券账号,password与comm_password分别为交易密码和通讯密码,一般为一样的,exe_path为海通客户端xiadan.exe所在完整路径名称。
此时运行程序,就会依次出现下面的界面,完成自动登陆。
4. 相关方法
print(user)
#获取资金情况
print("获取资金情况")
print(user.balance)
#获取持仓
print("获取持仓")
print(user.position)
#买入
print("买入")
#ret = user.buy('000002', price=50, amount=100)
#print(ret)
#卖出
print("卖出")
#ret = user.sell('000002', price=50, amount=100)
#print(ret)
#一键打新
print("一键打新")
user.auto_ipo()
1 2 3 4 5 6 7 | <br>获取资金情况 { '资金余额' : 0.05 , '可用金额' : 0.05 , '可取金额' : 0.05 , '总资产' : 1000.05 } 获取持仓 [{ '证券代码' : '783009' , '证券名称' : '南银发债' , '股票余额' : 1 , '可用余额' : 1 , '冻结数量' : 0 , '成本价' : 100.0 , '保本价' : 100.0 , '市价' : 100.0 , '盈亏比(%)' : 0.0 , '盈亏' : 0.0 , '市值' : 1000.0 , '交易市场' : '上海A' , '股东帐户' : 'A618182715' , '在途数量' : 0 , 'Unnamed: 14' : ''}] 买入 卖出 一键打新 |
1 2 3 4 5 6 7 8 9 10 11 | C:\Python38\python.exe F: / test / src / com / gzh / demo50.py Traceback (most recent call last): File "F:/test/src/com/gzh/demo50.py" , line 2 , in <module> user = easytrader.use( 'htzq_client' ) # 海通客户端 File "C:\Python38\lib\site-packages\easytrader\api.py" , line 52 , in use from easytrader.htzq_clienttrader import HTZQClientTrader File "C:\Python38\lib\site-packages\easytrader\htzq_clienttrader.py" , line 3 , in <module> import pywinauto File "C:\Python38\lib\site-packages\pywinauto\__init__.py" , line 59 , in <module> import win32api # noqa: E402 ModuleNotFoundError: No module named 'win32api' |
如你也感兴趣,可以加微信-汉客先生:
参考:
https://blog.csdn.net/m0_46603114/article/details/111714587
https://blog.csdn.net/Iv_zzy/article/details/107185936
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~