README
🚀 量化交易系统
本项目是一个量化交易系统,包含服务器端和客户端,提供了丰富的股票市场数据获取、财务报表查询、技术分析、交易执行和数据可视化等功能,能帮助用户进行量化交易策略的开发和回测。
🚀 快速开始
若你想快速体验本量化交易系统,可参考以下步骤:
- 完成服务器端和客户端的安装与配置。
- 按照“快速上手”部分的示例代码,获取实时数据或运行回测策略。
📦 安装指南
服务器端安装
安装依赖项
- Python环境:请使用Python 3.6及以上版本。
- Jinja2:用于生成配置文件。安装命令:
pip install jinja2 - Flask:用于开发本地Web服务。安装命令:
pip install flask
下载源码
从GitHub仓库下载代码:
git clone https://github.com/yourusername/quantitative-trading-server.git
cd quantitative-trading-server
配置服务器
-
配置文件生成: 使用提供的脚本生成默认配置文件:
python3 server.py init这将创建
config.ini和data/目录。 -
修改配置: 根据实际需求编辑
config.ini,设置数据库连接信息、API密钥等参数。 -
数据准备:
- 下载历史交易数据并放置在
data/historical_data/目录。 - 确保财务报表数据和市场数据文件位于指定路径。
- 下载历史交易数据并放置在
启动服务器
python3 server.py start
默认绑定地址为http://localhost:5000
客户端安装
下载客户端
从GitHub仓库下载客户端:
git clone https://github.com/yourusername/quantitative-trading-client.git
cd quantitative-trading-client
pip install requirements.txt
配置客户端
-
创建配置文件:
python3 client.py init这将生成
client_config.json。 -
编辑配置: 在
client_config.json中填写服务器地址、端口和API密钥等信息。
使用命令行工具
python3 client.py --help
查看可用命令及其选项。
💻 使用示例
基础用法
示例:获取实时数据
在Python环境中输入以下代码:
from quant_client import QuantClient
# 初始化客户端
qc = QuantClient('http://localhost:5000', 'your_api_key')
# 获取股票历史数据
data = qc.get_historical_k_data('AAPL', '1D')
print(data)
高级用法
示例:运行回测策略
from quant_backtester import Backtester
bt = Backtester()
bt.add_strategy(MovingAverageStrategy)
bt.run('2020-01-01', '2023-12-31', 'AAPL')
bt.plot_results()
📚 详细文档
工具列表
🔍 展开查看全部工具
| 🏛️ 股票市场数据 | 📊 财务报表数据 | 🔎 市场概览数据 |
|---|---|---|
|
- `get_historical_k_data`: 获取历史K线数据 - `get_realtime_quotes`: 实时行情查询 |
- `fetch_financial_statements`: 获取财务报表 - `get_dividends`: 查询股息信息 |
- `market_overview`: 市场概览数据 - `sector_performance`: 行业表现分析 |
| 📈 技术分析工具 | 💰 交易执行 | 💡 数据可视化 |
|
- `calculate_indicators`: 计算技术指标 - `generate_trade_signals`: 生成交易信号 |
- `submit_order`: 下单接口 - `cancel_order`: 撤销订单 |
- `plot_charts`: 绘制K线图 - `create_dashboards`: 生成仪表盘 |
贡献指南
提交问题
- 在GitHub仓库中创建新议题:Issues
- 请详细描述问题,附带日志和复现步骤。
提交代码
- Fork仓库到个人账户。
- 创建功能分支:
git checkout -b feature/new-feature-name - 提交并推送到GitHub:
git add . git commit -m '添加新功能' git push origin feature/new-feature-name - 提交Pull Request到主仓库。
代码规范
- 遵循PEP8代码风格。
- 每个PR只提交一个特性或修复。
- 添加详细的文档和注释。
📄 许可证
本项目遵循MIT许可证协议。详情请见LICENSE文件。
🔧 联系方式
项目维护者
- 张三(负责人):zhangsan@example.com
- 李四(技术专家):lisi@example.com
社区支持
加入我们的Discord社区: https://discord.gg/quant-trading
或者在Reddit讨论区发帖: reddit.com/r/quant_trading_support
Scan to contact