从k线图看backtrader的专业细节

从k线图看backtrader的专业细节

www.topquant.vip/?p=792

有朋友看到我最近的blog,说:《零起点》不是介绍pat(pyAlogoTrader)吗,怎么最近又看上了backtrader?

《零起点1》创作于2016年,2017出版, 当时就pat好一点, backtrader是近两年新出的。
近两年新出的量化系统很多,考察很久,免费开源的py量化系统,就backtrader这个实在,博大精深。

金融行业,k线图是最基本的要求,可是无论是matplotlib,plotly都有这样那样的bug?

零起点系列,与plotly可视化分析图书当中,我们还就gap跳空日期k线图的绘制,做过几种解决方案。

问题是,不能所有的小bug,都要求用户自己patch,何况金融行业,时间成本超高,真的是:分分钟钟几十万上下。

ps,话说,数字货币当中,币安pc端做的是非常不错的,k线图的可能也是有口皆碑。

下面,我们就k线图这个细节,谈谈backtrader量化软件的专业性。

除了普通的line线条图外,backtrader还支持:candle蜡烛图、OHLC曲线图、renko砖线图、Heiken-Ashi平均K线图。

系统还支持多种自定义功能,如:颜色。线条、字体、标记等方面的调整。

有趣的是,系统本身只支持三种内置价格曲线图:line曲线图、candle蜡烛图、OHLC曲线图。

其他几种,非常简单,很容易自己扩充,这个从侧面证明了,backtrader整体架构设计的合理,非常灵活,方便扩充,甚至是用户自己,也可以轻易进行扩充。

candle蜡烛图

renko砖线图

renko砖线图稍微复杂一点,需要在策略里面,附加一些参数。有网友,也通过这种方法,自行扩充过特殊的自定义绘图功能。

“Renko” 是来自日本”红砖”一词 ,在日语中,也有 “步调缓慢” 的意思。

renko砖线图,虽然19 世纪在日本使用,可是现代社会,包括欧美,是在 1994年,通过Steeve Nison 的图书得以知晓:《超越蜡烛条: 新日本制图技术揭密》(Beyond Candlesticks: New Japanese Charting Techniques)

Renko 图表,Renko 图表是一组垂直柱线 (“砖块”),由一系列价格波动确定的砖块构建。当价格上涨, 一块向上的砖块放置在图表中, 当下跌则加一块向下的砖块。

Renko 图表,忽略了时间线,并只关注价格走势。白色 (空心) 砖块用在趋势向上的时候, 而黑色 (实心) 砖块用在趋势下降时。构建由价格行为调整。取周期当前价格,与前一块砖的最高和最低比较 (白色或黑色)。如果股票收盘价高于它的开盘价, 绘制一块空心 (白色) 砖,其呈现出的实体底部是开盘价,实体顶部是收盘价。如果股票收盘价低于它的开盘价, 绘制一块实心 (黑色) 砖,其呈现出的实体顶部是开盘价,实体底部是收盘价。

 

Heiken-Ashi平均K线图

Heiken-Ashi平均K线图更加简单,只需要只adddata添加数据函数前,增加一个过滤命令就ok。

 

 

Heiken-Ashi平均K线图,简称H-A图, 本质上也是一种均线技术,能够滤掉噪声,滤去价格的短期波动,使你能更清楚的看清市场的主要趋势 。
H-A图,是经过视觉化处理的K线图,可用於过滤短期价格波动,得到长期趋势;有时候也可用於取代或判断价格技术形态。

ohlc曲线图

下面是参考plotly现代风格,自定义的ohlc曲线图。

综合k线图

更加强大的是,系统k线图对于各种指标,如macd、rsi,以及自定义指标的添加调整,非常方便,简单到了:令人发指的地步。

下面是张多指标参考图:混合k线图、资产曲线图,以及ma、macd、rsi、kdj等多种经典金融指标:

 

ps,作为程序员,建议大家,好好看看这些细节。

这些细节,看起来很简单,写起代码来,每一个功能都需要n日的工作量,还需要考虑系统的整合、优化、模块间的耦合,性能方面的影响。

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注