后台交易者绘图包(bokeh)

backtrader-plotting的Python项目详细描述


Backtrader_绘图

为backtrader设计插件以支持bokeh(或者更多)。

这是一个早期的发展状态。预计会出现错误、大量重组和提交重新排序。 目前,这仅限于python>;=3.6。

请随意测试和玩它。我对反馈、批评和想法很满意: https://community.backtrader.com/topic/813/bokeh-integration-interactive-webbrowser-plotting

演示

https://verybadsoldier.github.io/backtrader_plotting/

快速启动

frombacktrader_plottingimportBokehfrombacktrader_plotting.schemesimportTradimo<yourbacktradercode>b=Bokeh(style='bar',plot_mode='single',scheme=Tradimo())cerebro.plot(b)

最小示例

importdatetimeimportbacktraderasbtfrombacktrader_plottingimportBokehclassTestStrategy(bt.Strategy):params=(('buydate',21),('holdtime',6),)defnext(self):iflen(self.data)==self.p.buydate:self.buy(self.datas[0],size=None)iflen(self.data)==self.p.buydate+self.p.holdtime:self.sell(self.datas[0],size=None)if__name__=='__main__':cerebro=bt.Cerebro()cerebro.addstrategy(TestStrategy,buydate=3)data=bt.feeds.YahooFinanceCSVData(dataname="datas/orcl-1995-2014.txt",# Do not pass values before this datefromdate=datetime.datetime(2000,1,1),# Do not pass values after this datetodate=datetime.datetime(2001,2,28),reverse=False,)cerebro.adddata(data)cerebro.run()b=Bokeh(style='bar',plot_mode='single')cerebro.plot(b)

绘制优化结果

使用此包的另一种方法是调用Bokeh.plot_result。此函数还支持在优化中生成结果对象时传递该结果对象:

    ...
    cerebro.optstrategy(TestStrategy, buydate=range(1, 10, 1))
    cerebro.addanalyzer(bt.analyzers.SharpeRatio)
    ...
    res = cerebro.run()
    bo = Bokeh()
    bo.plot_result(res)

这将启动一个bokeh应用程序(独立web服务器),显示所有优化结果。

注意:将此功能与optreturn=True一起使用时,您的backtrader包必须包含我的此更改: https://github.com/verybadsoldier/backtrader/commit/f03a0ed115338ed8f074a942f6520b31c630bcfb

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在TextView中对齐部分文本   带有iText和eTPKCS11的java PKCS#11签名。dll&SunPKCS11提供程序   java Intellij Idea找不到jar   java Chrome/Firefox和Jetty HTTPS   java我无法打包找不到的JavaFX应用程序模块   多线程Java:排序从异步任务检索的结果   java客户端/服务器socket不能与外部连接一起工作   java如何在单击“下一步”按钮时获取其他详细信息?   java组织。springframework。网状物客户RestTemplate应声明为@Bean,而plain@Autowired抛出错误   java如何绘制javax。摆动将ImageIcon转换为JavaFX。fxml呈现用户界面?   使用for循环的Java跟踪   java如何编码字符串以显示彩色文本(基于字符串中的前缀)   Java保存/打开文件对象   基于java复选框的搜索:使用尽可能多的“”动态生成准备好的语句作为选中复选框的计数   java为什么crawler4j随机挂起?