前面的几篇文章尝试通过优化backtrader几个时间处理函数来提高效率,使用cython能提高单个函数效率但是在整体中效率降低导致失败之后,我又尝试了使用numba来改进那几个时间处理函数,也失败了。目前暂时没有找到有什么比较好的方法能够改进那几个时间转换函数,哪位大神有好的方法可以帮帮忙哦,互相帮忙。付费也行。
接下来这篇文章分析了几个数学支持函数:平均值、方差、标准差,总体上没啥含金量。在下一篇文章中,着重解析一个关键的源码文件:metabase.py
#!/usr/bin/env python
# -*- coding: utf-8; py-indent-offset:4 -*-
from __future__ import (absolute_import, division, print_function,
unicode_literals)
import math
# 看了一下,这几个函数主要用于计算一些指标使用,在主体中没有用到,注释一下,稍后回来看是否需要用cython改进,暂时没有改进的必要。
# 但是这几个函数其实可以考虑使用numpy改进一下,numpy提供了具体的函数用于计算均值,计算标准差
# 这个计算的是平均值,带了一个参数bessel,用于确定计算平均值的时候分母的值是否减去一。分子使用math.fsum用于计算和
def average(x, bessel=False):
'''
Args:
x: iterable with len
oneless: (default ``False``) reduces the length of the array for the
division.
Returns:
A float wi


