本节介绍如何使用收盘价的SMA价格的策略

from pyalgotrade import strategy
from pyalgotrade.barfeed import yahoofeed
from pyalgotrade.technical import ma class MyStrategy(strategy.BacktestingStrategy):
def __init__(self, feed, instrument):
super(MyStrategy, self).__init__(feed)
# We want a 15 period SMA over the closing prices.
self.__sma = ma.SMA(feed[instrument].getCloseDataSeries(), 15)
self.__instrument = instrument def onBars(self, bars):
bar = bars[self.__instrument]
self.info("%s %s" % (bar.getClose(), self.__sma[-1])) # Load the yahoo feed from the CSV file
feed = yahoofeed.Feed()
feed.addBarsFromCSV("orcl", "orcl-2000.csv") # Evaluate the strategy with the feed's bars.
myStrategy = MyStrategy(feed, "orcl")
myStrategy.run()

这与前面的例子非常相似,只是:

  • 用收盘价格数据系列中初始化SMA过滤器。
  • 打印当前的SMA值以及收盘价。
    如果您运行脚本,您应该看到收盘价格和相应的SMA值,但在这种情况下,前14个SMA值为空。那是因为我们需要至少15个值来求取SMA:
    2000-01-03 00:00:00 strategy [INFO] 118.12 None
    2000-01-04 00:00:00 strategy [INFO] 107.69 None
    2000-01-05 00:00:00 strategy [INFO] 102.0 None
    2000-01-06 00:00:00 strategy [INFO] 96.0 None
    2000-01-07 00:00:00 strategy [INFO] 103.37 None
    2000-01-10 00:00:00 strategy [INFO] 115.75 None
    2000-01-11 00:00:00 strategy [INFO] 112.37 None
    2000-01-12 00:00:00 strategy [INFO] 105.62 None
    2000-01-13 00:00:00 strategy [INFO] 105.06 None
    2000-01-14 00:00:00 strategy [INFO] 106.81 None
    2000-01-18 00:00:00 strategy [INFO] 111.25 None
    2000-01-19 00:00:00 strategy [INFO] 57.13 None
    2000-01-20 00:00:00 strategy [INFO] 59.25 None
    2000-01-21 00:00:00 strategy [INFO] 59.69 None
    2000-01-24 00:00:00 strategy [INFO] 54.19 94.2866666667
    2000-01-25 00:00:00 strategy [INFO] 56.44 90.1746666667
    .
    .
    .
    2000-12-27 00:00:00 strategy [INFO] 30.69 29.9866666667
    2000-12-28 00:00:00 strategy [INFO] 31.06 30.0446666667
    2000-12-29 00:00:00 strategy [INFO] 29.06 30.0946666667

作者:readilen
链接:http://www.jianshu.com/p/7a9e2635bfa1
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

PyalgoTrade 计算权重平滑平均价(三)的更多相关文章

  1. 使用excel计算指数平滑和移动平均

      指数平滑法 原数数据如下: 点击数据——数据分析 选择指数平滑 最一次平滑 由于我们选择的区域是B1:B22,第一个单元格“钢产量”,被当做标志,所以我们应该勾选标志.当我们勾选了标志后,列中的第 ...

  2. HTML+CSS基础 权重的计算 权重计算规则

    权重的计算 将选择器上面的选择器进行叠加,叠加后的总和就是该选择器的权重. 权重计算规则

  3. php 简单计算权重的方法(适合抽奖类的应用)

    //简单权重计算器 $data222=array(     0=>array('id'=>1,'name'=>'一等奖','weight'=>'3'),     1=>a ...

  4. JavaScript计算平方数的三种方法

    console.log(2*10**3) console.log(2*Math.pow(10,3)) console.log(2e3) console.log(2*1e3) console.log(2 ...

  5. 全国高校绿色计算大赛 预赛第三阶段(Python)(随机数)

    只提交了随机数 (真心不会 T-T ) import csv import random import pandas as pd import numpy as np # 预测结果文件:src/ste ...

  6. JS简单实现:根据奖品权重计算中奖概率实现抽奖的方法

    本文主要介绍:使用 JS 根据奖品权重计算中奖概率实现抽奖的方法. 一.示例场景 1.1.设置抽奖活动的奖项名称 奖项名称:["一等奖", "二等奖", &qu ...

  7. 文本分类学习(三) 特征权重(TF/IDF)和特征提取

    上一篇中,主要说的就是词袋模型.回顾一下,在进行文本分类之前,我们需要把待分类文本先用词袋模型进行文本表示.首先是将训练集中的所有单词经过去停用词之后组合成一个词袋,或者叫做字典,实际上一个维度很大的 ...

  8. Friends and Berries URAL - 2067 (计算三点共线和计算的时候的注意点)

    题目链接:https://cn.vjudge.net/problem/URAL-2067 具体思路:判断三点共线就可以了,只有一对点能满足,如果一对就没有那就没有满足的. 在计算的时候,要注意,如果是 ...

  9. Holt Winter 指数平滑模型

    1 指数平滑法 移动平均模型在解决时间序列问题上简单有效,但它们的计算比较难,因为不能通过之前的计算结果推算出加权移动平均值.此外,移动平均法不能很好的处理数据集边缘的数据变化,也不能应用于现有数据集 ...

随机推荐

  1. Docker Compose 入门使用指南

    Compose is a tool for defining and running multi-container Docker applications. With Compose, you us ...

  2. 通过CFX发布WebService(一)

    发布WebService的方法很多.如XFire,CFX等.现在首先介绍下怎样通过CFX来发部一个WebService. (1) 首先,是从Apache官方网站获取CFX的Java包.其地址是:htt ...

  3. 理解Linux系统中的load average(图文版)

    本文转自:http://heipark.iteye.com/blog/1340384 一.什么是load average? linux系统中的Load对当前CPU工作量的度量 (WikiPedia: ...

  4. java -- JVM的符号引用和直接引用

    在JVM中类加载过程中,在解析阶段,Java虚拟机会把类的二级制数据中的符号引用替换为直接引用. 1.符号引用(Symbolic References): 符号引用以一组符号来描述所引用的目标,符号可 ...

  5. Gulp和Webpack对比

    在现在的前端开发中,前后端分离.模块化开发.版本控制.文件合并与压缩.mock数据等等一些原本后端的思想开始逐渐渗透到“大前端”的开发中.前端开发过程越来越繁琐,当今越来越多的网站已经从网页模式进化到 ...

  6. Python笔记 #08# NumPy: Statistic Basis

    数据分析的基本步骤: 了解你的数据(get to know your data), 做一些统计学处理(像僵尸一样盯着数字不会带给你任何灵感!) 实现可视化(get a better feeling f ...

  7. linux读书笔记第三章

    第3章 进程管理20 3.1 进程20 进程就是处于执行期的程序(目标码存放在某种存储介质上),但进程并不仅仅局限于一段可执行程序代码.通常进程还要包含其他资源,像打开的文件,挂起的信号,内核内部数据 ...

  8. HDU 4370 0 or 1(转化为最短路)题解

    思路:虽然是最短路专题里的,但也很难想到是最短路,如果能通过这些关系想到图论可能会有些思路.我们把X数组看做邻接矩阵,那么三个条件就转化为了:1.1的出度为1:2.n的入度为1:3.2~n-1的出度等 ...

  9. Coursera SDN M1.2.1 SDN History: Programmable Networks 1

    接上第二点 NOTE (2)active networks => Programmability in networks(1990s) Sturcture: What are active ne ...

  10. POJ 3613 Cow Relays(floyd+快速幂)

    http://poj.org/problem?id=3613 题意: 求经过k条路径的最短路径. 思路: 如果看过<矩阵乘法在信息学的应用>这篇论文就会知道 现在我们在邻接矩阵中保存距离, ...