2017-01-06 3 views
0

を作成し、私は次のコードを適用することによって、シンボルMACQのデータをダウンロードしようとしていますquantmod:しかし、私はエラー警告を取得しています getSymbols.yahoo("MACQ",.GlobalEnv,from="2010-02-02",to="2016-12-28")`getSymbols.yahoo`は、誤った日付(月の数)を使用し、不正なURL

を:あなたは、次のURLが使用されていることを、見ることができ、上記のメッセージから

Error in download.file(paste(yahoo.URL, "s=", Symbols.name, "&a=", from.m, : 
cannot open URL 'http://ichart.finance.yahoo.com/table.csv?s=MACQ&a=1&b=02&c=2010&d=11&e=28&f=2016&g=d&q=q&y=0&z=MACQ&x=.csv' 
In addition: Warning message: 
In download.file(paste(yahoo.URL, "s=", Symbols.name, "&a=", from.m, : 
cannot open URL 'http://ichart.finance.yahoo.com/table.csv?s=MACQ&a=1&b=02&c=2010&d=11&e=28&f=2016&g=d&q=q&y=0&z=MACQ&x=.csv': HTTP status was '404 Not Found' 

: 「http://ichart.finance.yahoo.com/table.csv?s=MACQ&a=1&b=02&c=2010&d=11&e=28&f=2016&g=d&q=q&y=0&z=MACQ&x=.csv

あなたは/これをコピー&ペーストした場合あなたは本当にYahoo!に遭遇するWebブラウザにURL 404見つからない問題。

URLを慎重に見れば、URLに不正な日付参照が使用されているため、無効なURLリンクが作成されていることがわかります。最初の「間違い」は、開始日(つまり月)がURLに1&bと書かれているが、02&bと書かれていて、終了月11&e12&eであるはずです。

だからリンク: http://ichart.finance.yahoo.com/table.csv?s=MACQ&a=1&b=02&c=2010&d=11&e=28&f=2016&g=d&q=q&y=0&z=MACQ&x=.csv

はこのように見ている必要があります。 http://ichart.finance.yahoo.com/table.csv?s=MACQ&a=02&b=02&c=2010&d=12&e=28&f=2016&g=d&q=q&y=0&z=MACQ&x=.csv

はなぜ間違った日付が使用され、どのようにそれを防ぐために?これは "MACQ"記号を使用する場合にのみ私に起こった。

+0

https://github.com/joshuaulrich/quantmod/issues;ここで 'quantmod'の問題を報告できるようです。そこにあなたのサンプルを投稿して、パッケージ作成者に直接連絡することを検討するかもしれません。 –

答えて

1

MACQ ticker on Yahooには多くの履歴がなく、日付が範囲外であるように見えます。 Google Financeはこれを裏付けるもので、2016年12月16日までの価格データの在庫しかないようです。

+0

はい、それは、多くの株式の日々の相場を特定の日付からダウンロードしたいと思うことです。私はそれのためのループを作成しました。しかし、データがダウンロードできない在庫に遭遇した場合、エラーが返され、ループ全体が停止されます。 これを防ぐため、url.exists()を適用してURLが利用可能かどうかを確認しています。 これはgetSymbolsと同じurl構造を作成しています。 MACQはurl.existsをバイパスすることができますが、何らかの理由でURLが変更されるため、getSymbolsに問題が発生します。 –

+0

@PatAmat:[この質問](http://stackoverflow.com/q/27892150/271616)の回答を参照してください。 tl; drは:tryを使ってエラーを捕捉し、ループを中断することなくテロップをスキップします。 –

+0

ありがとうございます。これは今私が探しているものです! –

0

URLの日付はではなく、で間違っています。月数になります(1ベースではありません)。

私はこのことがなぜ"MACQ"で起こるのかわかりませんが、利用可能な履歴のごくわずかです。 historical data page for MACQで最も古い観測値は2016-12-23です。 "MACQ"のすべてのデータをダウンロードすると、2017-01-03から2017-01-05までのみ取得できます。

getSymbols.yahooに直接電話することはできません(?getSymbols.yahooに記載されています)。

関連する問題