PyAlgoTrade Hello World 第一个程序(一)
本教程的目标是快速介绍PyAlgoTrade。PyAlgoTrade的目标是帮助您实现股票交易策略。假设您有一个交易策略的想法,并且您希望使用历史数据进行评估,并查看其行为方式,那么PyAlgoTrade应该允许您以最小的努力来做到这一点。
本教程是在UNIX环境中开发的,但将其适应Windows环境的步骤应该很简单。
PyAlgoTrade有6个主要组件:
- 策略(Strategies)
- 数据集(Feeds)
- 券商(Brokers)
- DataSeries
- 技术指标
- 优化
策略
这些是您定义的实现交易逻辑的类。何时购买,何时出售等
数据集
这些是提供抽象的数据。例如,您将使用CSV提要,从CSV(逗号分隔值)格式化的文件中加载条来将数据提供给策略。饲料不限于酒吧。例如,有一个Twitter Feed可以将Twitter事件纳入交易决策。
券商
经纪人负责执行订单。
DataSeries
数据系列是用于管理时间序列数据的抽象。
技术指标
这些是用于在DataSeries之上进行计算的一组过滤器。例如SMA(简单移动平均),RSI(相对强度指数)等。这些过滤器被建模为DataSeries装饰器。
优化
这些是一组允许您在不同计算机或在同一台计算机中运行的不同进程之间进行回测的方法,或两者的组合。它们使水平缩放变得容易。
说完这一切,我们需要测试我们的策略的第一件事是一些数据。让我们使用Oracle 2000年的股票价格,我们将使用以下命令下载:
from pyalgotrade.tools import yahoofinance;
yahoofinance.download_daily_bars('orcl',2000,'orcl-2000.csv') dw = pd.read_csv("orcl-2000.csv") dw
Date Open High Low Close Volume Adj Close
0 2000-12-29 30.875000 31.312500 28.6875 29.062500 31702200 26.469546
1 2000-12-28 30.562500 31.625000 30.3750 31.062500 25053600 28.291106
2 2000-12-27 30.375000 31.062500 29.3750 30.687500 26437500 27.949563
3 2000-12-26 31.500000 32.187500 30.0000 30.937500 20589500 28.177258
4 2000-12-22 30.375000 31.984301 30.0000 31.875000 35568200 29.031115
5 2000-12-21 27.812500 30.250000 27.3125 29.500000 46719700 26.868012
6 2000-12-20 28.062500 29.812500 27.5000 28.500000 54440500 25.957232
7 2000-12-19 31.812500 33.125000 30.1250 30.625000 58653700 27.892640
8 2000-12-18 30.000000 32.437500 29.9375 32.000000 61640100 29.144962
9 2000-12-15 29.437500 30.078100 28.1875 28.562500 120004000 26.014156
10 2000-12-14 29.250000 29.937500 27.2500 27.500000 45894400 25.046452
11 2000-12-13 31.937500 32.000000 28.2500 28.375000 37933600 25.843385
12 2000-12-12 31.875000 32.500000 30.4062 30.750000 26481200 28.006487
13 2000-12-11 30.500000 32.250000 30.0000 31.937500 50279700 29.088039
14 2000-12-08 30.062500 30.625000 29.2500 30.062500 40052600 27.380326
15 2000-12-07 29.625000 29.937500 28.1250 28.312500 41088300 25.786461
16 2000-12-06 31.187500 31.625000 29.3125 30.187500 42125600 27.494173
17 2000-12-05 29.437500 31.500000 28.8750 31.500000 59754700 28.689572
18 2000-12-04 26.250000 28.875000 26.1875 28.187500 40710400 25.672613
19 2000-12-01 26.375000 27.875000 25.5000 26.437500 48663500 24.078748
20 2000-11-30 21.750000 27.625000 21.5000 26.500000 84386200 24.135672
21 2000-11-29 23.187500 23.625000 21.8125 22.875000 75409600 20.834094
22 2000-11-28 23.500000 23.812500 22.2500 22.656200 43075300 20.634816
23 2000-11-27 25.437500 25.812500 22.8750 23.125000 45665200 21.061789
24 2000-11-24 23.312500 24.250000 23.1250 24.125000 22443900 21.972569
25 2000-11-22 23.625000 24.062500 22.0625 22.312500 53315300 20.321780
26 2000-11-21 24.812500 25.625000 23.5000 23.875000 58647400 21.744874
27 2000-11-20 24.312500 25.875000 24.0000 24.750000 89778400 22.541807
28 2000-11-17 26.937500 29.250000 25.2500 28.812500 59636000 26.241851
29 2000-11-16 28.750000 29.812500 27.2500 27.375000 37986600 24.932604
... ... ... ... ... ... ... ...
222 2000-02-14 60.875000 62.250000 58.6250 62.187500 37599800 28.319568
223 2000-02-11 62.500000 64.750000 58.7500 59.687500 55774000 27.181093
224 2000-02-10 60.000000 62.625000 58.0000 62.312500 45288600 28.376492
225 2000-02-09 60.062500 61.312500 58.8125 59.937500 52471600 27.294940
226 2000-02-08 60.750000 61.437500 59.0000 59.562500 55718000 27.124169
227 2000-02-07 59.312500 60.000000 58.8750 59.937500 44691200 27.294940
228 2000-02-04 57.625000 58.250000 56.8125 57.812500 40916000 26.327236
229 2000-02-03 55.375000 57.000000 54.2500 56.687500 55533200 25.814923
230 2000-02-02 54.937500 56.000000 54.0000 54.312500 63933000 24.733371
231 2000-02-01 51.250000 54.312500 50.0000 54.000000 57105600 24.591062
232 2000-01-31 47.937500 50.125000 47.0625 49.953098 68148000 22.748143
233 2000-01-28 51.500000 51.937500 46.6250 47.375000 86394000 21.574103
234 2000-01-27 55.812500 56.687500 50.0000 51.812500 61054000 23.594896
235 2000-01-26 56.750000 58.937500 55.0000 55.062500 47569200 25.074914
236 2000-01-25 55.062500 57.500000 54.8750 56.437500 53059200 25.701075
237 2000-01-24 60.250000 60.375000 54.0000 54.187500 50022400 24.676448
238 2000-01-21 61.500000 61.500000 59.0000 59.687500 50891000 27.181093
239 2000-01-20 59.000000 60.250000 58.1250 59.250000 54526800 26.981860
240 2000-01-19 56.125000 58.250000 54.0000 57.125000 49198400 26.014156
241 2000-01-18 107.875000 114.500000 105.6250 111.250000 66780000 25.331071
242 2000-01-14 109.000000 111.375000 104.7500 106.812500 57078000 24.320674
243 2000-01-13 108.500000 109.875000 103.5000 105.062500 55779200 23.922208
244 2000-01-12 112.250000 112.250000 103.6875 105.625000 83443600 24.050286
245 2000-01-11 112.625000 114.750000 109.5000 112.375000 86585200 25.587228
246 2000-01-10 108.000000 116.000000 105.5000 115.750000 91518000 26.355698
247 2000-01-07 95.000000 103.500000 93.5625 103.375000 91755600 23.537972
248 2000-01-06 100.156197 105.000000 94.6875 96.000000 109880000 21.858722
249 2000-01-05 101.625000 106.375000 96.0000 102.000000 166054000 23.224892
250 2000-01-04 115.500000 118.625000 105.0000 107.687500 116824800 24.519907
251 2000-01-03 124.625000 125.187500 111.6250 118.125000 98114800 26.896
作者:readilen
链接:http://www.jianshu.com/p/18ee2e9a99c0
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
转载于:https://www.cnblogs.com/zhanglong8681/p/7569186.html
PyAlgoTrade Hello World 第一个程序(一)相关推荐
- Shiro第一个程序:官方快速入门程序Qucickstart详解教程
目录 一.下载解压 二.第一个Shiro程序 1. 导入依赖 2. 配置shiro配置文件 3. Quickstart.java 4. 启动测试 三.shiro.ini分析 四.Quickstart. ...
- 零起点学算法01——第一个程序Hello World!
零起点学算法01--第一个程序Hello World! Description 题目很简单 输出"Hello World!"(不含引号),并换行. Input 没有输入 Outpu ...
- 她,诗人拜伦之女,英国数学家,历史上第一位程序员
作者丨吴军 来源丨大数据文摘 摘自丨<信息论> 人类使用机械处理信息的尝试是由两个看似不该有交集的英国人开启的. 在英格兰中部莱斯特郡的柯比-马洛里庄园,住着一对母女. 1816年初那个多 ...
- python定义一个变量_Python新手上车3:Python第一个程序和变量
第一个程序 上节内容我们提到了如何安装Python 以及安装配置VSCode,这节内容我们继续介绍第一个程序的建立: 1.在VS的左上角点击建立一个新的程序,命名为 python_0301_code. ...
- 第一个程序01 - 零基础入门学习汇编语言20
第四章:第一个程序01 让编程改变世界 Change the world by program 引言 现在我们将开始编写完整的汇编语言程序,用编译器将它们编译成为可执行文件(如:*.exe文件),在操 ...
- java 怎么让一个jlabel和一个jtextfield在一行_今天小哥大家分享一下Java编程语言的第一个程序应该怎么样去写...
哈喽,各位朋友们大家周六好!我是你们的老朋友90小哥爱数码! 那么,今天小哥要和大家伙儿分享这篇文章的主要内容依然是和Java编程语言有关系,大家都知道在上几篇的文章当中呢小哥分别给大家介绍了Java ...
- java hello work_Java入门教程系列 – 第一个程序 “hello, world”
"Hello, World"程序指的是指在计算机屏幕上输出"Hello, World!"(意为"世界,你好!")这行字符串的计算机程序.一般 ...
- python windows窗口置顶_Python入门:第一个程序“Hello, world”
本文主要内容 安装Python 使用IDLE和基础交互模式 编写一个简单的程序 使用IDLE的Python shell窗口 本章将介绍Python和IDLE的下载.安装和启动过程,IDLE是Pytho ...
- Arduino可穿戴教程之第一个程序——上传运行程序(四)
Arduino可穿戴教程之第一个程序--上传运行程序(四) 2.4.5 上传程序 现在所有Arduino IDE的设置都完成了,我们就可以将示例程序上传到板子中了.这非常简单,只需要单击如图2.45 ...
最新文章
- 拦截器获取不到sesssion作用域的值_ES6--块级作用域
- 每日学习笔记(18)
- rman-incarnation
- Java并发编程举例Runnable, Callable, Future, FutureTask, CompletionService
- idea 代码第一次上传git_如何使用IDEA将项目代码首次上传至GitHub,并持续推送?...
- 微软推出Visual Studio Kubernetes工具包预览版
- 机器视觉对印刷业的影响
- python构造一个二叉树_二叉树-链表存储,用二叉树构造表达式(Python实现)
- winform 往第三方传值 put
- 关于浮点数的问题,我再做一个字体设置的时候总有问题,现在看了这个文章,受到了启发...
- 【编程题目】对于一个整数矩阵,存在一种运算,对矩阵中任意元素加一时,需要其相邻(上下左右)某一个元素也加一...
- python xml第三方库_我应该使用哪个python XML库?
- Ubuntu 突然不然联网解决方法
- 在Android Studio 中使用Assets资源文件
- vue+elementUI+后端springboot多用户评论、回复、点赞
- MySQL实战演练——如何才能构建逾期用户画像?【数据可视化】
- Java趣味编程(二)
- java web开发(servlet传递数据给jsp)
- Emacs 入门指引(一) Emacs简介
- PKCS#11及CSP接口标准
热门文章
- DIV焦点事件详解 --【focus和tabIndex】​
- C++通过GSoap访问webService
- apache +mod_jk URL中文乱码
- 诊断ORA-08103错误
- 中兴通讯ZXR10 T40G交换机telnet配置
- 一步一步学Silverlight 2系列(24):与浏览器交互相关辅助方法
- 使用python创建自己的第一个神经网络模型吧!
- Registry Release Traces 版本功能迭代和 issue bugfix
- 帝国备份语法错误问题
- Alamofire源码解读系列(九)之响应封装(Response)