后台交易者绘图包(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中的字符串字符下打印星号(*)   java在比较数据后得到错误的结果   java如何在使用JSP创建的网站中创建父子关系和处理?   java配置单元UDF:无法执行求值方法   java GAE项目Intellij远程调试在关闭时不释放端口   java按钮上的放大和缩小功能点击JfreeChart折线图?   java Selenium Chrome Web驱动程序SessionNotCreatedException   java由ADFactoryBuilder生成的线程工厂是线程安全的吗?   java将字符串[]传递给另一个类Android(使用intent)   我为什么要嘲笑java?   JavaLiferay门户不将对象从流程阶段发送到jsp   java我想在单击每个树节点时将要添加的信息放入jpanel jscrollpane中   在Java中模拟数组引用(即对引用的引用)的按引用传递   Jackson将JSON属性反序列化为不同的Java对象   java使用JSP/servlet在网页上显示Excel工作表?   仿射变换Java:使用仿射变换时游戏速度减慢   Servlet JBoss AS 7的java EJB注入   在Oracle数据库中使用Java的plsql   java管理Maven项目中的库依赖项   JavaEclipseLink(JPA)异常:复合主键@JoinColumn