Bokeh选项
原文地址:https://github.com/verybadsoldier/backtrader_plotting/wiki
Bokeh类有如下选项:
scheme
一个scheme对象,用于设置主题。filename
输出文件名plotconfig
Python字典,包含一些独立的输出选项。output_mode
“show”,“save”,"memory"之一。选择memory
直接返回结果而不保存到文件。选择save
保存文件。选择show
保存文件同时自动在浏览器中打开。
所有其他选项都被解释为主题的参数,直接修改当前使用的主体。
例子:
b = Bokeh(style='line', scheme=Blackly(), output_mode='memory', legend_text_color='#ff0000')
例2:保存结果文件到当前目录同时显示。
filename='test1.html' b=Bokeh(filename=filename,output_mode='show')
主题选项
主题选项改变结果网页渲染的方式。主题选项包括样式选项(比如颜色和背景),还包括结构化选项(比如是否自动使用tab页)。这些选项已经包含在主题中。独立的选项也可以作为Bokeh的参数。
结构化选项包括:
hover_config
控制一个用逗号分隔的字符串列表,控制哪些数据在浮动提示中显示。参考 [[# Hover Tooltips]]部分。tabs
tab页模式。可选模式包括single
和multi
。single模式下所有数据和指标放在一个标题为Plots的tab页中。multi模式下数据和指标分为不同的tab页,标题分别是Datas和Indicators。tab组可以使用plottab
选项修改。show_headline
结果页面顶端放置标题行。
Hover Tooltips
默认情况下,同一个图表中的元素会显示其对应数据的浮动提示。使用选项hover_tooltip_config
可以在提示中添加其他数据线的数据。
选项格式是一个字符串,包含一个或多个双字母字符串,用逗号分开。这里的字母必须是下列之一:
d
data feedi
指标o
观察器
例子:
b=Bokeh(hover_tooltip_config='di,io')
这个选项描述哪种类型被添加到其他类型。第一个字母是输入的线类型,第二个字母是目标线类型。
比如di
意味着在所有指标浮动提示中,除了指标本身值,还加上数据源的对应值。
通过逗号分隔的字符串列表,可以同时使用多个这种规则。例如dd,id,do
,意味着在所有数据源的浮动提示中添加其他数据源,数据源的浮动提示中添加指标值,观察器的浮动提示中添加数据源的值。
Plotting选项
backtrader_plotting支持多数backtrader内置的绘图选项,包括但不限于:
subplot
plotmaster
plotname
plot
/plotskip
- 不支持. 请使用plotabove
plotorder
plothlines
plotyhlines
plotyticks
附加参数:
plotid
:给绘制对象制定一个标志符,在其他绘制配置中可以引用。plottab
:对象绘制的目标tab页。允许自定义tab页。只对data和指标对象有效。只能对plot master对象使用。plotaspectratio
:制定自定义的特性比率。plotorder
:指定对象在一个tab页中的顺序。默认都是0。只能在data master对象使用。越小的数字顺序越靠前。
注意:
原始的backtrader不知道这些附加参数。如果直接在创造函数中调用将会产生未知参数错误。正确的方法是或者使用我的backtrader分支,或者在创建对象时手动设置参数,如下例:
ind = bt.indicators.EMA(40)
ind.plotinfo.plotid = 'myema'
绘图配置
通常backtrader中在策略代码中进行绘图配置,直接对python对象起作用。使用backtrader_plotting时,绘图配置可以和策略分离。可以在回测完成后按以下方法配置:
plotconfig = {
'id:ind#0': dict(
subplot=True,
),
}
b = Bokeh(style='bar', plot_mode='single', scheme=Tradimo(), plotconfig=plotconfig)
cerebro.plot(b)
plotconfig
是一个字典。每个关键字是一个表达式,选择要进行绘图配置的对象。字典的值是另一个字典,设置选中对象的绘图属性。
该字典的关键字格式如下:
id:<plotid>
-通过指定的plotid选择对象#:<type>-<n>
选择指定类型的第n个对象,其中类型可以是i
-指标,o
-观察器,d
-数据源。r:<regex>
一个正则表达式匹配一个或多个对象的标签。