Python量化交易学习笔记(十二)——程序化交易,自动登录软件

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

easytrader实盘支持的券商包括:

华泰客户端(网上交易系统(专业版Ⅱ)) 

海通客户端(海通网上交易系统独立委托) 

国金客户端(全能行证券交易终端PC版)

其他券商通用同花顺客户端(需要手动登陆)
本文以华泰客户端为例进行介绍。

1.easytrader安装

pip install easytrader

  

2.python 3.6安装win32api模块 

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()


获取资金情况 {'资金余额': 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': ''}] 买入 卖出 一键打新

  

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

posted @ 2021-06-21 16:25  A汉克先生  阅读(2726)  评论(0编辑  收藏  举报