1. 導讀
兼容backtrader, pyfolio, zipline, yfinance的安裝版本
save Backtrader and Pyfolio plot image 储存backtrader和pyfolio的图片
2. 前言
所謂一步一坑,當項目要自動化部署時,就要自己填坑了。
3. 安裝流程
3.1 Dockerfile
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | FROM amd64 /python :3.6 ENV PYTHONUNBUFFERED 1 RUN pip install --upgrade pip COPY requirements1.txt /app/requirements1 .txt COPY requirements2.txt /app/requirements2 .txt ADD .fix /app/ .fix WORKDIR /app RUN pip install --no-cache- dir -r requirements1.txt RUN pip install --no-cache- dir -r requirements2.txt --no-dependencies ADD .fix /usr/local/lib/python3 .6 /site-packages CMD [ "-h" ] ENTRYPOINT [ "/usr/local/bin/python" ] |
有兩點注意事項:
a. yfinance要另外安裝,因它不支援舊版的pandas。
b. /.fix/ 是修改過的site-packages。因要支持backtrader使用zipline,pyfolio,PyPortfolioOpt來繪圖。
庫 | site-packages |
1. backtrader | /backtrader/plot/locator.py |
2. pyfolio |
/pyfolio/plotting.py |
3. yfinance | /yfinance/base.py |
3.2 requirements1.txt
1 2 3 4 5 6 7 8 9 10 | backtrader==1.9.76.123 pyfolio==0.9.2 zipline==1.3.0 pandas==0.22.0 PyPortfolioOpt==1.5.2 mplfinance==0.12.9b7 multitasking==0.0.11 deap==1.3.3 Flask==2.0.3 mysql-connector-python==8.0.33 |
注意,必需是這版本的backtrader,zipline,pyfolio,PyPortfolioOpt才能兼容。
3.2 requirements2.txt
1 | yfinance==0.1.70 |
暇後是獨立安裝,不支持舊版的庫。
3.3 build & run docker
1 | docker build -t dbpower /backtrader :3.6.a . |
build docker image
1 | docker run -it dbpower /backtrader :3.6.a /bin/bash |
inside docker image
1 | docker run --name dbpower_backtrader_001 -- rm -t - v ~ /PycharmProjects/dbpower .backtrader.001 /app : /app dbpower /backtrader :3.6.a /app/main .py >> ~ /PycharmProjects/dbpower .backtrader.001 /log/main_ ` date +\%Y\%m\%d_\%H\%M\%S`.log 2>&1 |
run *.py
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具