数据Data Feeds的各种过滤器功能 – backtrader中文教程
会话过滤器
class backtrader.filters.SessionFilter(data)
此类可以作为过滤器应用于数据源,并将过滤掉常规交易时段之外的日内柱(即:前/后市场数据)
这是一个“非简单”过滤器,必须管理数据堆栈(在 init 和call期间传递)
它不需要“最后”方法,因为它没有什么可交付的
SessionFilterSimple
class backtrader.filters.SessionFilterSimple(data)
此类可以作为过滤器应用于数据源,并将过滤掉常规交易时段之外的日内柱(即:前/后市场数据)
这是一个“简单”过滤器,不得管理数据堆栈(在 init 和call期间传递)
它不需要“最后”方法,因为它没有什么可交付的
条形管理将由在 DataBase.addfilter_simple 调用期间添加的 SimpleFilterWrapper 类完成
会话填充器
class backtrader.filters.SessionFiller(data)
声明的会话开始/结束时间内数据源的填充条。
填充条是使用声明的数据源构建的,timeframe
并且compression
(用于计算中间的缺失时间)
参数:
- 填充价格(定义:None):
如果 None 被传递,将使用前一个柱的收盘价。最后得到一个条形图,例如需要时间但它没有显示在图中……使用 float(‘Nan’)
- fill_vol (def: float(‘NaN’)):
用于填充缺失体积的值
- fill_oi (def: float(‘NaN’)):
用于填补缺失的未平仓合约的价值
- skip_first_fill (def: True):
看到第一个有效柱后,从sessionstart到该柱没有填充
日历-天
class backtrader.filters.CalendarDays(data)
Bar Filler 将缺失的日历日添加到交易日
参数:
- 填充价格(定义:None):
0:给定值填充 0 或无:使用最后一个已知收盘价 -1:使用最后一根柱的中点(高-低平均)
- fill_vol (def: float(‘NaN’)):
用于填充缺失体积的值
- fill_oi (def: float(‘NaN’)):
用于填补缺失的未平仓合约的价值
BarReplayer_Open
class backtrader.filters.BarReplayer_Open(data)
此过滤器将条分成两部分:
Open
: 柱的开盘价将用于交付四个组成部分 (OHLC) 相等的初始价格柱此初始柱的交易量/未平仓量字段为 0
OHLC
: 原条与原条一起交付volume
/openinterest
拆分模拟重播,无需使用重播过滤器。
DaySplitter_Close
class backtrader.filters.DaySplitter_Close(data)
将每日柱分成两部分,模拟 2 个报价,用于重播数据:
- 第一个勾:
OHLX
将
Close
替换为的平均值, 并且Open
High
Low
会话打开时间用于此刻度
和
- 第二个勾:
CCCC
价格将
Close
用于价格的四个组成部分会话关闭时间用于此刻度
交易量将使用以下参数在 2 个刻度之间分配:
closevol
(默认0.5
值:)该值指示必须将哪个百分比(从 0.0 到 1.0 的绝对值)分配给收盘 价。其余的将分配给OHLX
刻度。
此过滤器旨在与 cerebro.replaydata
HeikinAshi
class backtrader.filters.HeikinAshi(数据)
过滤器对开、高、低、关进行改造以制作 HeikinAshi 烛台
看:
* [https://en.wikipedia.org/wiki/Candlestick_chart#Heikin_Ashi_candlesticks](https://en.wikipedia.org/wiki/Candlestick_chart#Heikin_Ashi_candlesticks) * [http://stockcharts.com/school/doku.php?id=chart_school:chart_analysis:heikin_ashi](http://stockcharts.com/school/doku.php?id=chart_school:chart_analysis:heikin_ashi)
Renko
class backtrader.filters.Renko(data)
修改数据流以绘制 Renko 条(或砖)
参数:
hilo
(默认值:False)使用 high 和 low 而不是 close 来决定是否需要新砖size
(默认值:无)每块砖要考虑的大小autosize
(默认值:20.0)如果size是None,这将用于自动计算砖块的大小(只需将当前价格除以给定值)dynamic
(默认值:False)如果为True并使用autosize,则在移动到新砖块时将重新计算砖块的大小。这当然会消除 Renko 砖的完美对齐。align
(默认值:1.0)用于对齐砖块价格边界的因子。例如,如果价格为3563.25且align为 10.0,则生成的对齐价格将为3560。计算:- 3563.25 / 10.0 = 356.325
- 四舍五入并删除小数 -> 356
- 356 * 10.0 -> 3560
看:
* [http://stockcharts.com/school/doku.php?id=chart_school:chart_analysis:renko](http://stockcharts.com/school/doku.php?id=chart_school:chart_analysis:renko)