2017-05-26 10 views
3

取引されたシリーズとベンチマークを手動で提供する再現可能なサンプルを作成したいと思います。これは、ziplineに近づいている人々の人生を信じられないほど容易にするでしょう。事実、Yahoo!Finance APIの最近のシャットダウンを考えると、Yahooから^ GSPCベンチマークをバックグラウンドでインポートしようとするとHTTPエラーが返されるため、ziplineの導入例はもう機能しません。結果として、現在、AFAIKで動作する公式チュートリアルのコードスニペットは1つではありません。Ziplineでベンチマークを手動で提供する方法

import pytz 
from pandas_datareader import DataReader 
from collections import OrderedDict 
from zipline.algorithm import TradingAlgorithm 
from zipline.api import order, record, symbol, set_benchmark 
# Import data from yahoo 
data = OrderedDict() 
start_date = '01/01/2014' 
end_date = '01/01/2017' 
data['AAPL'] = DataReader('AAPL', 
          data_source='google', 
          start=start_date, 
          end=end_date) 
data['SPY'] = DataReader('SPY', 
         data_source='google', 
         start=start_date, 
         end=end_date) 
# panel.minor_axis is ['Open', 'High', 'Low', 'Close', 'Volume']. 
panel = pd.Panel(data) 
panel.major_axis = panel.major_axis.tz_localize(pytz.utc) 

def initialize(context): 
    set_benchmark(data['SPY']) 

def handle_data(context, data): 
    order(data['AAPL'], 10) 
    record(AAPL=data.current(data['AAPL'], 'Close')) 

algo_obj = TradingAlgorithm(initialize=initialize, 
          handle_data=handle_data, 
          capital_base=100000) 
perf_manual = algo_obj.run(panel) 

戻り値:HTTPError: HTTP Error 404: Not Found

質問:ベンチマークとして取引資産及びSPYとしてAAPLを使用して動作するための戦略を作るためにどのように? 制約:例のようにAAPLとSPYを手動で提供する必要があります。

+1

Ziplineは代わりにGoogle Financeを使用しましたが、最新のリリースではありません。マスターから再インストールすることができますhttps://github.com/quantopian/zipline – user748455

+0

ZiplineのベンチマークはデフォルトでS&P 500のGoogleティッカーSPYになりました。 – user748455

答えて

0

これであなたrequirements.txtでジップラインを交換してください:

git+https://github.com/quantopian/zipline 

を次にpip install -r requirements.txt

1

免責事項を実行します。私は、ジップラインのメンテナです。

あなたはCSVファイル(チュートリアルhere)を摂取してからinitialize()機能にset_benchmark()への呼び出しを行うためにcsvdirバンドルを使用することができます。ベンチマークなしでziplineアルゴリズムを実行できるブランチを作成していますので、ベンチマークデータを取得できない場合でも、アルゴリズムはクラッシュしません。

関連する問題