首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

BackTrader 中文文档(二十七)

如果只考虑较小的时间框架: next将在 10 个条之后首先被调用,这是简单移动平均需要产生值的时间 注意 请记住,策略监视创建的指标,并且只有在所有指标都产生值时才调用next。...较大时间框架的简单移动平均值在消耗 5 个日间条时产生 5 倍相同的值。 由于周期的开始由较大的时间框架控制,nextstart被调用了 5 次。 以及图表。...backtrader 通过将原始数据传递给一个智能命名为 DataResampler 的过滤器对象来支持重新取样。...stdstats的值更改为False(也可以在调用run时完成): cerebro = bt.Cerebro(stdstats=False) 现在图表不同了。...让我们继续使用通常的策略,当close价格高于SimpleMovingAverage时购买,反之亦然时卖出。

29400

Python 算法交易秘籍(一)

要从现有的datetime对象获取修改后的时间戳,可以使用replace()方法。在步骤 3中,您通过调用replace()方法从dt1创建一个新的datetime对象dt2。...您可以通过比较步骤 2和步骤 3的输出来确认这一点。在步骤 4中,您创建另一个datetime对象dt3。这次,您直接调用datetime构造函数。...还有更多 当将字符串读入datetime对象时,应使用适当的指令消耗整个字符串。部分消耗字符串将引发异常,如下面的代码片段所示。...还有更多 当创建一个DataFrame对象时,会自动分配一个索引,这是所有行的地址。前面示例中最左边的列是索引列。默认情况下,索引从0开始。...第一次是当订单进入持仓时,而第二次是当订单退出持仓时。要获取所收取的佣金的确切细节,请参考您的经纪人提供的费用清单。

79450
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Pandas 2.2 中文官方教程和指南(九·三)

    当迭代 Series 时,它被视为类似数组,基本迭代会产生数值。DataFrame 遵循字典的惯例,迭代对象的“键”。...这比iterrows()快得多,并且在大多数情况下,最好使用它来迭代 DataFrame 的值。 警告 通过 pandas 对象进行迭代通常较慢。...在许多情况下,不需要手动遍历行,并且可以通过以下方法之一避免: 寻找矢量化解决方案:许多操作可以使用内置方法或 NumPy 函数(布尔)索引等来执行,… 当您有一个无法一次处理完整 DataFrame...当列数较多(>255)时,将返回常规元组。...copy()方法会复制基础数据(尽管不会复制轴索引,因为它们是不可变的),并返回一个新对象。

    29300

    Python面向对象的魔术方法

    hash 使用内置函数hash对某个对象求hash值时, 会调用对象的__hash__方法,示例代码如下 In [1]: class Point: ...: def __hash__(self...class Sized: def __len__(self): return 10 len(Sized()) # 返回10 bool 当对象o实现了__bool__ 方法时,... called 一个对象,只要实现了__call__方法, 就可以通过小括号来来调用, 这一类对象,称之为可调用对象 给对象加上函数也就是对...setattr(x, ‘y’, v)等效于x.y = v hasattr:hasattr(obj, name, /) 主要作用是通过对象的成员名称获取对象的成员 class Point: def...即访问不存在的成员,会调用__getattr__方法 当一个类实现了__setattr__时, 任何地方对这个类的对象增加属性,或者对现有属性赋值,都会调用__setattr__ class A:

    75510

    Pandas 2.2 中文官方教程和指南(二十一·一)

    新窗口对象上的方法必须首先调用聚合方法以“启动”在线计算的初始状态。然后,可以通过update参数传递新的DataFrame或Series对象来继续窗口计算。...当ignore_na=False(默认)时,权重是基于绝对位置计算的,因此中间的空值会影响结果。当ignore_na=True时,通过忽略中间的空值来计算权重。...这些新窗口对象上的方法必须首先调用聚合方法来“启动”在线计算的初始状态。然后,可以通过update参数传入新的DataFrame或Series对象,以继续进行窗口计算。...当ignore_na=False(默认值)时,权重是基于绝对位置计算的,因此中间空值会影响结果。当ignore_na=True时,权重是通过忽略中间空值计算的。...[ns] 当传递到这些构造函数时,Series和DataFrame在datetime、timedelta和Period数据方面具有扩展的数据类型支持和功能。

    36100

    还在抱怨pandas运行速度慢?这几个方法会颠覆你的看法

    作者:xiaoyu 知乎:https://zhuanlan.zhihu.com/pypcfx 介绍:一个半路转行的数据挖掘工程师 ▍前言 当大家谈到数据分析时,提及最多的语言就是Python和SQL。...将datetime数据与时间序列一起使用的优点 进行批量计算的最有效途径 通过HDFStore存储数据节省时间 ▍使用Datetime数据节省时间 我们来看一个例子。...因此,对于时间序列的数据而言,我们需要让上面的date_time列格式化为datetime对象数组(pandas称之为时间戳)。...在apply_tariff_isin中,我们仍然可以通过调用df.loc和df.index.hour.isin三次来进行一些“手动工作”。...如果我们有更精细的时隙范围,你可能会争辩说这个解决方案是不可扩展的。

    3.5K10

    这几个方法颠覆你对Pandas缓慢的观念!

    作者:xiaoyu 知乎:https://zhuanlan.zhihu.com/pypcfx 介绍:一个半路转行的数据挖掘工程师 ▍前言 当大家谈到数据分析时,提及最多的语言就是Python和SQL。...将datetime数据与时间序列一起使用的优点 进行批量计算的最有效途径 通过HDFStore存储数据节省时间 ▍使用Datetime数据节省时间 我们来看一个例子。...因此,对于时间序列的数据而言,我们需要让上面的date_time列格式化为datetime对象数组(pandas称之为时间戳)。...在apply_tariff_isin中,我们仍然可以通过调用df.loc和df.index.hour.isin三次来进行一些“手动工作”。...如果我们有更精细的时隙范围,你可能会争辩说这个解决方案是不可扩展的。

    2.9K20

    Pandas 2.2 中文官方教程和指南(九·一)

    例如,当添加两个 DataFrame 对象时,您可能希望将 NaN 视为 0,除非两个 DataFrame 都缺少该值,此时结果将为 NaN(如果需要,您可以稍后使用 fillna 将 NaN 替换为其他值...对于探索性分析,你几乎不会注意到差异(因为reindex已经经过了大量优化),但是当 CPU 周期很重要时,偶尔在某些地方添加一些显式的reindex调用可能会产生影响。...copy()方法会复制底层数据(尽管不会复制轴索引,因为它们是不可变的)并返回一个新对象。...的列数可以通过调用DataFrame.dtypes.value_counts()来找到。...例如,当添加两个 DataFrame 对象时,您可能希望将 NaN 视为 0,除非两个 DataFrame 都缺少该值,此时结果将为 NaN(如果需要,您可以稍后使用 fillna 将 NaN 替换为其他值

    19900

    Python语法基础快速回顾

    函数和对象方法调用 你可以用圆括号调用函数,传递零个或几个参数,或者将返回值给一个变量: result = f(x, y, z) g() 几乎Python中的每个对象都有附加的函数,称作方法,可以用来访问对象的内容...当你将对象作为参数传递给函数时,新的局域变量创建了对原始对象的引用,而不是复制。...例如,你可以通过验证一个对象是否遵循迭代协议,判断它是可迭代的。...因为datetime.datetime是不可变类型,上面的方法会产生新的对象。...当使用and和or时,复合条件语句是从左到右执行,也可以把比较式串在一起: In [120]: 4 > 3 > 2 > 1 Out[120]: True for循环 for循环是在一个集合(列表或元组)

    1.3K30

    数据处理利器pandas入门

    因为Pandas中数据操作依赖于数据结构对象。Pandas中最常用的数据结构是 Series 和 DataFrame。这里可以将 Series和 DataFrame分别看作一维数组和二维数组。...DataFrame的创建有多种方式,比较常用的是通过字典的方式创建,此外,还可以给定数组,通过指定columns和index参数创建: d1=pd.DataFrame({'one':[1,3,5], '...当所选择的项不存在时会诱发异常。...可调用函数 传入可调用函数给 .iloc,函数返回值应为:单个整数,整数数组,数组切片或者逻辑数组。...此外,也可以对单个站点分时刻计算,比如: data['1001A'].resample('6h').mean() # 针对1001A站点,进行每6小时求平均 .resample 是重采样方法,其返回一个对象

    3.7K30

    NumPy 秘籍中文第二版:十、Scikits 的乐趣

    根据操作系统的不同,此选项可能可用也可能不可用,但它应该是最方便的方法。 Windows 用户只需从项目网站下载安装程序即可。...例如,R 启发了 Pandas 的核心DataFrame对象。 操作步骤 在 PyPi 上,该项目称为pandas。...DataSet对象具有名为exog的属性,当作为 Pandas 对象加载时,该属性将成为具有多个列的DataFrame对象。 在我们的案例中,它还有一个endog属性,其中包含世界铜消费量的值。...通过创建OLS对象并调用其fit()方法来执行普通的最小二乘计算,如下所示: x, y = data.exog, data.endog fit = statsmodels.api.OLS(y, x)....我们将通过创建 Pandas DataFrame并调用其resample() 方法来做到这一点: 在创建 Pandas DataFrame之前,我们需要创建一个DatetimeIndex对象传递给DataFrame

    3K20

    Pandas

    loc属性:解释为标签 iloc属性:解释为下标 向DataFrame对象中写入值时只使用方法2 行/列索引部分可以是常规索引、切片、布尔值索引、花式索引任意搭配。...Jan 2nd") # 这中间的时间格式一定要是英文格式 运行结果: datetime.datetime(2019, 1, 2, 0, 0) 成组处理时间对象:pandas pd.to_datetime...datetime对象作为索引时是存储在DatetimeIndex对象中的。...数组 5.3apply GroupBy当中自由度最高的方法就是apply,它会将待处理的对象拆分为多个片段,然后各个片段分别调用传入的函数,最后将它们组合到一起。...以上top函数是在DataFrame的各个片段上调用,然后结果又通过pandas.concat组装到一起,并且以分组名称进行了标记。

    1.6K11

    【数据分析从入门到“入坑“系列】利用Python学习数据分析-Python语法基础

    一些人习惯在代码之前添加注释,前者这种方法有时也是有用的: print("Reached this line") # Simple status report 函数和对象方法调用 你可以用圆括号调用函数...例如,你可以通过验证一个对象是否遵循迭代协议,判断它是可迭代的。...例如,当写一个函数,任何副作用都要在文档或注释中写明。如果可能的话,我推荐避免副作用,采用不可变的方式,即使要用到可变对象。...因为datetime.datetime是不可变类型,上面的方法会产生新的对象。...当使用and和or时,复合条件语句是从左到右执行: In [117]: a = 5; b = 7 ​ In [118]: c = 8; d = 4 ​ In [119]: if a

    93630

    python数据分析系列(1)

    并且每个对象都有自己的方法可以通过.来访问。 注释: 可以通过#来为代码添加注释 函数和对象方法的调用: 用圆括号调用函数,传递零个或几个参数,或者将返回值给一个变量通过"."...当你将对象作为参数传递给一个函数时,在函数内使用新的局域变量创建了对原始对象的引用,而不是复制(传值还是传引用这取决于传入的参数是可变对象还是不可变对象)。...例如,你可以通过验证一个对象是否遵循迭代协议,判断它是可迭代的。...因为datetime.datetime是不可变类型,上面的方法会产生新的对象。...两个datetime对象的差会产生一个datetime.timedelta类型: Python控制流 if后面可以跟一个或多个elif,所有条件都是False时,还可以添加一个else 可以用continue

    81620
    领券