# Python金融绘图与回测 **Repository Path**: goufeng928/python-financial-drawing-and-backtesting ## Basic Information - **Project Name**: Python金融绘图与回测 - **Description**: Python金融绘图与回测 - **Primary Language**: Python - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2022-10-04 - **Last Updated**: 2023-12-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: Python, matplotlib ## README # Python金融绘图与回测 #### 介绍 * 之前使用过 Backtrader 但发现其实并不好用,经常遇到只需要简单的定制化某个功能,但为了达到这个目的,往往要修改库文件里面大堆代码,得不偿失 * 并且 Backtrader 中的技术指标是引用 TA-Lib 中的技术分析库,这个库在 Linux 下部署也比较麻烦,为了简化这个过程,索性自己写代码来做回测分析。 * 仅用3个文件就将回测功能实现,除了 matplotlib,没有借助其它外部库,大部分使用 Python 原生功能,也避免了 Python 版本更新,大量库出错。 * 特此提醒 : 回测的目的是为了总结现有方法中较明显的缺陷,若把回测逻辑放到现实操盘中,造成亏损,与本人无关。 * 目前只涵盖了 MA, EMA, MACD, 蜡烛图 本人也在持续更新中,目前的代码仅为了个人使用方便。 #### 文件说明 * DataProcessing.py -------------------- 数据处理文件,调用了 Python 的原生 datetime 库来处理时间。 * GFTA.py ------------------------------ 技术指标计算,调用了 DataProcessing.py 中返回的数据。 ------------------------------ 目前包含了 MA、EMA、MACD 后续会持续增加。 * MatplotlibToDraw.py ------------------ 绘图和回测都放在里面了,调用了 DataProcessing.py 和 GFTA.py 中的数据。 * 000422.csv --------------------------- 用于回测的样例数据,可以傻瓜式的将其它股票数据按这个格式、列顺序排列,覆盖直接用。 * 回测方面的代码仅仅写了个例子放在里面,具体需要什么样的买入和卖出条件,需要自行编写。 #### 环境配置 1. Python 3.8.0 2. matplotlib 3.2.2 说明 : 理论上不限定版本,因为除了 matplotlib 以外,都是使用内置函数和标准库,但如果新版 matplotlib 有更新,则只需修改 matplotlib 部分代码。 #### 使用说明 可以调用使用,比如配置有 Python 环境的 Linux 系统,可以用来定时运行,配合 Tushare 的数据,实现买卖点自动跟踪,并借用 Twilio 实现短信提醒。 我本人更多的用法是打开 MatplotlibToDraw.py 文件,进入编辑界面,按 F5 直接运行,用来验证思路的正确性, #### 参与贡献 仓库创建 : Gou Feng 代码编写 : Gou Feng