PyAlgoTrade Hello World 第一個程序(一)

本教程的目標是快速介紹PyAlgoTrade。PyAlgoTrade的目標是幫助您實現股票交易策略。假設您有一個交易策略的想法,而且您但願使用歷史數據進行評估,並查看其行爲方式,那麼PyAlgoTrade應該容許您以最小的努力來作到這一點。python

本教程是在UNIX環境中開發的,但將其適應Windows環境的步驟應該很簡單。

PyAlgoTrade有6個主要組件:測試

  • 策略(Strategies)
  • 數據集(Feeds)
  • 券商(Brokers)
  • DataSeries
  • 技術指標​
  • 優化

策略

這些是您定義的實現交易邏輯的類。什麼時候購買,什麼時候出售等優化

數據集

這些是提供抽象的數據。例如,您將使用CSV提要,從CSV(逗號分隔值)格式化的文件中加載條來將數據提供給策略。飼料不限於酒吧。例如,有一個Twitter Feed能夠將Twitter事件歸入交易決策。spa

券商​

經紀人負責執行訂單。code

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
來源:簡書
著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。開發

相關文章
相關標籤/搜索