【easyTrader源码分析1】源码结构梳理

本文介绍了easyTrader项目的背景和目的,它是一个用于自动化交易和量化跟单的Python库。项目结构清晰,代码量适中,主要功能包括客户端自动化交易、量化平台跟单和远程部署。后续文章将对各个部分进行详细分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开篇

简单说一下为什么想写这个系列:

  1. 我个人对自动化交易比较感兴趣,他山之石,可以攻玉,搞清楚easyTrader,就搞清楚了市面上大部分自动交易方法。
  2. 实践是检验真理的唯一标准,一个无法实盘的量化交易系统,相当于一位纸上谈兵的将军。
  3. 网络上有很多成熟的组合,不管是量化还是非量化的,都可以通过程序实现follow(跟单)。
  4. 希望能实现自己的自动化交易系统,实现并扩展其功能。

项目概况

  • 【Github地址】https://github.com/shidenggui/easytrader
  • 【项目作者】食灯鬼
  • 【项目简介】提供同花顺客户端/国金/华泰客户端/雪球的基金、股票自动程序化交易以及自动打新,支持跟踪 joinquant /ricequant 模拟交易 和 实盘雪球组合, 量化交易组件。

下载项目源码

下载easyTrader源码

git clone git@github.com:shidenggui/easytrader.git

可以看到,项目中第一层结构有很多文件及文件夹,而核心源码,其实是在easytrader这个文件夹中,其他的都是各种项目配置文件及文档,所以,我们聚焦真正的源码文件夹easytrader

在这里插入图片描述

源码量

我们用VScode Counter插件,统计下整个代码量。33个文件,31个Python源文件,2个JSON配置文件。纯代码2889行,注释620行,空行677行,代码量不算大,在可读范围内。

在这里插入图片描述

再来逐一看一下每个文件的代码量,纯代码大于100行的文件只有6个,其他的都小于100行,阅读难度不算太大。

在这里插入图片描述

源码目录

我们打开easytrader文件夹看一下结构,使用tree工具查看项目结构如下,我们先大致逐一解释下每个文件的用途,后边文章再每个详细分析。

├── config  # 配置文件夹
│   ├── __init__.py # 子模块入口,空文件
│   ├── client.py # 定义各种不同客户端需要的常量
│   ├── global.json # 全局字段配置
│   └── xq.json # 雪球各种地址
├── utils # 工具文件夹
│   ├── __init__.py # 子模块入口,空文件
│   ├── captcha.py # 验证码识别
│   ├── misc.py # 数据格式转换
│   ├── perf.py # perf_clock函数装饰器
│   ├── stock.py # 股票相关辅助函数
│   └── win_gui.py # 输出pywinauto内的几个对象
├── __init__.py # 包入口文件,输出一些方法
├── api.py # 两个核心api:use和follower
├── clienttrader.py # 客户端交易基类
├── exceptions.py # 异常处理
├── follower.py # 跟单基类
├── gf_clienttrader.py # 广发客户端交易
├── gj_clienttrader.py # 国金客户端交易
├── grid_strategies.py # 网格策略
├── ht_clienttrader.py # 华泰客户端交易
├── htzq_clienttrader.py # 海通证券客户端交易
├── joinquant_follower.py # 聚宽跟单
├── log.py # 日志
├── pop_dialog_handler.py # 弹窗操控
├── refresh_strategies.py # 各种刷新策略
├── remoteclient.py # 远程客户端
├── ricequant_follower.py # 米筐跟单
├── server.py # 远程服务端
├── universal_clienttrader.py # 通用同花顺客户端交易
├── webtrader.py # 雪球web版
├── wk_clienttrader.py # 五矿客户端交易
├── xq_follower.py # 雪球跟单
├── xqtrader.py # 雪球模拟交易与实盘
└── yh_clienttrader.py # 银河客户端交易

2 directories, 33 files

功能点总结

初步过了一遍每个文件,可以将功能总结为几个部分:

  1. 客户端自动化交易:clienttrader.pygf_clienttrader.pygj_clienttrader.pyht_clienttrader.pyhtzq_clienttrader.pyuniversal_clienttrader.pywk_clienttrader.pywebtrader.pyxqtrader.py
  2. 量化平台跟单:follower.pyjoinquant_follower.pyricequant_follower.pyxq_follower.py
  3. 远程部署:server.pyremoteclient.py
  4. 其他辅助功能:configutils api.pyexceptions.pylog.pypop_dialog_handler.pyrefresh_strategies.pygrid_strategies.py

结语

本篇基本梳理清楚了easyTrader的源码结构和功能,后面文章逐一分析各个部分。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

量化投资技术

支持一下

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值