第一节 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.896474
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,802评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,109评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,683评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,458评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,452评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,505评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,901评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,550评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,763评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,556评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,629评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,330评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,898评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,897评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,140评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,807评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,339评论 2 342

推荐阅读更多精彩内容