zoukankan      html  css  js  c++  java
  • 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:Python38python.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:Python38libsite-packageseasytraderapi.py", line 52, in use
        from easytrader.htzq_clienttrader import HTZQClientTrader
      File "C:Python38libsite-packageseasytraderhtzq_clienttrader.py", line 3, in <module>
        import pywinauto
      File "C:Python38libsite-packagespywinauto\__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

  • 相关阅读:
    Java基础语法
    Struts2--带参数的结果集
    Struts2--Dynamic Result动态结果集
    Struts2--Global Result全局结果集
    Struts2--Result类型
    Struts2--默认Action
    Struts2--模块包含
    Struts2--访问web元素
    puppeteer 填充基础表单
    animejs 动画库
  • 原文地址:https://www.cnblogs.com/gzhbk/p/14914205.html
Copyright © 2011-2022 走看看