本教程的目标是快速介绍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 第一个程序(一)相关推荐

  1. Shiro第一个程序:官方快速入门程序Qucickstart详解教程

    目录 一.下载解压 二.第一个Shiro程序 1. 导入依赖 2. 配置shiro配置文件 3. Quickstart.java 4. 启动测试 三.shiro.ini分析 四.Quickstart. ...

  2. 零起点学算法01——第一个程序Hello World!

    零起点学算法01--第一个程序Hello World! Description 题目很简单 输出"Hello World!"(不含引号),并换行. Input 没有输入 Outpu ...

  3. 她,诗人拜伦之女,英国数学家,历史上第一位程序员

    作者丨吴军 来源丨大数据文摘 摘自丨<信息论> 人类使用机械处理信息的尝试是由两个看似不该有交集的英国人开启的. 在英格兰中部莱斯特郡的柯比-马洛里庄园,住着一对母女. 1816年初那个多 ...

  4. python定义一个变量_Python新手上车3:Python第一个程序和变量

    第一个程序 上节内容我们提到了如何安装Python 以及安装配置VSCode,这节内容我们继续介绍第一个程序的建立: 1.在VS的左上角点击建立一个新的程序,命名为 python_0301_code. ...

  5. 第一个程序01 - 零基础入门学习汇编语言20

    第四章:第一个程序01 让编程改变世界 Change the world by program 引言 现在我们将开始编写完整的汇编语言程序,用编译器将它们编译成为可执行文件(如:*.exe文件),在操 ...

  6. java 怎么让一个jlabel和一个jtextfield在一行_今天小哥大家分享一下Java编程语言的第一个程序应该怎么样去写...

    哈喽,各位朋友们大家周六好!我是你们的老朋友90小哥爱数码! 那么,今天小哥要和大家伙儿分享这篇文章的主要内容依然是和Java编程语言有关系,大家都知道在上几篇的文章当中呢小哥分别给大家介绍了Java ...

  7. java hello work_Java入门教程系列 – 第一个程序 “hello, world”

    "Hello, World"程序指的是指在计算机屏幕上输出"Hello, World!"(意为"世界,你好!")这行字符串的计算机程序.一般 ...

  8. python windows窗口置顶_Python入门:第一个程序“Hello, world”

    本文主要内容 安装Python 使用IDLE和基础交互模式 编写一个简单的程序 使用IDLE的Python shell窗口 本章将介绍Python和IDLE的下载.安装和启动过程,IDLE是Pytho ...

  9. Arduino可穿戴教程之第一个程序——上传运行程序(四)

    Arduino可穿戴教程之第一个程序--上传运行程序(四) 2.4.5  上传程序 现在所有Arduino IDE的设置都完成了,我们就可以将示例程序上传到板子中了.这非常简单,只需要单击如图2.45 ...

最新文章

  1. 拦截器获取不到sesssion作用域的值_ES6--块级作用域
  2. 每日学习笔记(18)
  3. rman-incarnation
  4. Java并发编程举例Runnable, Callable, Future, FutureTask, CompletionService
  5. idea 代码第一次上传git_如何使用IDEA将项目代码首次上传至GitHub,并持续推送?...
  6. 微软推出Visual Studio Kubernetes工具包预览版
  7. 机器视觉对印刷业的影响
  8. python构造一个二叉树_二叉树-链表存储,用二叉树构造表达式(Python实现)
  9. winform 往第三方传值 put
  10. 关于浮点数的问题,我再做一个字体设置的时候总有问题,现在看了这个文章,受到了启发...
  11. 【编程题目】对于一个整数矩阵,存在一种运算,对矩阵中任意元素加一时,需要其相邻(上下左右)某一个元素也加一...
  12. python xml第三方库_我应该使用哪个python XML库?
  13. Ubuntu 突然不然联网解决方法
  14. 在Android Studio 中使用Assets资源文件
  15. vue+elementUI+后端springboot多用户评论、回复、点赞
  16. MySQL实战演练——如何才能构建逾期用户画像?【数据可视化】
  17. Java趣味编程(二)
  18. java web开发(servlet传递数据给jsp)
  19. Emacs 入门指引(一) Emacs简介
  20. PKCS#11及CSP接口标准

热门文章

  1. DIV焦点事件详解 --【focus和tabIndex】​
  2. C++通过GSoap访问webService
  3. apache +mod_jk URL中文乱码
  4. 诊断ORA-08103错误
  5. 中兴通讯ZXR10 T40G交换机telnet配置
  6. 一步一步学Silverlight 2系列(24):与浏览器交互相关辅助方法
  7. 使用python创建自己的第一个神经网络模型吧!
  8. Registry Release Traces 版本功能迭代和 issue bugfix
  9. 帝国备份语法错误问题
  10. Alamofire源码解读系列(九)之响应封装(Response)