Gojira 哥斯拉Gojira 哥斯拉

哥斯拉爱好者的日常
生活相当无趣 我得找点乐子

真把今天当半个周末过了,折腾backtrader

gojira.net

2022年01月19日 星期三 农历二〇二一年腊月十七日 [牛年] 阳历辛丑年辛丑月壬申日 魔羯座

今天5~15度,晴转多云。

昨晚才说吃过晚饭后感觉明天是周末一样,一下就放松下来了,还好后来及时改正过来了,却没想到今天还是过成了半个周末,下午3点就开着车到处转了,放松回来后精力还是不集中,浪费了一个晚上的时间,又凌晨了……

今天上午抽时间初步折腾了一下backtrader,用最简单的例子做了个回测:bdf430c7

用backtrader简单例子做了个回测第一次折腾backtrader,画出第一个图来来挺开心,对于懂的人来说这是太简单的东西,但我仍然很高兴。不知道啥时候能真正用上。

今天第一次在跑backtrader时发现只要是运行到cerebro.plot()就会出现一堆错误,仅核心报错摘要如下:

from matplotlib.dates import (HOURS_PER_DAY, MIN_PER_HOUR, SEC_PER_MIN,
ImportError: cannot import name 'warnings' from 'matplotlib.dates' (X:\Python\env\backtrader\lib\site-packages\matplotlib\dates.py)

第一次看都觉得头大,觉得肯定解决不了,google了一下,发现原因其实很简单,只是由于matplotlib版本太高,只要降配到3.2.2版本即可:
pip uninstall matplotlib
pip install matplotlib=3.2.2
然而直接降低版本的话,担心会出其他莫名奇妙的问题,后来发现一种简单的办法,其实报错的地方很明显,是warnings库出问题了。
打开文件:X:\Python\env\backtrader\Lib\site-packages\backtrader\plot\locator.py 大概第35行,需要修改的内容如下:

from matplotlib.dates import (HOURS_PER_DAY, MIN_PER_HOUR, SEC_PER_MIN,
                              MONTHS_PER_YEAR, DAYS_PER_WEEK,
                              SEC_PER_HOUR, SEC_PER_DAY,
                              num2date, rrulewrapper, YearLocator,
                              MicrosecondLocator, warnings)

既然是matplotlib中的warnings出了问题,那就不引用它,warnings是python的标准库,所以直接引用系统的就行,修改这行代码如下即可:

from matplotlib.dates import (HOURS_PER_DAY, MIN_PER_HOUR, SEC_PER_MIN,
                              MONTHS_PER_YEAR, DAYS_PER_WEEK,
                              SEC_PER_HOUR, SEC_PER_DAY,
                              num2date, rrulewrapper, YearLocator,
                              MicrosecondLocator)
import warnings

修改好后就顺利画出上图了。

最后、随口一句:估计最近又会有地震了……

2022年01月19日股票亏盈情况

股票股数今涨幅%今盈亏额总涨幅%总盈亏金额
泰禾集团260002.46%1554元-62.29%-106912元
双鹭药业225500.09%220元-13.90%-39553元
嘉诚国际7000-0.39%-769元-26.76%-71750元
罗牛山160000.14%159元-11.40%-14592元
三全食品30000.39%208元-39.20%-34494元
江西铜业6000-0.84%-1132元-24.83%-44154元
紫金矿业12000-0.50%-596元-29.88%-50568元
罗普特40000.57%520元-45.30%-75932元
诺泰生物30003.90%4768元-45.73%-107010元
园林股份30001.91%899元-11.21%-6051元
清仓盈亏:-177963.6元今盈亏:5831元总盈亏:-728979.6元

上证指数:3558.18点,涨跌-11.73点,涨幅-0.33%
今日上涨股票 2381 支,涨停 71 支
今日下跌股票 2179 支,跌停 20 支

GOJIRA.NET原创文章未经允许不得转载! 当前页面:Gojira 哥斯拉 » 真把今天当半个周末过了,折腾backtrader

评论 7

  1. 表示看不懂,飘过。

    Mr.Chou VIP 贵宾 2022.01.20 20:12:46 回复
  2. 这个回测也太惨了点。有位博主搞了个双均线策略交易etf,年化15%,有点牛逼。

    SKYue 2022.01.20 14:01:57 回复
    • 这是个最最最简单的示例而已,结果不重要,重要的是折腾顺利起了个头。

      高飞 博 主 2022.01.20 22:04:18 回复
  3. 厉害啊

    亮娃子日志 VIP 贵宾 2022.01.20 13:17:26 回复
  4. 这个看起来牛

    流金岁月 SVIP 元老 2022.01.20 10:38:29 回复
  5. 折腾折腾脑袋更有活力。

    子痕 VIP 贵宾 2022.01.20 09:09:09 回复
  6. 不明觉厉~  ̄□ ̄||

    sunnywolf L1 初出茅庐 2022.01.20 07:54:00 回复