Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chenwr727/stock-backtrader-web-app
Stock Backtrader Web App 是一个基于 Python 的项目,旨在简化股票回测和分析的过程。通过集成四个强大的库——Streamlit、AkShare、Backtrader 和 Pyecharts,本应用为用户提供了一个综合性的工具集,支持股票数据获取、回测模拟和结果可视化,且所有功能都在一个直观的 Web 界面内完成。
https://github.com/chenwr727/stock-backtrader-web-app
akshare backtrader pyecharts python streamlit
Last synced: 5 days ago
JSON representation
Stock Backtrader Web App 是一个基于 Python 的项目,旨在简化股票回测和分析的过程。通过集成四个强大的库——Streamlit、AkShare、Backtrader 和 Pyecharts,本应用为用户提供了一个综合性的工具集,支持股票数据获取、回测模拟和结果可视化,且所有功能都在一个直观的 Web 界面内完成。
- Host: GitHub
- URL: https://github.com/chenwr727/stock-backtrader-web-app
- Owner: chenwr727
- Created: 2022-02-17T09:52:06.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2024-12-31T01:07:04.000Z (29 days ago)
- Last Synced: 2025-01-16T14:26:05.022Z (13 days ago)
- Topics: akshare, backtrader, pyecharts, python, streamlit
- Language: Python
- Homepage:
- Size: 17.6 KB
- Stars: 64
- Watchers: 2
- Forks: 21
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Stock Backtrader Web App
## 项目简介
本项目是一个基于 Python 的股票回测 Web 应用,使用了 Streamlit、AkShare、Backtrader 和 Pyecharts 四个核心库。该应用提供了一个用户友好的界面,允许用户获取股票数据、运行回测分析,并通过图表直观地展示结果。
**推荐**
- [akshare-gpt](https://github.com/chenwr727/akshare-gpt.git) 将 Akshare 集成到 GPT 的工具中,实现自然语言问答。## 主要功能
- **股票数据获取**:通过 AkShare 实时获取股票市场数据。
- **回测分析**:利用 Backtrader 进行多种策略的回测分析。
- **数据可视化**:使用 Pyecharts 实现回测结果的可视化展示。
- **Web 界面**:通过 Streamlit 搭建易用的交互式 Web 界面。## 技术栈
- **[Streamlit](https://github.com/streamlit/streamlit)**:快速搭建数据应用的 Web 框架。
- **[AkShare](https://github.com/akfamily/akshare)**:金融数据获取库。
- **[Backtrader](https://github.com/mementum/backtrader)**:强大的回测框架,支持多种金融工具。
- **[Pyecharts](https://github.com/pyecharts/pyecharts)**:基于 Python 的数据可视化库。## 安装依赖
在开始使用本项目之前,请确保已安装所有依赖。你可以通过以下命令安装:
```bash
pip install -r requirements.txt
```## 运行应用
要启动 Web 应用,运行以下命令:
```bash
streamlit run backtrader_app.py
```## 策略测试
你可以使用以下命令运行示例策略的单元测试:
```bash
python -m unittest tests.MaStrategyTest
```本项目支持的策略包括:
- **MA**(移动平均线)
- **MACross**(均线交叉)## 使用的库及其参数说明
### Streamlit
Streamlit 是一个用于快速开发数据可视化应用的 Web 框架。![Streamlit 界面示例](https://i-blog.csdnimg.cn/blog_migrate/0d139c7f5891abb7ea9420627eddb3b8.png)
### AkShare
AkShare 是一个基于 Python 的金融数据接口库,提供丰富的数据源接口。![AkShare 参数说明](https://i-blog.csdnimg.cn/blog_migrate/7424d1bb9a93931c27d206924e44b147.png)
- **symbol**:股票代码
- **period**:数据颗粒度(如日线、周线)
- **start date**:查询数据的开始日期
- **end date**:查询数据的结束日期
- **adjust**:复权类型(默认不复权;`qfq`:前复权;`hfq`:后复权)### Backtrader
Backtrader 是一个用于量化交易的回测框架,支持多种交易策略的回测。![Backtrader 参数说明](https://i-blog.csdnimg.cn/blog_migrate/a50e3fb6787ae0fe6513b24d35e347b6.png)
- **backtrader start date**:回测开始时间
- **backtrader end date**:回测结束时间
- **start cash**:初始资本
- **commission fee**:交易佣金费率
- **stake**:每次交易的买入数量### Pyecharts
Pyecharts 是一个结合了 Python 和 Echarts 的数据可视化工具,支持丰富的图表类型。![Pyecharts Kline 示例](https://i-blog.csdnimg.cn/blog_migrate/a7d7f43891664654909a4bd232dd50bc.png)