273 lines
8.6 KiB
Markdown
273 lines
8.6 KiB
Markdown
|
# 智投交易系统 (Zhitou Trade System)
|
|||
|
|
|||
|
## 项目简介
|
|||
|
|
|||
|
智投交易系统是一个自动化股票交易平台,支持多家券商的股票交易操作。系统通过自动化技术实现股票的买卖、撤单、账户查询等功能,提高交易效率和准确性。
|
|||
|
|
|||
|
### 主要功能
|
|||
|
|
|||
|
- **多券商支持**:支持华泰证券、中信建投、中信证券、恒泰证券、金元证券、长城证券、广发证券、光大证券、国信证券、申万宏源、平安证券、信达证券、招商证券、海通证券、银河证券、国融证券、中山证券、兴业证券、东吴证券、安信证券、开源证券、华福证券、华龙证券、德邦证券、国金证券、国盛证券等
|
|||
|
- **自动交易**:根据交易指令自动执行买卖操作
|
|||
|
- **立即成交**:支持立即成交模式的交易
|
|||
|
- **价格更新**:自动更新挂单价格
|
|||
|
- **一键撤单**:快速撤销所有未成交订单
|
|||
|
- **账户管理**:获取账户余额、持仓信息、交易记录等
|
|||
|
- **网络管理**:自动切换WiFi和代理IP
|
|||
|
- **风险控制**:交易监控和异常处理
|
|||
|
|
|||
|
### 支持的券商列表
|
|||
|
|
|||
|
| 券商名称 | 文件名称 | 状态 |
|
|||
|
|---------|---------|------|
|
|||
|
| 华泰证券 | huatai_clienttrader.py | ✅ |
|
|||
|
| 中信建投 | zxjt_clienttrader.py | ✅ |
|
|||
|
| 中信证券(浙江) | zxzq_clienttrader.py | ✅ |
|
|||
|
| 恒泰证券 | hengtai_clienttrader.py | ✅ |
|
|||
|
| 金元证券 | jy_clienttrader.py | ✅ |
|
|||
|
| 长城证券 | cc_clienttrader.py | ✅ |
|
|||
|
| 广发证券 | gf_clienttrader.py | ✅ |
|
|||
|
| 光大证券 | gd_clienttrader.py | ✅ |
|
|||
|
| 国信证券 | gx_clienttrader.py | ✅ |
|
|||
|
| 申万宏源(原宏源) | hy_clienttrader.py | ✅ |
|
|||
|
| 申万宏源(原申万) | sw_clienttrader.py | ✅ |
|
|||
|
| 平安证券 | pa_clienttrader.py | ✅ |
|
|||
|
| 信达证券 | xd_clienttrader.py | ✅ |
|
|||
|
| 招商证券 | zs_clienttrader.py | ✅ |
|
|||
|
| 海通证券 | haitong_clienttrader.py | ✅ |
|
|||
|
| 银河证券 | yh_clienttrader.py | ✅ |
|
|||
|
| 国融证券 | gr_clienttrader.py | ✅ |
|
|||
|
| 中山证券 | zhongshan_clienttrader.py | ✅ |
|
|||
|
| 兴业证券 | xy_clienttrader.py | ✅ |
|
|||
|
| 东吴证券 | dw_clienttrader.py | ✅ |
|
|||
|
| 安信证券 | anxin_clienttrader.py | ✅ |
|
|||
|
| 开源证券 | ky_clienttrader.py | ✅ |
|
|||
|
| 华福证券 | hf_clienttrader.py | ✅ |
|
|||
|
| 华龙证券 | hualong_clienttrader.py | ✅ |
|
|||
|
| 德邦证券 | db_clienttrader.py | ✅ |
|
|||
|
| 国金证券 | guojin_clienttrader.py | ✅ |
|
|||
|
| 国盛证券 | guosheng_clienttrader.py | ✅ |
|
|||
|
|
|||
|
## 部署指南
|
|||
|
|
|||
|
### 部署优化特性
|
|||
|
|
|||
|
相比之前版本,新版本部署时间已缩短至30分钟以内(之前需要3小时以上),主要优化包括:
|
|||
|
|
|||
|
1. **缩短操作流程**:简化部署步骤
|
|||
|
2. **依赖管理优化**:使用requirements.txt统一管理依赖包
|
|||
|
3. **登录认证优化**:保留东吴+华龙的登录认证信息,避免重复输入验证码
|
|||
|
4. **配置文件管理**:增加配置文件,统一管理系统配置
|
|||
|
5. **Git部署**:使用Git进行版本控制和代码部署
|
|||
|
|
|||
|
### 系统要求
|
|||
|
|
|||
|
- **操作系统**:Windows 10/11
|
|||
|
- **Python版本**:Python 3.6.8
|
|||
|
- **开发环境**:PyCharm(推荐)
|
|||
|
- **网络要求**:稳定的网络连接
|
|||
|
- **权限要求**:管理员权限(用于网络配置)
|
|||
|
|
|||
|
### 部署步骤
|
|||
|
|
|||
|
#### 1. 拉取代码
|
|||
|
|
|||
|
首先下载并安装Git:
|
|||
|
```bash
|
|||
|
# 下载Git并安装后,克隆项目代码
|
|||
|
git clone http://49.232.210.78:3000/maxinxin/zhitou_trade.git
|
|||
|
```
|
|||
|
|
|||
|
#### 2. 安装Python和开发环境
|
|||
|
|
|||
|
- 下载并安装 **Python 3.6.8**
|
|||
|
- 下载并安装 **PyCharm**(推荐使用专业版)
|
|||
|
|
|||
|
#### 3. 创建虚拟环境并安装依赖
|
|||
|
|
|||
|
参考教程:[Python虚拟环境创建](https://blog.csdn.net/qq_42980908/article/details/121122565)
|
|||
|
|
|||
|
```bash
|
|||
|
# 激活虚拟环境
|
|||
|
.\venv\Scripts\activate
|
|||
|
|
|||
|
# 安装项目依赖
|
|||
|
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
|
|||
|
```
|
|||
|
|
|||
|
#### 4. 配置WiFi连接
|
|||
|
|
|||
|
在 `wifi_config.txt` 文件中修改WiFi配置:
|
|||
|
```
|
|||
|
# WiFi配置文件
|
|||
|
# 格式:WiFi名称,密码
|
|||
|
# 第一行是主WiFi,第二行是备用WiFi(可选)
|
|||
|
你的WiFi名称,你的WiFi密码
|
|||
|
备用WiFi名称,备用WiFi密码
|
|||
|
```
|
|||
|
|
|||
|
#### 5. 安装和配置Tesseract OCR
|
|||
|
|
|||
|
1. 下载并安装 **tesseract-ocr**
|
|||
|
2. 安装至默认路径:`C:\Program Files\Tesseract-OCR\`
|
|||
|
3. 修改Tesseract路径配置:
|
|||
|
|
|||
|
找到项目中的 `pytesseract.py` 文件,修改其中的路径:
|
|||
|
```python
|
|||
|
# 将这行:
|
|||
|
tesseract_cmd = 'tesseract'
|
|||
|
# 修改为:
|
|||
|
tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
|
|||
|
```
|
|||
|
|
|||
|
参考教程:[PyCharm生成requirements.txt](https://blog.csdn.net/COCO56/article/details/117452383)
|
|||
|
|
|||
|
#### 6. 配置PyCharm环境
|
|||
|
|
|||
|
1. 打开PyCharm
|
|||
|
2. 导入项目
|
|||
|
3. 配置Python解释器为创建的虚拟环境
|
|||
|
4. 点击 Tools -> Sync Python Requirements 同步依赖
|
|||
|
|
|||
|
### 验证部署
|
|||
|
|
|||
|
部署完成后,可以运行以下命令验证环境:
|
|||
|
```bash
|
|||
|
python -c "import pandas, numpy, requests; print('环境配置成功')"
|
|||
|
```
|
|||
|
|
|||
|
## 使用指南
|
|||
|
|
|||
|
### 日常使用
|
|||
|
|
|||
|
系统部署完成后,日常使用非常简单:
|
|||
|
|
|||
|
```bash
|
|||
|
# 每天运行以下命令即可
|
|||
|
python trades_port_trade.py
|
|||
|
```
|
|||
|
|
|||
|
### 主要操作模式
|
|||
|
|
|||
|
系统支持以下操作模式:
|
|||
|
|
|||
|
1. **login**:登录券商客户端
|
|||
|
2. **cancel**:一键撤销所有未成交订单
|
|||
|
3. **according_to_trade_instructions**:根据交易指令执行交易(开盘前)
|
|||
|
4. **immediate_order**:立即成交模式交易
|
|||
|
5. **update_price**:更新挂单价格
|
|||
|
6. **save_all**:保存所有交易数据(资金、持仓、成交记录)
|
|||
|
7. **save_balance_position**:保存资金和持仓信息
|
|||
|
8. **save_trades_check**:保存并检查交易记录
|
|||
|
9. **reset_mac_ip**:重置MAC地址和IP
|
|||
|
10. **etf_buy**:ETF申购
|
|||
|
11. **save_order**:保存订单信息
|
|||
|
12. **save_deliver_order**:保存交割单信息
|
|||
|
|
|||
|
### 配置文件说明
|
|||
|
|
|||
|
- **wifi_config.txt**:WiFi连接配置
|
|||
|
- **requirements.txt**:Python依赖包列表
|
|||
|
- **versioncheck.xml**:版本检查配置
|
|||
|
|
|||
|
### 日志和监控
|
|||
|
|
|||
|
- 系统运行日志保存在 `logs/` 目录
|
|||
|
- 主日志文件:`Auto_Trade_Log.log`
|
|||
|
- 图片截图保存在 `imgs/` 目录
|
|||
|
|
|||
|
### 注意事项
|
|||
|
|
|||
|
1. **管理员权限**:首次运行需要以管理员身份运行
|
|||
|
2. **网络稳定性**:确保网络连接稳定
|
|||
|
3. **券商客户端**:确保对应的券商客户端已正确安装
|
|||
|
4. **交易时间**:请在正常交易时间内运行
|
|||
|
5. **风险控制**:建议先在测试环境中验证功能
|
|||
|
6. **数据备份**:定期备份重要的交易数据和日志
|
|||
|
|
|||
|
### 故障排除
|
|||
|
|
|||
|
#### 常见问题
|
|||
|
|
|||
|
1. **登录失败**
|
|||
|
- 检查券商客户端是否正常运行
|
|||
|
- 验证网络连接是否稳定
|
|||
|
- 确认账户信息是否正确
|
|||
|
|
|||
|
2. **网络连接问题**
|
|||
|
- 检查WiFi配置是否正确
|
|||
|
- 尝试手动连接网络
|
|||
|
- 重启网络适配器
|
|||
|
|
|||
|
3. **依赖包安装失败**
|
|||
|
- 使用国内镜像源安装
|
|||
|
- 检查Python版本是否正确
|
|||
|
- 尝试升级pip版本
|
|||
|
|
|||
|
4. **OCR识别问题**
|
|||
|
- 确认Tesseract路径配置正确
|
|||
|
- 检查图片质量和清晰度
|
|||
|
- 尝试重新安装Tesseract
|
|||
|
|
|||
|
## 技术架构
|
|||
|
|
|||
|
### 核心模块
|
|||
|
|
|||
|
- **trade_logic.py**:交易逻辑核心模块
|
|||
|
- **trade_port_trade.py**:主程序入口
|
|||
|
- **tools.py**:工具函数集合
|
|||
|
- **autobasic/**:各券商客户端交易模块
|
|||
|
|
|||
|
### 数据库连接
|
|||
|
|
|||
|
系统使用MySQL数据库存储交易数据,主要包括:
|
|||
|
- 用户认证信息
|
|||
|
- 交易指令
|
|||
|
- 账户资金信息
|
|||
|
- 持仓数据
|
|||
|
- 交易记录
|
|||
|
|
|||
|
### 安全特性
|
|||
|
|
|||
|
- 加密存储敏感信息
|
|||
|
- 交易操作日志记录
|
|||
|
- 异常情况自动处理
|
|||
|
- 邮件报警机制
|
|||
|
|
|||
|
## 开发与维护
|
|||
|
|
|||
|
### 代码结构
|
|||
|
|
|||
|
```
|
|||
|
zhitou_trade/
|
|||
|
├── autobasic/ # 各券商交易模块
|
|||
|
├── broker_xiadan/ # 券商下单相关
|
|||
|
├── logs/ # 日志文件
|
|||
|
├── imgs/ # 图片截图
|
|||
|
├── mysql_table/ # 数据库表结构
|
|||
|
├── trade_logic.py # 交易逻辑
|
|||
|
├── trade_port_trade.py # 主程序
|
|||
|
├── tools.py # 工具函数
|
|||
|
├── requirements.txt # 依赖包
|
|||
|
└── wifi_config.txt # WiFi配置
|
|||
|
```
|
|||
|
|
|||
|
### 贡献指南
|
|||
|
|
|||
|
1. Fork项目仓库
|
|||
|
2. 创建功能分支
|
|||
|
3. 提交代码变更
|
|||
|
4. 创建Pull Request
|
|||
|
|
|||
|
## 许可证
|
|||
|
|
|||
|
本项目仅供学习和研究使用,请遵守相关法律法规和券商使用条款。
|
|||
|
|
|||
|
## 支持与反馈
|
|||
|
|
|||
|
如遇问题请通过以下方式联系:
|
|||
|
- 邮件:1055017575@qq.com, 2293908092@qq.com
|
|||
|
- 项目地址:http://49.232.210.78:3000/maxinxin/zhitou_trade.git
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
**风险提示**:股市有风险,投资需谨慎。本系统仅为技术工具,投资决策请自行承担风险。
|