{"id":22432057,"url":"https://github.com/chenwr727/stock-backtrader-web-app","last_synced_at":"2025-04-07T10:19:33.296Z","repository":{"id":109612612,"uuid":"460373991","full_name":"chenwr727/stock-backtrader-web-app","owner":"chenwr727","description":"Stock Backtrader Web App 是一个基于 Python 的项目，旨在简化股票回测和分析的过程。通过集成四个强大的库——Streamlit、AkShare、Backtrader 和 Pyecharts，本应用为用户提供了一个综合性的工具集，支持股票数据获取、回测模拟和结果可视化，且所有功能都在一个直观的 Web 界面内完成。","archived":false,"fork":false,"pushed_at":"2024-12-31T01:07:04.000Z","size":18,"stargazers_count":89,"open_issues_count":0,"forks_count":30,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-31T09:03:34.110Z","etag":null,"topics":["akshare","backtrader","pyecharts","python","streamlit"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chenwr727.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-02-17T09:52:06.000Z","updated_at":"2025-03-27T02:48:38.000Z","dependencies_parsed_at":"2024-12-31T02:18:44.761Z","dependency_job_id":"364c4fa7-9519-4d35-b922-233596441cd5","html_url":"https://github.com/chenwr727/stock-backtrader-web-app","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenwr727%2Fstock-backtrader-web-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenwr727%2Fstock-backtrader-web-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenwr727%2Fstock-backtrader-web-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenwr727%2Fstock-backtrader-web-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chenwr727","download_url":"https://codeload.github.com/chenwr727/stock-backtrader-web-app/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247631834,"owners_count":20970069,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["akshare","backtrader","pyecharts","python","streamlit"],"created_at":"2024-12-05T22:10:24.783Z","updated_at":"2025-04-07T10:19:33.260Z","avatar_url":"https://github.com/chenwr727.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Stock Backtrader Web App\n\n## 项目简介\n\n本项目是一个基于 Python 的股票回测 Web 应用，使用了 Streamlit、AkShare、Backtrader 和 Pyecharts 四个核心库。该应用提供了一个用户友好的界面，允许用户获取股票数据、运行回测分析，并通过图表直观地展示结果。\n\n**推荐**\n- [akshare-gpt](https://github.com/chenwr727/akshare-gpt.git) 将 Akshare 集成到 GPT 的工具中，实现自然语言问答。\n\n## 主要功能\n\n- **股票数据获取**：通过 AkShare 实时获取股票市场数据。\n- **回测分析**：利用 Backtrader 进行多种策略的回测分析。\n- **数据可视化**：使用 Pyecharts 实现回测结果的可视化展示。\n- **Web 界面**：通过 Streamlit 搭建易用的交互式 Web 界面。\n\n## 技术栈\n\n- **[Streamlit](https://github.com/streamlit/streamlit)**：快速搭建数据应用的 Web 框架。\n- **[AkShare](https://github.com/akfamily/akshare)**：金融数据获取库。\n- **[Backtrader](https://github.com/mementum/backtrader)**：强大的回测框架，支持多种金融工具。\n- **[Pyecharts](https://github.com/pyecharts/pyecharts)**：基于 Python 的数据可视化库。\n\n## 安装依赖\n\n在开始使用本项目之前，请确保已安装所有依赖。你可以通过以下命令安装：\n\n```bash\npip install -r requirements.txt\n```\n\n## 运行应用\n\n要启动 Web 应用，运行以下命令：\n\n```bash\nstreamlit run backtrader_app.py\n```\n\n## 策略测试\n\n你可以使用以下命令运行示例策略的单元测试：\n\n```bash\npython -m unittest tests.MaStrategyTest\n```\n\n本项目支持的策略包括：\n- **MA**（移动平均线）\n- **MACross**（均线交叉）\n\n## 使用的库及其参数说明\n\n### Streamlit\nStreamlit 是一个用于快速开发数据可视化应用的 Web 框架。\n\n![Streamlit 界面示例](https://i-blog.csdnimg.cn/blog_migrate/0d139c7f5891abb7ea9420627eddb3b8.png)\n\n### AkShare\nAkShare 是一个基于 Python 的金融数据接口库，提供丰富的数据源接口。\n\n![AkShare 参数说明](https://i-blog.csdnimg.cn/blog_migrate/7424d1bb9a93931c27d206924e44b147.png)\n- **symbol**：股票代码\n- **period**：数据颗粒度（如日线、周线）\n- **start date**：查询数据的开始日期\n- **end date**：查询数据的结束日期\n- **adjust**：复权类型（默认不复权；`qfq`：前复权；`hfq`：后复权）\n\n### Backtrader\nBacktrader 是一个用于量化交易的回测框架，支持多种交易策略的回测。\n\n![Backtrader 参数说明](https://i-blog.csdnimg.cn/blog_migrate/a50e3fb6787ae0fe6513b24d35e347b6.png)\n- **backtrader start date**：回测开始时间\n- **backtrader end date**：回测结束时间\n- **start cash**：初始资本\n- **commission fee**：交易佣金费率\n- **stake**：每次交易的买入数量\n\n### Pyecharts\nPyecharts 是一个结合了 Python 和 Echarts 的数据可视化工具，支持丰富的图表类型。\n\n![Pyecharts Kline 示例](https://i-blog.csdnimg.cn/blog_migrate/a7d7f43891664654909a4bd232dd50bc.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchenwr727%2Fstock-backtrader-web-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchenwr727%2Fstock-backtrader-web-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchenwr727%2Fstock-backtrader-web-app/lists"}